第09天 [yum倉庫和編譯安裝]

misc 文件打不開解決辦法
	yum install autofs -y 
 	systemctl start autofs
	systemctl enable autofs

1、安裝時提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de: NOKEY
解決的方法就是在rpm 語句後面加上 --force --nodeps
2.要是無法解決,可以先mount /dev/sr0 /mnt            yum源配置在mnt下面
	
模擬刪除啓動救援模式
	ldd /bin/cp ldd 是查找依賴庫
	首先在家目錄下面 mv /lib64/libc.so.6 .  移動到當前文件夾下面
	此時執行mv命令後就不會成功,這時候啓動救援模式。
	啓動界面時候按ESC鍵->CD-ROM Drive ->troubleshooting->bescue a Centos system->此時選擇
	1continue   執行命令 mv  /mnt/sysimage/root/libc.so.6  /mnt/sysimage/lib64  修復完之後exit退出
	如果rpm包不小心刪除了,那麼我在救援模式下執行 rpm -ivh /run/install/repo/Packages/rpm-3......rpm  --root=/mnt/sysimage就可以成功安裝
	切記一定要指定root 。
	
	如果執行ls 所看到的所有文件全部是掛載光盤的文件。

rpm包管理
	所在數據庫/var/lib/rpm
	管理程序包的方式:
	使用包管理器:rpm
	使用前端工具:yum, dnf
	獲取程序包的途徑:
	(1) 系統發版的光盤或官方的服務器
	CentOS鏡像:
	https://www.centos.org/download/
	http://mirrors.aliyun.com
	http://mirrors.sohu.com
	http://mirrors.163.com
	(2) 項目官方站點
	
	-i:install ,安裝
	-v:verbose,顯示詳情
	-h:顯示進度條
	-e:erase,刪除(卸載)
	-U upgrade,升級
	upgrade:安裝有舊版程序包,則“升級”
	如果不存在舊版程序包,則“安裝” Uvh
	freshen:安裝有舊版程序包,則“升級”
	如果不存在舊版程序包,則不執行升級操作 Fvh
	--force強制安裝(不能用於強制卸載)
	--test: 測試安裝,不真正執行安裝。
	--nodeps:忽略依賴性(一般不忽略)
	--oldpackage 降級安裝(一般不降級)
	--replacepkgs 覆蓋安裝 
	--rpm2cpio 包文件|cpio –itv 預覽包內文件

	內核安裝默認是不覆蓋安裝的,裝了多個kernel,可以修改grub.conf修改默認啓動內核順序。
	可以rpm -e卸載舊的kernel
	查詢
	rpm -q PackageName查詢某個包
	rpm -qa 查詢已安裝的所有包
	rpm -qa |grep xxx 模糊過濾
	rpm -qf FILE 硬盤上的文件(file)是來自於哪個rpm包(可以是二進制程序,也可以是配置文件等)
	rpm -qi xxx.rpm 查詢安裝包詳細信息(information)
	rpm -ql xxx.rpm 查看某個包安裝後在系統裏的所有文件
	rpm -qc xxx 查詢安裝包後的配置(config)文件位置
	rpm -q --scripts查詢程序自帶的腳本

	rpm校驗

	rpm --import xxx/yyy/RPM-GPG-KEY-CentOS-7:導入包完整性校驗文件
	rpm -K xxxxx.rpm校驗某個包

	查找安裝gpg-pubkey
	rpm -qa "gpg-*"

yum 倉庫
	/etc/yum.conf:爲所有倉庫提供公共配置
	/etc/yum.repos.d/*.repo:爲倉庫的指向提供配置
	yum repolist 可以列出所有倉庫的文檔
        yum install epel-release 安裝紅帽源

	/etc/yum.conf            yum 的公共配置文件
	/etc/yum.repos.d/*.repo 具體的每個倉庫的配置,分開文件是爲了方便管理和配置。
	/var/log/yum.log  日誌文件
	常用指令
	yum repolist 列出所有倉庫
	yum list 查看所有的包
	yum clean all    清除所有緩存(如果還清不了,可以手動刪除rm -rf /var/cache/yum)
	yum makecache    創建yum緩存
	yum -y install xxx yyy zzz
	yum remove  刪除
	yum search httpd 搜索httpd相關安裝包
	yum history  
	yum history info 11 查看具體安裝歷史
	yum history undo 11 撤銷
	yum history redo 11 重做
yum -y remove httpd 卸載一個軟件時
rpm -ivh ntp-0.7.rpm  安裝
rpm -e ntp-0.7.rpm 卸載
rpm -U ntp-0.7.rpm 更新
rpm -Uvh *.rpm  下載到鏡像倉庫
repoquery -ql   包名  查看yum依賴包  
	切記yum出問題一般是兩個問題
	1.格式寫錯
	2.緩存問題 yum clean all 

	在/etc/yum.repos.d/下面vim base.repo   (ls /misc/cd  要有 repodata)
	vim base.repo
	基本 格式
	[base]
	name=base
	baseurl=file:///misc/cd 
	gpgcheck=0    --0是不檢查
	enable=1   --1是啓用0是禁用

----------------------------以下爲linux中的代碼---------------------------------------------------------------------------
[root@Centos7 yum.repos.d]#cat base.repo 
[base]
name=cdrom base
baseurl=file:///misc/cd
gpgcheck=0
[root@Centos7 yum.repos.d]#cat epel.repo 
[epel]
name=aliyunepel
baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch/
#baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgkey=https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/RPM-GPG-KEY-CentOS-7
gpgcheck=0
enable=1

--------------------------------------------------------------------------------------------------
首先把目錄掛載上 mount /dev/sr0 /mnt
[root@Centos7 yum.repos.d]#cat base.repo  # 上面的如果不行試試這個。
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
-------------------------------------------------------------------------------------------------------
http安裝
	yum install httpd
	systemctl start httpd
	之後在網頁中輸入ip既可以訪問
	目錄文件在 /var/www/html
	在html 下面新建文件夾 mkdir centos/{6,7}/os/x86x64/ -pv
	然後進入網頁寫下http://192.168.41.105/centos/  
	就會自動跳轉到目錄下,如果僅僅是寫ip的話那麼網址還是沒有變化。
	之後掛載到dev下面爲以後創建本地yum源作條件
	mount /dev/sr0 7/os/x86x64/     --我是在/var/www/html/centos/   下面所以直接掛載
------------------------------本地yum-----------------------------------------------------------
[root@Centos7 yum.repos.d]#cat test.repo 
[test]
base=localhttp
baseurl=http://192.168.41.105/centos/7/os/x86x64/
gpgcheck=1
gpgkey=http://192.168.41.105/centos/7/os/x86x64/RPM-GPG-KEY-CentOS-7
-----------------------------------------------------------------------------------------
編譯安裝
	Application-VERSION-release.src.rpm --> 安裝後,使用rpmbuild命令製作
	成二進制格式的rpm包,而後再安裝
	源代碼-->預處理-->編譯-->彙編-->鏈接-->執行
	C語言源代碼編譯安裝三步驟:
	 1、./configure
	(1) 通過選項傳遞參數,指定啓用特性、安裝路徑等;執行時會參考用戶的
	指定以及Makefile.in文件生成Makefile
	(2) 檢查依賴到的外部環境,如依賴的軟件包
	 2、make 根據Makefile文件,構建應用程序
	 3、make install 複製文件到相應路徑
	也可以寫成這樣更酷的單行方式 ./configure && make && make install
	開發工具:
	autoconf: 生成configure腳本
	automake:生成Makefile.in
	注意:安裝前查看INSTALL,README
	yum search apr  可以查看所有的依賴包


        rm -f /var/run/yum.pid   可以解決進程出錯實際沒有進程


yum查看相關安裝包
相關網址https://blog.csdn.net/weixin_38601833/article/details/98628078
yum -y install yum-utils
repoquery -ql <package_name>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章