應(yīng)用程序:
程序,Architecture
C語言:源代碼-->(編譯)二進(jìn)制格式
腳本:解釋器(二進(jìn)制程序)
源代碼-->編譯-->鏈接-->運(yùn)行
程序:
庫
靜態(tài)
動(dòng)態(tài)
靜態(tài)鏈接
動(dòng)態(tài)鏈接
/usr/share/man
/etc , /bin , /sbin , /lib
系統(tǒng)啟動(dòng)就需要用到的程序,這些目錄不能掛載額外的分區(qū),必須在根文件系統(tǒng)的分區(qū)上
/usr/
bin
sbin
lib
操作系統(tǒng)核心功能,可以單獨(dú)分區(qū)
/usr/local
bin
shin
lib
etc
man
建議單獨(dú)分區(qū)
/proc
/sys
不能單獨(dú)分區(qū),默認(rèn)為空
/dev :設(shè)備,不能單獨(dú)分區(qū):
/home :普通用戶的宿主目錄,可以單獨(dú)分區(qū)
/root :管理員宿主目錄,不能單獨(dú)分區(qū)
/var: 建議單獨(dú)分區(qū)
/boot :內(nèi)核,initrd(initramfs)建議單獨(dú)分區(qū)
POST-->BIOS(HD)-->(MBR)bootloader(文件系統(tǒng)結(jié)構(gòu),ext2 ,ext3 ,xfs)-->內(nèi)核
軟件包管理器的核心功能:
1、制作軟件包:
2、安裝、卸載、升級(jí)、查詢、校驗(yàn)
Redhat, SUSE ,Debian
Rehat ,SUSE: RPM
Redhat package Manager
PRM is package Manager
Debian : dpt
依賴關(guān)系:
x-->y-->z
前端工具:yum , apt-get
后端工具:RPM , dpt
rpm命令
rpm:
數(shù)據(jù)庫:/var/lib/rpm
rpmbuild:
安裝、查詢、卸載、升級(jí)、校驗(yàn)、數(shù)據(jù)庫的重建等工作
rpm 命名:
包:組成部分
主包:bind-9.7.1-1.i586.e15.rpm
子包:bind-libs-9.7.1-1.i586.e15.rpm
bind-utils-9.7.1-1.i586.e15.rpm
包名格式:
name-version-release.arch.rpm
bind-major.minor.release-release-arch.rpm
主版本號(hào):重大改進(jìn)
次版本號(hào):某個(gè)子功能發(fā)生重大變化
發(fā)行號(hào):修正了部分bug,調(diào)整了一點(diǎn)功能
rpm包:
二進(jìn)制格式
rpm包作者下載源程序,編輯配置完成后,制作成rpm包
bind-9.7.1-1.i686.rpm
bind-9.7.1-1.ppc.rpm
源碼格式
1、安裝
rpm -i /PATH/TO/PACKAGE_FILE
-h:以#顯示精度:每個(gè)#表示2%
-v:顯示詳細(xì)過程
-vv:更詳細(xì)的過程
rpm -ivh /PATH/TO/PACKAGE_FILE
--nodeps:忽略依賴關(guān)系:
--replacepkgs:重新安裝,替換原有的安裝
--oldpackage : 降級(jí)安裝
--force:強(qiáng)行安裝,可以實(shí)現(xiàn)重裝或者降級(jí)
2、查詢
rpm -q PACKAGE_NAME 查詢指定的包是否已經(jīng)安裝
rpm -qa :查詢已經(jīng)安裝的所有包
rpm -qi PACKAGE_NAME :查詢指定包的說明信息
rpm -ql PACKAGE_NAME:查詢指定包安裝后生成的文件列表
rpm -qc PACKAGE_NAME:查詢指定安裝包的配置文件
rpm -qd PACKAGE_NAME:查詢指定安裝包的幫助文件
rpm -q --scripts PACKAGE_NAME :查詢指定包中包含的腳本
rpm -qf /path/to/somefile :查詢指定的文件是由哪個(gè)rpm包安裝生成的
如果某rpm包尚未安裝,我們需要查詢其說明信息、安裝以后會(huì)生成的文件
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
3、升級(jí)
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的,則升級(jí):否則,則安裝
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的,則升級(jí):否則,則退出
--oldpackage :降級(jí)
4、卸載
rpm -e PACKAGE_NAME
--nodeps
5、校驗(yàn)
rpm -V PACKAGE_NAME
6、重建數(shù)據(jù)庫
rpm
--rebuilddb:重建數(shù)據(jù)庫,一定會(huì)重新建立
--initdb:初始化數(shù)據(jù)庫,沒有才建立,有就不用建立
7、檢驗(yàn)來源合法性,及軟件完整性
加密類型:
對(duì)稱:加密解密使用同一個(gè)密鑰
公鑰:一對(duì)密鑰,公鑰,私鑰隱含于私鑰中,可以提取出來,并公開出去;
單向:
ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-rehat-release
rpm -K /PATH/TO/PACKAGE_FILE
dsa ,gpg:驗(yàn)證來源合法性,也即驗(yàn)證簽名,可以使用--nosignature,略過此項(xiàng)
sha1,md5:驗(yàn)證軟件包完整性,可以使用--nodigest ,略過此項(xiàng)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEEY-redhat-release:導(dǎo)入密鑰文件
2017年1月17日 上午11:24 沙發(fā)
除了膜拜,別無它言!