linux學習筆記之軟件包管理
軟件包管理
軟件包組成
二進制程序
配置文件
單文件
將主配置文件切割成多個小文件,並放置於某個目錄中。
/etc/profile ,/etc/profile.d/*
/etc/pam.conf , /etc/pam.d/*
單文件,在內部分割成多個片段。
[mysql] [mysqld]...
庫文件: 二進制 可執行 函數(c程序都由函數組成) 共享模塊
靜態庫
動態庫
幫助文件
手冊頁
文檔(/usr/share/doc)
/bin /sbin 系統啓動使用
/usr/bin /usr/sbin 大多數軟件
/usr/local/bin /usr/local/sbin 第三方軟件
操作系統啓動文件都在/上 redhat6以後/usr也不可獨立分區.
爲減小/bin /sbin 大小 部分系統啓動文件也放在/usr/bin /usr/sbin上。
第三方軟件比較多時可以獨立分出/usr/local
庫文件
/lib /lib64 /usr/lib
/etc/ld.so.conf.d/*.conf
系統找不到/usr/local下的庫文件 /etc/ld.so.conf so shared object
在/usr/local/lib 下的庫文件 在建立/etc/ld.so.conf.d/xxx.conf 存放
搜索路徑。系統的則寫入/etc/ld.so.conf
/etc/httpd/ httpd軟件的
幫助文件:
/usr/share/man
/etc/man.conf 指定man到哪裏找man文件 doc
/usr/share/doc
頭文件;
/usr/include
kernel glibc app os三大組成部分
glibc c語言標準通用庫
硬件架構:
x86 x64 poverpc sparc arm
二進制程序: 有格式 特定於硬件平臺(編譯器自身在軟件編譯時在特定平臺上的運行進行優化)
name-version-release-.arch.rpm
version: 3.2.4
major minor release
32bit x86
i386 i486 i586 i686
64bit x86
x86_64
noarch.rpm 平臺無關 平臺文件
name-version:主包
name-subname-version:子包
name-devel-version: 庫文件 頭文件
循環依賴的需同時安裝。
yum: yellowdog update modifier rpm前端
yum依賴於rpm 是其升級版。
dpkg -----> apt-get
rpm----->deb
rpm包 rpm yum
源碼包 編譯安裝
製作好的二進制包壓縮包,解壓後配置使用。
mysql mongoDB
rpm install ---------------> rpm -i pkg1 pkg2 ...... // path
rpm eraser ---------------> rpm -e pkg1 ....
rpm update ---------------> rpm -U | -F pkg1....
rpm verify ---------------> rpm -V pkg1.....
rpm query ---------------> rpm -q ...
install:
rpm -i
-v verbose
-h # progress
--test
--nodeps 忽略依賴
--replacepkgs
--force 無視衝突。
before install pre
after install post 收尾
卸載之前 preun
卸載之後 postun
uninstall:
rpm -e pks1 被依賴不可卸載。
rpm -e php-cli
update :
F freshing 無old,則不new
U update 無old,則安裝new
--oldpackages
內核不應該升級安裝。 內核允許多版本並存。
query:
rpm -q
rpm -qi
簽名:單向加密 提取數據的指紋信息 數據特徵
如果原數據一樣,結果數據一定一樣
雪崩效應,原數據有一點點不同,結果大不同。
rpm 提取特徵碼,附加在軟件包上。 官方使用自己的私鑰。
私鑰加密,公鑰解密。
篡改則破壞特徵碼.私鑰。
公鑰解密得到官方提供的特徵碼,自己再使用同樣的方法提取特徵碼
,並比較和解密出來的特徵碼是否一致。
rpm -ql pkg1 list 顯示安裝哪些文件
rpm -qf file 根據文件查rpm包
rpm -qc pkg 查看配置文件
rpm -qd pkg 查看文檔 man readme install
rpm -a --scripts pkg1 執行安裝的腳本 內置腳本
還未裝則加 p 參數
rpm -V pkg1
rpm -K pkg1 檢查簽名
rpm --import key1 導入公鑰 /etc/pki/rpm-gpg/xxx
沒簽名 sha1 md5 ok
sha1 md5 數據包完整校驗
--nodigest 不檢查單向加密 sh1 md5
--nosignature 不檢驗簽名信息 gpg dsa
重建rpm數據庫
/var/lib/rpm
*db* 鎖文件
其它的是鎖文件
rpm --initdb 被刪除 或不存在 存在則不覆蓋
rpm --rebuilddb 覆蓋 重建
源碼製作成rpm包
yum
route rpm包集合 xml文檔 元數據文件
redhat5 包分開存放:
server 常用的基本軟件
/repodata yum源信息 父目錄即倉庫
Cluster 集羣
ClusterStore 集羣存儲相關
VT
yum源何在
下載到本地緩存 元數據緩存到本地
協議3種:
本地 file:///協議
遠程服務器 ftp:// http://
yum倉庫:
rpm包
repodata/目錄 xml文件 只有包含此目錄爲其子目錄的那個路徑纔可以用作yum源
repomd.xml 保存時間戳 看是否有變化
primary.xml.gz 當前yum倉庫內每一個rpm包的名字及彼此之間的依賴關係:
此外還包含每一個rpm包能夠安裝生成的文件;
filelists.xml.gz: 所有rpm包包含的安裝生成文件的文件列表。
other.xml.gz : 額外信息 主要包含rpm包的chnagelog;
rpm包包組的定義
yum 配置文件 子命令
/etc/yum.conf/*
/etc/yum.repos.d/*
/etc/yum/pluginconf.d/*
全局配置 分段配置
全局 /etc/yum.conf
yum
yum repolist
yum list { installed | available | updates | all }
yum clean { all | packages | metadata} // /var/cache/yum
yum grouplist
yum groupinfo "group_name"
yum info "PKG_NAME"
provides FILE
install -y
remove
update
groupinstall
localinstall
reinstall
check-update
install createrepo
createrepo dir
--nogpgcheck
createrepo
redhat6
Package
server
createrepo -g xxx
軟件包組成
二進制程序
配置文件
單文件
將主配置文件切割成多個小文件,並放置於某個目錄中。
/etc/profile ,/etc/profile.d/*
/etc/pam.conf , /etc/pam.d/*
單文件,在內部分割成多個片段。
[mysql] [mysqld]...
庫文件: 二進制 可執行 函數(c程序都由函數組成) 共享模塊
靜態庫
動態庫
幫助文件
手冊頁
文檔(/usr/share/doc)
/bin /sbin 系統啓動使用
/usr/bin /usr/sbin 大多數軟件
/usr/local/bin /usr/local/sbin 第三方軟件
操作系統啓動文件都在/上 redhat6以後/usr也不可獨立分區.
爲減小/bin /sbin 大小 部分系統啓動文件也放在/usr/bin /usr/sbin上。
第三方軟件比較多時可以獨立分出/usr/local
庫文件
/lib /lib64 /usr/lib
/etc/ld.so.conf.d/*.conf
系統找不到/usr/local下的庫文件 /etc/ld.so.conf so shared object
在/usr/local/lib 下的庫文件 在建立/etc/ld.so.conf.d/xxx.conf 存放
搜索路徑。系統的則寫入/etc/ld.so.conf
/etc/httpd/ httpd軟件的
幫助文件:
/usr/share/man
/etc/man.conf 指定man到哪裏找man文件 doc
/usr/share/doc
頭文件;
/usr/include
kernel glibc app os三大組成部分
glibc c語言標準通用庫
硬件架構:
x86 x64 poverpc sparc arm
二進制程序: 有格式 特定於硬件平臺(編譯器自身在軟件編譯時在特定平臺上的運行進行優化)
name-version-release-.arch.rpm
version: 3.2.4
major minor release
32bit x86
i386 i486 i586 i686
64bit x86
x86_64
noarch.rpm 平臺無關 平臺文件
name-version:主包
name-subname-version:子包
name-devel-version: 庫文件 頭文件
循環依賴的需同時安裝。
yum: yellowdog update modifier rpm前端
yum依賴於rpm 是其升級版。
dpkg -----> apt-get
rpm----->deb
rpm包 rpm yum
源碼包 編譯安裝
製作好的二進制包壓縮包,解壓後配置使用。
mysql mongoDB
rpm install ---------------> rpm -i pkg1 pkg2 ...... // path
rpm eraser ---------------> rpm -e pkg1 ....
rpm update ---------------> rpm -U | -F pkg1....
rpm verify ---------------> rpm -V pkg1.....
rpm query ---------------> rpm -q ...
install:
rpm -i
-v verbose
-h # progress
--test
--nodeps 忽略依賴
--replacepkgs
--force 無視衝突。
before install pre
after install post 收尾
卸載之前 preun
卸載之後 postun
uninstall:
rpm -e pks1 被依賴不可卸載。
rpm -e php-cli
update :
F freshing 無old,則不new
U update 無old,則安裝new
--oldpackages
內核不應該升級安裝。 內核允許多版本並存。
query:
rpm -q
rpm -qi
簽名:單向加密 提取數據的指紋信息 數據特徵
如果原數據一樣,結果數據一定一樣
雪崩效應,原數據有一點點不同,結果大不同。
rpm 提取特徵碼,附加在軟件包上。 官方使用自己的私鑰。
私鑰加密,公鑰解密。
篡改則破壞特徵碼.私鑰。
公鑰解密得到官方提供的特徵碼,自己再使用同樣的方法提取特徵碼
,並比較和解密出來的特徵碼是否一致。
rpm -ql pkg1 list 顯示安裝哪些文件
rpm -qf file 根據文件查rpm包
rpm -qc pkg 查看配置文件
rpm -qd pkg 查看文檔 man readme install
rpm -a --scripts pkg1 執行安裝的腳本 內置腳本
還未裝則加 p 參數
rpm -V pkg1
rpm -K pkg1 檢查簽名
rpm --import key1 導入公鑰 /etc/pki/rpm-gpg/xxx
沒簽名 sha1 md5 ok
sha1 md5 數據包完整校驗
--nodigest 不檢查單向加密 sh1 md5
--nosignature 不檢驗簽名信息 gpg dsa
重建rpm數據庫
/var/lib/rpm
*db* 鎖文件
其它的是鎖文件
rpm --initdb 被刪除 或不存在 存在則不覆蓋
rpm --rebuilddb 覆蓋 重建
源碼製作成rpm包
yum
route rpm包集合 xml文檔 元數據文件
redhat5 包分開存放:
server 常用的基本軟件
/repodata yum源信息 父目錄即倉庫
Cluster 集羣
ClusterStore 集羣存儲相關
VT
yum源何在
下載到本地緩存 元數據緩存到本地
協議3種:
本地 file:///協議
遠程服務器 ftp:// http://
yum倉庫:
rpm包
repodata/目錄 xml文件 只有包含此目錄爲其子目錄的那個路徑纔可以用作yum源
repomd.xml 保存時間戳 看是否有變化
primary.xml.gz 當前yum倉庫內每一個rpm包的名字及彼此之間的依賴關係:
此外還包含每一個rpm包能夠安裝生成的文件;
filelists.xml.gz: 所有rpm包包含的安裝生成文件的文件列表。
other.xml.gz : 額外信息 主要包含rpm包的chnagelog;
rpm包包組的定義
yum 配置文件 子命令
/etc/yum.conf/*
/etc/yum.repos.d/*
/etc/yum/pluginconf.d/*
全局配置 分段配置
全局 /etc/yum.conf
yum
yum repolist
yum list { installed | available | updates | all }
yum clean { all | packages | metadata} // /var/cache/yum
yum grouplist
yum groupinfo "group_name"
yum info "PKG_NAME"
provides FILE
install -y
remove
update
groupinstall
localinstall
reinstall
check-update
install createrepo
createrepo dir
--nogpgcheck
createrepo
redhat6
Package
server
createrepo -g xxx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.