Linux軟件管理

一、rpm命令

     rpm:

         數據庫:/var/lib/rpm

     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 文件被刪除

文件大小改變

文件權限改變

5 md5碼改變

設備文件主次號不匹配

連接路徑不匹配

屬主改變

屬組改變

最近修改時間改變

 

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軟件包

    元數據文件

       1primary.xml.gz

          所有rpm包的列表

          依賴關係

          每個rpm安裝生成的文件列表

       2filelists.xml.gz

          當前倉庫中所有rpm包的所有文件列表

       3other.xml.gz

          額外信息,rpm包的修改日誌;

       4repomd.xml

          記錄上面三個文件的時間戳和校驗戳(當上面三個文件被緩存到本地時,每次使用進行比對,不同則重新下載)

       5comps*.xml:rpm包分組信息

 

 

紅帽5和紅帽6光盤倉庫的結構有所不同

    紅帽5rpm包和repodata放在同一目錄(有四個倉庫)

    紅帽6rpm包和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"

 

1tar  解壓源程序

2cd 到程序文件目錄

3./configure

     --help  查看選項

     --prefix=/path/to/somewhere    指定安裝目錄

     --sysconfdir=/path/to/CONFFILE_PATH  指定配置文件路徑

     功能: 1、讓用戶選擇編譯特性  2、檢查編譯環境和依賴關係

     --without_http_rewrite_module 忽略依賴關係

4make

5make 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  【將頭文件的目錄鏈接過去】

 

4man文件路徑 :安裝在--prefix指定的目錄下的man目錄 :/usr/share/man

      1、在/etc/man.config中添加一條MANPATH

      2、每次使用指定man地址 : man -M /PATH/TO/MAN_DIR COMMAND


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章