軟體包及yum倉庫建設
阿新 • • 發佈:2018-11-04
軟體包管理
程式包的來源
獲取程式包的途徑:
(1) 系統發版的光碟或官方的伺服器
CentOS映象:
https://www.centos.org/download/
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
(2) 專案官方站點
(3) 第三方組織:
Fedora-EPEL:
Extra Packages for Enterprise Linux
Rpmforge:RHEL推薦,包很全
搜尋引擎:
http://pkgs.org
http://rpmfind.net
http://rpm.pbone.net
https://sourceforge.net/
(4) 自己製作
注意:第三方包建議要檢查其合法性
來源合法性,程式包的完整性
[install-options] --test: 測試安裝,但不真正執行安裝,即dry run模式 --nodeps:忽略依賴關係 --replacepkgs| replacefiles --nosignature: 不檢查來源合法性 --nodigest:不檢查包完整性 --noscripts:不執行程式包指令碼 %pre: 安裝前指令碼--nopre %post: 安裝後腳本--nopost %preun: 解除安裝前指令碼--nopreun %postun: 解除安裝後腳本--nopostun
救援模式進入
getent +命令或者檔案或者使用者 看是否存在
例子 getent f1.txt 看f1是否存在
rpm -qpi 查詢還未安裝的包內的檔案
rpm -qi 查詢包的說資訊
rpm -q +命令名字 查詢命令版本號
rpm -ql +tree 查詢tree包裡有什麼檔案
rpm -q tree &> /dev/null ||rpm -ivh /cdrom/Package/tree-1.6.0-10.el7.x86_64.rpm 查詢tree軟體是否安裝,如果沒有安裝則安裝檔案
rpm -e +軟體名 解除安裝該軟體
rpm -upgrade 升級,一般情況下不用升級,直接解除安裝老版本安裝新版本
rpm --oldpackage 降級
rpm -ivh +軟體 + --force 強制安裝
rpm -qa | wc -l 查詢有多少個包
包校驗
包來源合法性驗正及完整性驗證
完整性驗證:SHA256
來源合法性驗證:RSA
公鑰加密
對稱加密:加密、解密使用同一金鑰
非對稱加密:金鑰是成對兒的
public key: 公鑰,公開所有人
secret key: 私鑰, 不能公開
匯入所需要公鑰
rpm -K|checksigrpmfile檢查包的完整性和簽名
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
CentOS 7發行版光碟提供:RPM-GPG-KEY-CentOS-7
rpm -qa“gpg-pubkey*”
查詢CentOS-7的完整性和簽名
cat /misc/cd/RPM-GPG-KEY-CentOS-7 獲取centos7公鑰
rpm --import /misc/cd/RPM-GPG-KEY-CentOS-7 匯入公鑰到系統
rpm -K +軟體包 顯示出pgp md5 ok 查詢完整性和簽名
YUM
常用命令
yum install remove list info search groupinstall grouplist groupremove history
yum clean all
yum server
yum repo 倉庫
包含*.rpm 包和 matadata 源資料(.rpm包需要的資料)
安裝檔案 yum install +包的名字,不用補全
yum倉庫建設************基於httpd服務的客戶端倉庫
新建一臺虛擬機器作為倉庫
進入虛擬機器輸入
cd /etc/yum.repo.d/
df #查詢光碟掛載位置
ls /misc/
ls /misc/cd #觸發光碟掛載到/misc/cd(神奇目錄)
df
mkdir bak
mv *.repo bak/ 備份原來的repo
ls 然後看資料夾repodata在哪個目錄,就將其所在的目錄作為repo的路徑
ls /misc/cd 看到repodata在這個路徑,就將/misc/cd作為repo的路徑
vim base.repo
寫入
[base]
name=aliyun 或者bendiyuan 名字隨便
baseurl=file:///misc/cd/ (http:// https:// ftp:// file://)網路源用http,(如阿里 https://mirrors.aliyun.com/centos/7/os/x86_64/)(6.7通用版本阿里源https://mirrors.aliyun.com/centos/$releasever/$basearch )本地源用file (******$releasever/$basearch***********$代表系統版本和架構)
gpgcheck=0 忽略完整性檢查
wq儲存
repo本地包
yum倉庫建設***********基於httpd服務的伺服器倉庫
yum install httpd
cd /var/www/html
yum -ql httpd|grep service
systemctl start httpd #瀏覽器輸入虛擬機器IP地址測試伺服器是否執行 http://192.168.221.129/
pwd 查詢是否在/var/www/html
echo 浩哥在此! > index.html # http://192.168.221.129/ https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/ #使用清華源映象
/var/www/html
/var/www/html/centos/7/os/x86_64/
/var/www/html/centos/6/os/x86_64/
mkdir -pv centos/{6,7}/os/x86_64/ #建立目錄
#在瀏覽器輸入http://192.168.221.129/centos/ 即可看到和清華源映象一樣的目錄結構
mount /dev/sr0 /var/www/html/centos/7/os/x86_64/
進入http://192.168.221.129/centos/7/os/x86_64/ #可看到光碟映象已上傳
vim /etc/yum.repos.d/base.repo
寫入
[base]
name=centos
baseurl=file:///misc/cd/
#baseurl=http://192.168.221.129/centos/7/os/x86_6 IP地址非固定
gpgcheck=0
[epel]
name=EPEL
baseurl=https://mirrors.aliyun.com/centos/$releasever/$basearchl
gpgcheck=0
enabled=0
輸入wq儲存
yum repolist
yum clean all
systemctl start httpd 啟動服務
yum remove + 安裝包的名稱 解除安裝包
yum repolist 列出倉庫列表
yum grouplist 查詢包組
常用包組Development tools
yum groupinstall "Development tools"安裝包組
解除安裝多餘網絡卡