1、Linux軟件包管理
Redhat, SUSE: RPM
Redhat Package Manager
PRM is Package Manager
前端工具:yum, apt-get
后端工具:RPM, dpt
2、rpm:
數據庫:/var/lib/rpm
rpm包: 軟件包作者下載源程序,編譯配置完成后,制作成rpm包
格式:name-VERSION-release.arch.rpm
例:httpd-2.4.6-40.el7.centos.x86_64.rpm
VERSION: major.minor.release
release:release.OS
主版本號:較大改變
次版本號:某個子功能發生變化
發行號:修正了部分bug,調整了一點功能
3、rpm:安裝、卸載、升級、查詢
安裝
rpm -i /PATH/TO/PACKAGE_FILE
-h: 以#顯示進度
-v: 顯示詳細過程
rpm -ivh /PATH/TO/PACKAGE_FILE 一般安裝參數
–nodeps: 忽略依賴關系;
–replacepkgs: 重新安裝,替換原有安裝;
–force: 強行安裝,可以實現重裝或降級;
查詢
rpm -q PACKAGE_NAME: 查詢指定的包是否已經安裝
rpm -qa : 查詢已經安裝的所有包
rpm -qi PACKAGE_NAME: 查詢指定包的說明信息;
rpm -ql PACKAGE_NAME: 查詢指定包安裝后生成的文件列表;
rpm -qf /path/to/somefile: 查詢指定的文件是由哪個rpm包安裝生成的;
如果某rpm包尚未安裝,我們需查詢其說明信息、安裝以后會生成的文件;
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
升級
rpm -Uvh NEW_PACKAGE: 如果裝有老版本的,則升級;否則,則安裝;
!不要對內核做升級操作;Linux支持多內核版本并存,因此,對直接安裝新版本內核
!如果原程序包的配置文件安裝后曾被修改,升級時,新版本的提供的同一個配置文件并不會直接覆蓋老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留
卸載
rpm -e PACKAGE_NAME
–nodeps
校驗
rpm -V PACKAGE_NAME
重建數據庫
rpm
–rebuilddb: 重建已安裝的包頭的數據庫索引目錄;
–initdb:初始化數據庫,沒有才建立,有就不用建立;
3、Yum 基于C/S的結構,可以解決軟件包的依賴關系
yum倉庫中的元數據文件: repodate 軟件的依賴關系等
Yum倉庫的校驗key:RPM-GPG-KEY-CentOS-x 使用建議導入key值
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-x
Yum的repo文件配置
[Repo_ID]
name=Description
baseurl= 配置倉庫類型 !!路徑為repodate的父目錄
ftp:// ftp服務器路徑
http://
file:/// 本地鏡像掛載點
enabled={1|0} 啟用禁用
gpgcheck={1|0}
gpgkey=
Yum list all: 列表 支持glob
clean: 清理緩存
[ packages | headers | metadata | dbcache | all ]
更換yum源,要執行yum clean all 清理緩存
repolist: 顯示repo列表及其簡要信息,yum源開啟狀態 默認enabled
使用yum安裝軟件
yum [options] [command] [package …] yum安裝軟件
-y: 自動回答為yes
–nogpgcheck
yum install/remove/updatePACKAGE_NAME
5、編譯安裝
前提:準備編譯環境
yum groups install “Development Tools”
# tar xxx.gz…
# cd
# ./configure
–help 支持安裝選項和模塊
–prefix=/path
功能:1、讓用戶選定編譯特性;2、檢查編譯環境;
# make
# make install
ag:
# tar xf httpd-2.4.27.tar.bz2
# cd httpd-2.4.27
# ./configure
# make && make install
1、修改PATH環境變量,以能夠識別此程序的二進制文件路徑;
修改/etc/profile文件
在/etc/profile.d/目錄建立一個以.sh為名稱后綴的文件,在里面定義export PATH=$PATH:/path/to/somewhere
2、默認情況下,系統搜索庫文件的路徑/lib, /usr/lib; 要增添額外搜尋路徑:
在/etc/ld.so.conf.d/中創建以.conf為后綴名的文件,而后把要增添的路徑直接寫至此文件中;
# ldconfig 通知系統重新搜尋庫文件
-v: 顯示重新搜尋庫的過程
3、頭文件:輸出給系統
默認:/usr/include
增添頭文件搜尋路徑,使用鏈接進行:
/usr/local/tengine/include/ /usr/include/
兩種方式:
ln -s /usr/local/tengine/include/* /usr/include/ 或
ln -s /usr/local/tengine/include /usr/include/tengine
4、man文件路徑:安裝在–prefix指定的目錄下的man目錄;/usr/share/man
1、man -M /PATH/TO/MAN_DIR COMMAND
2、在/etc/man.config中添加一條MANPATH
原創文章,作者:cui,如若轉載,請注明出處:http://www.www58058.com/84113