一、rpm命令
docker 管理工具。rpm:
數據庫:/var/lib/rpm
什么是LINUX?rpmbuild:
創建軟件包
1、安裝
rpm?-i?/PATH/TO/PACKAGE_FILE
-h?:?以#顯示進度:每個#表示2%
-v:顯示安裝詳細信息
-vv:顯示更詳細信息
--nodeps:忽略依賴關系,軟件可以裝但裝上也無法運行
--replacepkgs:重新安裝,替換原有安裝
--oldpackage:降級安裝
--force:強行安裝,可以實現重裝或降級(相當于--replacepkgs和--oldpackage和--replacefiles)
--test:不真正安裝,僅測試
通常:
rpm?-ivh?/PATH/TO/PACKAGE_FILE
2、查詢
rpm?-q?PACKAGE_NAME(只需跟包名即可)
rpm?-qa?:?查詢已安裝的所有包
rpm?-qi?PAKAGE_NAME:?查詢指定軟件包的說明信息
rpm?-ql?PACKAGE_NAME:查詢指定軟件包安裝后生成的文件列表
rpm?-qf?/path/to/somefile?:?查詢某文件是由哪個軟件包安裝生成的
rpm?-qc?PACEAGE_NAME?:?查詢指定軟件包安裝的配置文件
rpm?-qd?PACKAGE_NAME?:?查詢指定軟件包安裝的幫助文件
rpm?-q?--scripts?PACKEAGE_NAME?:?查詢指定的文件是由哪個rpm包安裝生成的
如果某rpm包尚未安裝,我們需要查詢其說明信息、安裝以后會生成的文件
rpm?-qpi?/PATH/TO/PACKAGE_FILE?(說明信息)
rpm?-qpl?......(將會生成的文件列表)
同樣???-qp{f,c,d}都可使用
3、升級
rpm?-Uvh?/PATH/TO/NEW_PACKAGE_FILE??:如果裝有老版本的,則升級;否則,安裝
rpm?-Fvh?/PATH/TO/NEW_PACKAGE_FILE??:如果裝有老版本的,則升級;否則,退出
--oldpackage:降級
4、卸載
rpm?-e?PACKAGE_NAME?(如果某軟件包被其他軟件依賴,則不能卸載)
--nodeps:忽略依賴關系(強行卸載)
5、校驗
rpm??-V?PACKAGE_NAME???查看軟件安裝文件是否被改動過
missing?文件被刪除
S?文件大小改變
M?文件權限改變
5?md5碼改變
D?設備文件主次號不匹配
L?連接路徑不匹配
U?屬主改變
G?屬組改變
T?最近修改時間改變
6、重建數據庫
rpm
--rebuilddb:重建數據庫?,?一定重新建立
--initdb:初始化數據庫,沒有建立,有就不用建立
7、檢驗來源合法性及軟件包完整性
rpm?-K?/PATH/TO/PACKAGE_FILE
dsa,gpg:驗證來源合法性,也及驗證簽名;可以用--nosignature略過此項
sha1,md5:驗證軟件包完整性;可以使用--nodigest,略過此項
驗證前要導入秘鑰文件
rpm?--import?/etc/pki/rpm-gpg/RPM-GPG-KEY-radhat-release
二、yum軟件包管理
yum倉庫包括
rpm軟件包
元數據文件
1、primary.xml.gz
所有rpm包的列表
依賴關系
每個rpm安裝生成的文件列表
2、filelists.xml.gz
當前倉庫中所有rpm包的所有文件列表
3、other.xml.gz
額外信息,rpm包的修改日志;
4、repomd.xml
記錄上面三個文件的時間戳和校驗戳(當上面三個文件被緩存到本地時,每次使用進行比對,不同則重新下載)
5、comps*.xml:rpm包分組信息
紅帽5和紅帽6光盤倉庫的結構有所不同
紅帽5將rpm包和repodata放在同一目錄(有四個倉庫)
紅帽6將rpm包和repodata放在不同的目錄下
注意:在使用的時候必須以repodata所在的目錄作為yum倉庫的真正目錄
yum命令
使用倉庫要先在配置文件中指定倉庫位置
/etc/yum.conf配置文件中指定要想添加一個yum倉庫必須在/etc/yum.repos.d/目錄下面創建.repo結尾的文件;repo文件創建規則:
[Repo_Name]?表示名(id)
name=?????(Description描述信息)
baseurl=??(倉庫位置)
倉庫位置支持3中格式:
ftp://
http://
file:///??本地目錄
enabled={1|0}??(定義該倉庫是否啟用)
gpgcheck={1|0}??(是否驗證軟件包的合法性,如果指定為1,則必須指定下一個gpgkey)
gpgkey=???(秘鑰文件位置,也支持3種格式【當gpgcheck設置為1時必須指定】)
【一個repo文件下可以創建多個yum倉庫,都按照以上規則】
yum
list?軟件包列表
clean?清空緩存
repolist?查看repo列表信息[all?|?enabled?|?disabled]
如何創建yum倉庫
createrepo
1、將rpm包放到將要創建為倉庫的目錄下
2、使用createrepo?-g?/path/to/comps-rhel5-vt.xml?/倉庫路徑/【創建依賴關系等文件】
comps-rhel5-vt.xml為?紅帽創建依賴關系等文件所需要的文件,一般倉庫內都有
3、將添加repo文件創建倉庫
三、make?install編譯安裝
前提:準備開發環境(編譯環境)
安裝"Development?Tools"和"Development?Libraries"
1、tar解壓源程序
2、cd到程序文件目錄
3、./configure
--help??查看選項
--prefix=/path/to/somewhere????指定安裝目錄
--sysconfdir=/path/to/CONFFILE_PATH??指定配置文件路徑
功能:?1、讓用戶選擇編譯特性2、檢查編譯環境和依賴關系
--without_http_rewrite_module?忽略依賴關系
4、make
5、make?install
安裝完成后:
1、修改PATH環境變量,以能夠識別此程序的二進制文件路徑
(1)將安裝好的程序添加到PATH查找路徑中:修改/etc/profile添加PATH=$PATH:/新裝程序路徑
(2)在/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/新程序的庫頭文件路徑/鏈接到/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、在/etc/man.config中添加一條MANPATH
2、每次使用指定man地址:?man?-M?/PATH/TO/MAN_DIR?COMMAND
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态