網頁

2013年2月24日 星期日

rpm,yum,chkconfig ,ntsysv ,apt-get,aptitude ,apt-key,apt-sortpkgs,dpkg ,dpkg-deb,dpkg-divert,dbkg-preconfigure,dbkg-query,dbkg-reconfig指令


  • rpm 指令,在red hat 的default 的軟件管理程式。
    • step 1. 我要將安裝一個名稱 zsh 的軟件
      •  rpm -ivh zsh.XXXXX.rpm
    • step 2. 找詢剛才安裝的軟件
      • rpm -q zsh
    • step 3. 找詢 zsh 軟件的所有安裝文件
      •  rpm -ql zsh
    • step 4. 另外我們也可以以文件檔案到推算出,它是那一個軟件包
      •  rpm -qf /sbin/fdisk
    • step 5. 如何卸載一個軟件包
      •  rpm -e zsh
    • step 6. 在安裝之前查看要安裝軟件的詳細資訊
      •  rpm -qpi  zsh.XXXXX.rpm
    • step 7. 在安裝之也可以查看這一件軟件包會復制出那一些新的文件
      •  rpm -qpl  zsh.XXXXX.rpm
  • rpm顯示所安裝的套件【使用q選項】
    • rpm -qa sendmail
  • rpm查詢包括<檔案>的套件【使用f選項】
    • rpm -Vf /bin/vi
      • 上是的-V選項是驗證模式
  • rpm查詢的p選項為以套件的檔案全名來查詢套件
    • rpm -qp rhviewer.xxx.xxxxxxx.rpm
  • rpm顯示安裝的詳細資訊【使用i選項】
    • rpm -qi sendmail
  • rpm顯示所安裝的位置以及檔案【使用選項l】
    • rpm -ql sendmail
  • rpm使用s選項顯示即綿中所有的檔案狀態
  • rpm使用d選項顯示在套件中被標示為文件的檔案列表,包括了man pages,info pages,readme   etc.
  • rpm使用c選項顯示在套件中標示為設定檔的檔案列表。
  • rpm安裝程式
    • rpm -ivh vnc*
  • rpm更新軟件
    • rpm -Uvh vnc*
      • U:表Upgrade
    • rpm -Fvh vnc
      • F:表freshen
    • 更新軟件還可以更新成較舊的版本,你可以使用--oldpackage的選項來完成。
      • rpm -Uvh --oldpackage rhviewer-2.51=02.i386.rpm
  • rpm移除軟件
    • rpm -e ftd.x.x
  • rpm單純解開
    • rpm2cpio [rpm的檔案名稱] | cpio -idv
  • rpm還能透過ftp來進行遠程的套件安裝或查詢
    • rpm -ivh ftp://ftp.cycu.edu.tw/xxx.rpm
      • 使用遠程安裝時,務必使用-h選項,否則你可能不知道安裝程序是否還在進行中,此外還可以使用--percent選項來得知安裝進度的百分比
  • rpm指令是不可以重覆安裝相一個程式的,若你需要重新install則需要使用到--replacepkgs參數
    • rpm -ivh --replacepkgs xxxx.rpm
  • 套件中某個檔案已被其他套件安裝你可以看見以下訊息
    • xxx conflicts with file from xxx-xxx-xxx
      • 若你確定要取代舊有的檔案可以使用--replacefiles選項來安裝
        • rpm -ivh --replacefiles xxx.rpm
  • 套件移除
    • 指令格式:rpm -e 套件名稱
    • 你還可以使用--nodeps選項來進行強行移除套件
  • 套件驗證
    • 要驗證套件中的元件是否與原始套件相符,可使用驗證模式。-V參數可以來驗證套件的正確性。驗證模式會比較原始套件資訊及安裝於系統中的套件檔案資訊,包括每個檔案的大小、MD5(一種加密方式)checksum、權限、型別、擁有者及所屬的檔案群組。一般常用的驗證方式如下:
      • rpm -V reviewer
        • 驗證rhviewer套件的正確性
      • rpm -Vf /bin/vi
        • 驗證包含/bin/vi檔案的套件
      • rpm -Va
        • 驗證所有的套件
      • rpm -Vprhviewer-xxx-xxx-xxx.rpm
        • 使用.rpm檔案來驗證套件正確性
    • 在驗證後,正常狀態是不會有任何的輸出的,如有不一致的地方會可參考以下的列表。
      • 5:MD5 checksum不合
      • S:檔案大小不合
      • L:符號連結錯誤
      • T:檔案修改時間不合
      • D:設備屬性不合
      • U:做用者不合
      • G:檔案群組不合
      • M:模式不合,包含權限和檔案型態
  • rpm的應用
    • 查詢套件所安裝的檔案:rpm -ql package-name
    • 查詢是否刪除套件檔案:當您誤刪了某些檔案,可是並不知道到底刪掉些什麼,此時只要執行rpm -Va 指令即可對小統估完整的套件驗證,而得襠是否刪除了某些套件檔案
    • 查詢檔案屬於那個套件:遇到一些不認得的檔案,想要找出這個檔案是否屬於那一個套件,可執行rpm -qf file-name指令
    • 驗證套件的正確性:上2個例子可以結合使用。rpm -Vf /bin/vi
  • 其他rpm選項
    • --noorder:允許相依套件不按次序安裝
    • --noscripts:不執行安裝套件前後用來輔助安裝程序的script指令
    • --replacekgs:以相同的套件置換已安裝於系統中的套件,可用來修複已損毀的套件
    • --replacefiles:可置換存在於別的套件之的相同檔案
    • --excludedocs:不安裝套件中的w的文件檔案
    • --justdb:只將套件原始檔中的資訊更新至組態資料庫中,而不實際安裝
    • --test:測式套件
    • --ignorearch:不檢查套件所用的平台(i386)
    • --ignoreos:不檢查套件所用的作業系統
---------------------------------------------------------------------------------------------------------
yum 指令,可以把它看成 rpm 的智能化工具,他的底層就是調用rpm,yum的指令可以將依賴
                   的軟件包一並安裝;yum可以透過網站安裝。
step 1. yum install zsh
step 2. yum update php
step 3. yum update
           檢查系統輸出系統內的可更新軟件包
step 4. yum remove zsh
           用來卸載軟件包

  • 指令範例:
    • yum search mysql


---------------------------------------------------------------------------------------------------------
chkconfig 指令 ,它是一個系統服務管理工具,它可以檢查、設置以及更新服務。
step 1. chkconfig --list
           查看系統服務的狀態

step 2. chkconfig --list xinetd
           查看單一個服務

step 3. chkconfig --level 3,4 xinetd off
           在系統運行等級是3,4時;關閉xinetd服務

  • 指令範例:
    • chkconfig iptables off
      • 設置防火牆服務的自動啟動狀態為關閉



  • chkconfig:列出或是修改在開機時自動啟動的服務
    • 假設我們要在單人模式、圖形介面的時侯停止ssh的服務
      • chkconfig --level 35 sshd off
    • 列出所有全部資訊
      • chkconfig --list
  • 補充:chkconfig輸出的最後幾個服務是一些老式的服務集,今天已經很少有人使用這些服務。這些老式服務集的運行狀態,依賴于一個名為xinetd的服務。通常將這些依賴于xinetd的服務稱為非獨立服務。非獨立服務受xinet服務管理,因此如果要啟動這些服務,應該道先啟動xinetd。
  • Red Hat還有一個指令ntsysv也可以設置服務的啟動狀態
  • chkconfig指令還可以添加/刪除系統服務
    • chkconfig -add
      • 手動添加mysql的服務
        • cp mysql.server /etc/init.d/mysqld
        • chmod +x /etc/init.d/mysqld
        • chkconfig --add mysqld
        • chkconfig --list
    • chkconfig -del
      • 手動刪除mysql的服務
        • chkconfig --del mysql
    • 補充:並不是所有發行版都支持chkconfig命令。

---------------------------------------------------------------------------------------------------------
ntsysv 指令,由 chkconfig 的功能是相同
step 1. ntsysv
or
step 2. ntsysv --level 1
---------------------------------------------------------------------------------------------------------
apt-get 指令,也是軟件包管理用的工具
step 1. apt-get install rcconf
            安裝一軟件包
step 2. apt-get remove rcconf
            刪除一個軟件包
step 3. apt-get update rcconf
            更新一個軟件包
---------------------------------------------------------------------------------------------------------
aptitude 指令,也是軟件包管理工具
以是是 aptitude 常用的指偷
step 1. aptitude show rcconf

step 2. aptitude install rcconf

step 3. aptitude search rcconf
---------------------------------------------------------------------------------------------------------
apt-key 指令,列出軟體包密鑰訊息
---------------------------------------------------------------------------------------------------------
apt-sortpkgs 指令,用於排序軟件包的索引文件
---------------------------------------------------------------------------------------------------------
dpkg 指令,用於也是軟件包管理工具
step 1. dpkg -c rcconf_1.21_all.deb
step 2. dpkg -i rcconf_1.21_all.deb
           -i : install
step 3. dpkg -r rcconf
           -r : remove
---------------------------------------------------------------------------------------------------------
dpkg-deb 指令,他可以把軟件包作打包、解包
step 1. dbkg-deb -I rcconf_1.21_all.deb
---------------------------------------------------------------------------------------------------------
dpkg-divert 指令,用來允許將引起沖突的文件安裝到轉移目錄,而非default軟件目錄,通常只
                               有在文件有沖突的時侯才會用到這一個指定

step 1. dpkg-divert --add /root/Packages
---------------------------------------------------------------------------------------------------------
dbkg-preconfigure 指令,用於在安裝前之詢問的方式來完成軟件的安裝、以及配置文件的設定
step 1. dpkg-preconfigure  rcconf_1.21_all.deb
---------------------------------------------------------------------------------------------------------
dbkg-query 指令,用於查詢軟體包的資訊
step 1. dpkg-query -l rcconf

step 2. dpkg-query -L rcconf
           查詢軟件包的相關文件列表

---------------------------------------------------------------------------------------------------------
dbkg-reconfig 指令,用於已安裝的軟件包作重新配置
---------------------------------------------------------------------------------------------------------

----編輯紀錄

  • 2013/04/21
    • 補允:chkconfig指令相關資訊






沒有留言:

張貼留言