linux程序包管理:
API:數據接口
ABI:應用程序二進制接口
庫級別的虛擬化:
linux:wine
windows:cywin
系統級開發: c/c++ :httpd,nginx,vsftpd,go
應用級開發:java python perl php
c/c++程序格式:
源代碼:文本格式的程序代碼;
編譯開發環境:編譯器,頭文件,開發庫
二進制格式:文本格式的程序代碼–>編譯器–>二進制格式
開發環境:編譯器,開發庫
程序包管理器:
源代碼–>目標二進制格式–>組織成為一個或有限幾個“包”文件;
協助安裝,升級,卸載,查詢,校驗
程序包管理器
debian: dpt,dpkg “.deb”
rehat : rpm “.rpm”
suse : rpm,
前段工具:自動解決依賴關系:
yum:rpm包管理的前段工具
apt-get:deb包管理器的前段工具
zypper:suse的rpm管理器前端工具
dnf:也是一種rpm包管理器的前端工具
查看二進制程序所依賴的庫文件 ldd /PATH/TO/BINARY_FILE
獲取程序包的途徑:
系統發行版的光盤或官方的文件服務器(或鏡像站點)
http://mirrors.aliyun.com
http://mirror.sohu.com
http://mirror.163.com
項目的官方站點
第三方組織:EPEL
搜索引擎:http://pkgs.org
http://rpmfind.net
http://rpm.phone.net
自己動手,豐衣足食
建議:檢查其合法性
來源合法性
程序包的完整性
centos系統上rpm命令管理程序包:
安裝,升級,卸載,查詢和校驗,數據庫維護
rpm命令:
-i :安裝
-u :升級
-e :卸載
-q :查詢
-v :校驗
–builddb:數據庫維護
–test:測試安裝,檢查并報告依賴關系及沖突消息等
–nodeps:忽略依賴關系,不建議
–replacepkgs:重新安裝
升級:
rpm -u :升級或安裝
-f :只升級
rpm -uvh
–oldpackage: 降級
–force : 強制升級
注意:(1)不要對內核做升級操作,linux支持多內核版本并存,因此,直接安裝新版本
(2)如果某原程序包的配置文件安裝后曾被修改過,升級時,新版本的程序提供的同一個配置文件不會覆蓋原版本的配 置文件,而是把新版本的配置文件重命名后提供;
卸載: 直接給包名即可
rpm -e :卸載
–allmatches:卸載所有匹配指定名稱的程序包的各版本
–nodeps :忽略依賴關系
–test : 測試卸載
查詢: rpm -qa -qc -ql 等
rpm -q :查詢
-a :查詢所有已經安裝過的包
-f file :查詢指定的文件由哪個程序包安裝生成
-l :程序包安裝生成的所有文件列表
-i : 程序包相關信息,版本號,大小,所屬的包組等
-c : 查詢指定的程序包提供的配置文件
-d : 查詢指定的程序包提供的文檔
-p : 指定未安裝的包文件做查詢操作
校驗: rpm -v filenam
包來源合法性驗證和完整性驗證:
獲取并導入信任的包制作者的秘鑰
驗證:
安裝此組織簽名的程序時,會自動執行驗證;
手動驗證:rpm -k packagefile
數據庫重建:
rpm管理器數據庫路徑:/var/lib/rpm rpm –initdb 初始化 如果 事先不存在數據庫,則新建之否則
查詢操作:通過此處的數據庫進行; rpm –rebuliddb 重建已安裝的包的數據庫索索引
獲取幫助:
man rpm centos6
man rpmdb centos7
YUM: Yellowdog Update Modifier ,rpm 的前端程序,可解決軟件包相關依賴性,可在多個庫之間定位軟件包,up2date
的替代工具
yum repository: yum repo ,存儲了眾多rpm 包,以及包的相關的元數據文件(放置于特定目錄repodata 下)
文件服務器:
ftp://
http://
file://
yum 客戶端配置文件:
/etc/yum.conf :為所有倉庫提供公共配置
/etc/yum.repos.d/*.repo :為倉庫的指向提供配置
配置格式: [repositoryID]
baseurl=ftp:// 或者http:// file://
gpgcheck=0 不檢查簽名
yum repolist 檢查是否成功 ,會顯示具體信息
ftp服務器創建yum源:
rpm -ivh /mnt/P… vsftp 安裝FPT服務
service vdftpd start 開啟FTP服務
systemctl start vsftpd.service centos7 開啟FPT
iptables -F 清除防火墻
-vnL 查看防火墻
setenforce 0 禁用selinux
mkdir /var/ftp/pub/6 光碟掛載路徑
mount -o loop centos.iso /var/ftp/pub/ 生產
mount –bind /misc/cd/ /var/ftp/pub/ 實驗
http://server/centos/$releasever/$basearch/ 通用格式
經過查找幫助: 以上設置最好設置開機自動啟動:
開機自動掛載光碟:/etc/fstab
格式 /dev/cdrom /var/ftp/pub/ iso9660 auto 0 0
自動開啟FPT服務:chkconfig vsftpd on
自動關閉防火墻: chkconfig iptables off
開機關閉selinux:vim /etc/sysconfig/selinux 把第七行改成permissive (打開文件里面有說明的)
yum history 查看以前yum安裝信息
yum history info # 具體查看某信息
yum history undo # 撤銷#此次操作, 可以把曾經安裝過的依賴包都卸載
原創文章,作者:shewei,如若轉載,請注明出處:http://www.www58058.com/70663