軟件管理
二進制程序(/bin、/sbin)
庫(/lib)
配置文件(/etc)
幫助文件(/usr/share/man)
/usr/:bin、sbin、lib----------操作系統核心功能,可以單獨分區
/usr/local/:bin、sbin、lib、[etc]、[man]-----------獨立王國,第三方軟件的一般目錄
/proc、/sys:不能單獨分區,默認為空;必不可少,內核自我管理的系統文件
/dev:設備,不能單獨分區
軟件包管理器的核心功能:
制作軟件包
安裝、卸載、升級、查詢、校驗
RPM:Redhat Package Manager-------------依賴關系
前端工具:yum,apt-get
後端工具:RPM,dpt
RPM包名格式:
name-version-release.arch.rpm
bind-major.minor.release-release.arch.rpm
主版本號:重大改進
次版本號:某個子功能發生重大變化
發行號:修正了部分bug,調整了一點功能
安裝:
# rpm -ivh /path/to/somewhere
-i:install
-v:顯示詳細過程
-h:顯示進度
--nodeps:忽略依賴關系
--replacepkgs:重新安裝,替換原有安裝
--force:強行安裝,可以實現重裝或降級
查詢:
# rpm -q PACKAGE_NAME (查詢指定的包是否已經安裝)
# rpm -qa (查詢已經安裝的所有包)
# 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 (查詢指定的文件是由哪個rpm包安裝生成的)
# rpm -qpi /path/to/package_file (查詢某尚未安裝的rpm包的說明信息及安裝後會生成的文件)
升級:
# rpm -Uvh /path/to/package_file (如果裝有老版本的,則升級;否則,則安裝)
# rpm -Fvh /path/to/package_file (如果裝有老版本的,則升級;否則,退出)
--oldpackage:降級
卸載:
# rpm -e PACKAGE_NAME
校驗:
# rpm -V PACKAGE_NAME
重建數據庫:
# rpm
--rebuilddb:重建數據庫,一定會重新建立
--initdb:初始化數據庫,沒有才建立,有就不用建立
檢驗來源合法性,及軟件完整性:
加密類型:
對稱:加密解密使用同一個密鑰
公鑰:一對兒密鑰,公鑰,私鑰,公鑰隱含於私鑰中,可以提取出來,並公開出去
單向:
# ls /etc/pki/rpm-gpg/ (RPM-GPG-KEY-redhat-release)
# rpm -K /path/to/package_file
dsa,gpg:驗證來源合法性,也即驗證簽名;可以使用--nosignature略過此項
sha1,md5:驗證軟件包完整性;可以使用--nodigest略過此項
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release (導入密鑰文件)
YUM
配置文件-------yum倉庫
創建yum倉庫:
# createrepo [options] DIRECTORY
定義repo文件:
[Repo_Name]
name=Description
baseurl=
ftp://
http://
file:///:本地
enabled=(1|0):設置此源是否可用,1為可用,0為禁用
gpgcheck=(1|0):設置此源是否校驗文件,1為校驗,0為不校驗
# yum [options] [command] [package...]
-y:自動回答yes
install:安裝
list:列表
all
available:可用的,倉庫中有但尚未安裝的
installed:已經安裝的
updates:可用的升級
clean:清理緩存
[ packages | headers | metadata | dbcache | all ]
repolist:顯示repo列表及其簡要信息
all
enabled:默認
disabled
update:升級
update-to:升級為指定版本
remove|erase:卸載
provides|whatprovides:查看指定的文件或特性是由哪個包安裝生成的
編譯安裝的三步驟:
前提:準備開發環境(編譯環境)
安裝
# tar
# cd
# ./configure (讓用戶選定編譯特性;檢查編譯環境)
--prefix=/path/to/somewhere
--sysconfdir=/path/to/conffile_path
# make
# make install
修改PATH環境變量,以能夠識別此程序的二進制文件路徑
修改/etc/profile文件
在/etc/profile.d/目錄建立一個以.sh為名稱後綴的文件,在裏面定義export PATH=$PATH:/path/to/somewhere
默認情況下,系統搜索庫文件的路徑/lib,/usr/lib;要增添額外搜尋路徑
在/etc/ld.so.conf.d/中創建以.conf為後綴名的文件,而後把要增添的路徑直接寫至此文件中
# ldconfig (通知系統重新搜尋庫文件)
-v:顯示重新搜尋庫的過程
頭文件:輸出給系統
默認:/usr/include
增添頭文件搜尋路徑,使用鏈接進行
man文件路徑:安裝在--prefix指定的目錄下的man目錄:/usr/share/man
man -M /path/to/man_dir command
在/etc/man_db.config中添加一條MANPATH
# netstat
-r:顯示路由表
-n:以數字方式顯示
-t:建立的tcp連接
-u:顯示udp連接
-l:顯示監聽狀態的連接
-p:顯示監聽指定套接字的進程的進程號與進程名
軟件管理