RHEL7(124)安裝和更新軟體包
阿新 • • 發佈:2019-02-19
安裝和升級軟體包
rpm 第一個選項決定功能
-q 查詢 -qa 查詢系統中安裝了哪些軟體包 rpm -qa |grep lrzsz
-ql 包名(不包括字尾.rpm) 檢視此包安裝到哪裡去了
-qc 包名 檢視此軟體包的配置檔案在哪
-qd 包名 檢視幫助文件
-qi 包名 檢視軟體包的資訊
安裝會產生很多個檔案,分佈在不同的目錄裡,
-qf file 檢視此檔案是由哪個包安裝得來的
以上都是檢視已經安裝過的包名 加-p 就可以檢視未安裝的安裝包的資訊
-qpi 安裝包(包括.rpm字尾) 檢視未安裝的安裝包的資訊。
rpm -e vsftpd 解除安裝
rpm -ivh vsftpd-3.0.xx.x.rpm
-e 是解除安裝 -i 是安裝
-Uvh xxx.rpm U是更新軟體
對於普通的軟體包來說,不能多版本共存
若想安裝新版本,需要先解除安裝舊版本,再安裝新版本。
或者直接用 -Uvh 更新軟體包。其實更新也是先解除安裝,再安裝的過程
核心除外。核心是可以多版本共存的。
核心不建議使用 -Uvh 更新, 要使用-ivh
uname -r 檢視當前核心版本
作業:自己練習 rpm -Uvh kernel
rpm -K xxx.rpm 對軟體包驗證是否是紅帽提供
這裡用到了數字簽名 私鑰加密,公鑰解密
雜湊函式: 輸入一個不定長的值,總能得到一個定長的值
A 先使用雜湊函式(例如用md5),對傳輸資料取得雜湊值 ,然後用A 的私鑰對雜湊值加密
A把原始檔(源傳輸資料)和加密後的雜湊值傳遞給B
B使用A的公鑰對加密後的雜湊值解密。然後用和A同樣的雜湊函式對原始檔取雜湊值
然後對比自己雜湊出來的值 和 用A公鑰解密出來的雜湊值是否一樣
若一樣,則成功。
先匯入紅帽公鑰才能驗證
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
rpm -qa |grep gpg-pubkey 查詢是否有公鑰匯入
rpm -V xxx 檢視此軟體安裝後生成的安裝檔案是否有被修改過
若有修改,則顯示出來。當刪除此軟體的時候,被修改的檔案會被儲存起來,而不會被刪除
--force 強制安裝
--nodeps 不驗證軟體依賴
不建議使用 --nodeps 裝了也不能用,自欺欺人
yum
配置YUM 伺服器端
setenforce 0 SElinux 關閉
iptables -F 關閉防火牆
ftp/http/nfs 都可以
rpm -ivh vsftpd-xxx.rpm
systemctl start vsftpd
cd /var/ftp/
mkdir cdrom 建立一個資料夾cdrom
cp -rf /iso/* cdrom/ 把光盤裡的東西都cp進來。 光碟事先掛載在/iso 下了
伺服器需要記錄每一個軟體包的源資料,記載了軟體對的依賴關係等
光盤裡有個repodata 目錄,記錄了光盤裡的所有RPM包的資訊,這個目錄解決了同級目錄下的RPM包的依賴關係
createrepo -v /var/ftp/ 這個命令會讀取ftp資料夾下所有的rpm包,然後將資訊記錄下來,生成一個repodata目錄. 關盤裡那個repodata目錄也是這麼生成的
客戶端配置
cd /etc/yum.repos.d/ 此目錄預設是空的。
在此目錄裡建立一個xx.repo的檔案
vim xx.repo
[aa] 此名字為yum源名字,隨便起
name=aaa 註釋資訊。也隨便
baseurl=ftp://xxx.xxx.xx.x/cdrom repodata所在的目錄
enabled=1 表示此源管用, 0 表示不管用
gpgcheck=0 表示不對源做驗證
[bb]
xxx
xx 可以繼續往下寫第二個源
####ftp://xxx.xxx.xx.x/ 表示的是/var/ftp 這是ftp服務的根目錄
yum clean all 清除快取
yum repolist 檢視可用的yum源
#######3載入外掛是放在 pluginconf.d/rhnplugin.conf 裡的 把enable=1改為=0就把外掛都關了
客戶端使用yum
1 安裝某個包之前先查詢是否安裝過了
yum search vsftpd 在yum源裡查詢是否有此包 有不代表一定能安
yum list vsftpd 檢視是否有可安裝的包
--disablerepo=xx 禁用xx源 --enablerepo=aa 啟用aa源
yum install vsftpd 安裝
yum remove vsftpd 解除安裝
yum update 更新
-y 選項:不用互動,不用在安裝過程中回答 yes 或no 直接預設安裝
yum info vsftpd 檢視包資訊
yum install vsftpd --downloadonly --downloaddir=/aa 只下載不安裝。下載到/aa中
原本安裝的時候是預設把包下載到快取中,安裝後包是會被刪除的
yum whatprovides */smbpasswd 在源中查詢那個包安裝後能生成smbpasswd
yum grouplist 虛擬化* 找虛擬化包組
yum groupinstall 虛擬化包組 安裝包組
作業 安裝好系統後,會經常提示你註冊系統服務什麼的。解除安裝掉它!!
yum list subscript\*
解除安裝上述命令列出的包
/etc/yum.repos.d/ 這個目錄中有的時候會生成一個xxxx.repo的檔案
紅帽自帶的源不能用,這是紅帽的源。。這時候你自己配的源也不能用了。
把除了自己寫的.repo源刪除
chattr +i /etc/yum.repos.d/ 或者把這個目錄設定為不能再增加內容
fedora 社群提供了一個epel 源
下載epelxxx.rpm包。安裝這個包
這時候yum源目錄裡就會多出epel 源配置 這時候就聯網能安裝這個源裡的包
pkgs.org
如果epel裡也沒有 可以去這個網站下載。這也是國外的站
或者去centos 源裡安裝或者網際網路上的其他源
rpm 第一個選項決定功能
-q 查詢 -qa 查詢系統中安裝了哪些軟體包 rpm -qa |grep lrzsz
-ql 包名(不包括字尾.rpm) 檢視此包安裝到哪裡去了
-qc 包名 檢視此軟體包的配置檔案在哪
-qd 包名 檢視幫助文件
-qi 包名 檢視軟體包的資訊
安裝會產生很多個檔案,分佈在不同的目錄裡,
-qf file 檢視此檔案是由哪個包安裝得來的
以上都是檢視已經安裝過的包名 加-p 就可以檢視未安裝的安裝包的資訊
-qpi 安裝包(包括.rpm字尾) 檢視未安裝的安裝包的資訊。
rpm -e vsftpd 解除安裝
rpm -ivh vsftpd-3.0.xx.x.rpm
-e 是解除安裝 -i 是安裝
-Uvh xxx.rpm U是更新軟體
對於普通的軟體包來說,不能多版本共存
若想安裝新版本,需要先解除安裝舊版本,再安裝新版本。
或者直接用 -Uvh 更新軟體包。其實更新也是先解除安裝,再安裝的過程
核心除外。核心是可以多版本共存的。
核心不建議使用 -Uvh 更新, 要使用-ivh
uname -r 檢視當前核心版本
作業:自己練習 rpm -Uvh kernel
rpm -K xxx.rpm 對軟體包驗證是否是紅帽提供
這裡用到了數字簽名 私鑰加密,公鑰解密
雜湊函式: 輸入一個不定長的值,總能得到一個定長的值
A 先使用雜湊函式(例如用md5),對傳輸資料取得雜湊值 ,然後用A 的私鑰對雜湊值加密
A把原始檔(源傳輸資料)和加密後的雜湊值傳遞給B
B使用A的公鑰對加密後的雜湊值解密。然後用和A同樣的雜湊函式對原始檔取雜湊值
然後對比自己雜湊出來的值 和 用A公鑰解密出來的雜湊值是否一樣
若一樣,則成功。
先匯入紅帽公鑰才能驗證
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
rpm -qa |grep gpg-pubkey 查詢是否有公鑰匯入
rpm -V xxx 檢視此軟體安裝後生成的安裝檔案是否有被修改過
若有修改,則顯示出來。當刪除此軟體的時候,被修改的檔案會被儲存起來,而不會被刪除
--force 強制安裝
--nodeps 不驗證軟體依賴
不建議使用 --nodeps 裝了也不能用,自欺欺人
yum
配置YUM 伺服器端
setenforce 0 SElinux 關閉
iptables -F 關閉防火牆
ftp/http/nfs 都可以
rpm -ivh vsftpd-xxx.rpm
systemctl start vsftpd
cd /var/ftp/
mkdir cdrom 建立一個資料夾cdrom
cp -rf /iso/* cdrom/ 把光盤裡的東西都cp進來。 光碟事先掛載在/iso 下了
伺服器需要記錄每一個軟體包的源資料,記載了軟體對的依賴關係等
光盤裡有個repodata 目錄,記錄了光盤裡的所有RPM包的資訊,這個目錄解決了同級目錄下的RPM包的依賴關係
createrepo -v /var/ftp/ 這個命令會讀取ftp資料夾下所有的rpm包,然後將資訊記錄下來,生成一個repodata目錄. 關盤裡那個repodata目錄也是這麼生成的
客戶端配置
cd /etc/yum.repos.d/ 此目錄預設是空的。
在此目錄裡建立一個xx.repo的檔案
vim xx.repo
[aa] 此名字為yum源名字,隨便起
name=aaa 註釋資訊。也隨便
baseurl=ftp://xxx.xxx.xx.x/cdrom repodata所在的目錄
enabled=1 表示此源管用, 0 表示不管用
gpgcheck=0 表示不對源做驗證
[bb]
xxx
xx 可以繼續往下寫第二個源
####ftp://xxx.xxx.xx.x/ 表示的是/var/ftp 這是ftp服務的根目錄
yum clean all 清除快取
yum repolist 檢視可用的yum源
#######3載入外掛是放在 pluginconf.d/rhnplugin.conf 裡的 把enable=1改為=0就把外掛都關了
客戶端使用yum
1 安裝某個包之前先查詢是否安裝過了
yum search vsftpd 在yum源裡查詢是否有此包 有不代表一定能安
yum list vsftpd 檢視是否有可安裝的包
--disablerepo=xx 禁用xx源 --enablerepo=aa 啟用aa源
yum install vsftpd 安裝
yum remove vsftpd 解除安裝
yum update 更新
-y 選項:不用互動,不用在安裝過程中回答 yes 或no 直接預設安裝
yum info vsftpd 檢視包資訊
yum install vsftpd --downloadonly --downloaddir=/aa 只下載不安裝。下載到/aa中
原本安裝的時候是預設把包下載到快取中,安裝後包是會被刪除的
yum whatprovides */smbpasswd 在源中查詢那個包安裝後能生成smbpasswd
yum grouplist 虛擬化* 找虛擬化包組
yum groupinstall 虛擬化包組 安裝包組
作業 安裝好系統後,會經常提示你註冊系統服務什麼的。解除安裝掉它!!
yum list subscript\*
解除安裝上述命令列出的包
/etc/yum.repos.d/ 這個目錄中有的時候會生成一個xxxx.repo的檔案
紅帽自帶的源不能用,這是紅帽的源。。這時候你自己配的源也不能用了。
把除了自己寫的.repo源刪除
chattr +i /etc/yum.repos.d/ 或者把這個目錄設定為不能再增加內容
fedora 社群提供了一個epel 源
下載epelxxx.rpm包。安裝這個包
這時候yum源目錄裡就會多出epel 源配置 這時候就聯網能安裝這個源裡的包
pkgs.org
如果epel裡也沒有 可以去這個網站下載。這也是國外的站
或者去centos 源裡安裝或者網際網路上的其他源