歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux學習筆記——軟件包管理

Linux學習筆記——軟件包管理

日期:2017/3/1 14:01:38   编辑:關於Linux
Linux學習筆記——軟件包管理 1.RPM包的管理 RPM軟件包的一個例子: sudo-1.7.2p1-5.el5.i386.rpm 這個rpm包名包括軟件名sudo,版本號1.7.2p1,發行號5.el5,和硬件平台i386 (1)安裝 掛載光盤: mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom [plain] # rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm -ivh是可選的,一般來說i是必選的,v表示顯示安裝信息,h表示用#表示安裝進度 在CentOs光盤中,包含了所有核心rpm的二進制包,可以使用 ls | grep sudo命令來查找sudo安裝包 幾個相關的命令: [plain] rpm -q sudo 查詢sudo工具是否已經安裝 [plain] rpm -qa | grep sudo 查詢與sudo相關的所有軟件包 其它安裝選項: --excludedocs 不安裝軟件包中的文檔文件 --prefix PATH 將軟件包安轉到有PATH指定的路徑下 --test 只對安裝進行測試,並不實際安裝 [plain] rpm -ivh --excludedocs sudo 這裡的--excludedocs有兩個-- 對於 --prefix PATH沒有多少意義,因為大多數rpm安裝包不允許指定安裝路徑 A.覆蓋安裝 當使用rpm -ivh安裝軟件提示如下信息時: package sudo-1.7.2p1-5.el5.i386 is already installed 如果想覆蓋安裝該軟件包,可以在命令行中使用 --replacekgs 選項 B.文件沖突 如果要安裝的軟件包有一個文件已經在安裝其他軟件包時安裝,會出現以下錯誤信息: #rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm conflicts with file from bark-3.2-11 sudo-1.7.2p1-5.el5.i386.rpm cannot be installed 如果想要RPM忽略該錯誤信息,可以使用 --replacefiles 命令行選項 C.未解決依賴關系 RPM軟件包可能依賴於其它軟件包,在安裝了特定軟件包之後才能安裝該軟件包。 #rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm failed dependencies: sudo is needed by bark-3.2-11 你必須安裝完所依賴的軟件包,才能解決這個問題,強制安裝可以使用 --nodeps 選項 (2)卸載 [plain] # rpm -e sudo 注:a.如果其它軟件包有依賴關系,卸載時會產生提示信息,可使用-nodeps強行卸載 b.rpm -e sudo 這裡寫的是軟件名sudo,而不是軟件包名稱 (3)升級 [plain] #rpm -Uvh sudo-1.7.2p1-5.el5.i386.rpm 注:U是大寫的 下面給出幾個RPM包管理的常用命令: 命令 功能 rpm -qf 查詢文件隸屬的軟件包 rpm -qi、rpm -qip 查詢軟件包信息 rpm -ql、rpm -qlp 查詢軟件包安裝文件 rpm -qd 查詢軟件包幫助文檔 rpm -qc 查詢軟件包配置文件 a. rpm -qi是查看已經安裝的軟件的信息,而-qip是查詢沒有安裝的軟件包的信息; b. rpm -qi 軟件名 rpm -qip 軟件包名 c. rpm -ql sudo 查看一個軟件在系統安裝了哪些文件 d. rpm -qlp 包名 查看一個將要安裝的軟件需要在哪些目錄安裝文件 e. rpm -qa | grep vim 查詢已安裝的軟件包 (4)校驗 [plain] # rpm -V 軟件名稱 rpm -V sudo 用於校驗sudo軟件目錄文件是否被更改,如果沒有更改,這個命令不會返回任何信息;下表是這個命令所返回的值以及所代表的含義: 5 文件的md5校驗值 S 文件大小 L 鏈接文件 T 文件的創建時間 D 設備文件 U 文件的用戶 G 文件的用戶組 M 文件的權限 例如,這個命令返回5、S、T,則說明這個軟件的md5值改變了,文件大小改變了,創建時間也改變了。 (5)軟件包文件提取 a.解壓所有文件到當前目錄 [plain] # rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv b.解壓指定文件到當前目錄 [plain] # rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv ./etc/inittab 說明:第一個命令是把該軟件所有文件解壓到當前目錄,一般情況下很少使用; 比如不小心將系統很重要的配置刪除了,該文件又沒有備份,此時系統無法掛載,這個時候就需要用光盤進入修復模式,恢復那個被刪除的文件。 2.YUM包管理 使用yum的好處在於,它不僅能自動解決軟件包之間的依賴關系,還能很方便的進行軟件升級。 下面是常見的yum管理命令: 命令 功能 yum install 安裝 yum check-update 檢測升級 yum update 升級 yum list 軟件包查詢 yum info 軟件包信息 yum remove 卸載 yum -help、man yum 幫助 3.源代碼包安裝 應用舉例(proftpd): [plain] # tar -xzvf proftpd-1.3.3d.tar.gz (解壓縮包) # cd proftpd-1.3.3d # ./configure --prefix=/usr/local/proftpd (配置) # make (編譯) # make install (安裝) a.源代碼具有很好的適用性,安裝可定制性強,可以自己配置 b.有些linux並不支持rpm包,但是源碼安裝包,由於是自己編譯安裝,可以適用於各個linux操作系統 c.源代碼安裝時最好指定安裝目錄,這一點與rpm包的安裝不同 e.make、make install這兩個命令後面都沒有參數 f.刪除軟件的時候,步驟是先關閉該進程,然後rm這個目錄 4.腳本安裝 應用舉例(webmin): [plain] # tar -xzvf webmin-1.530.tar.gz # cd webmin-1.530 # vi README # ./setup.sh 腳本一般是shell腳本,或者java腳本,腳本安裝和在windows下安裝軟件沒有多少太大區別。 5.APT包管理 對於Ubuntu系列的linux操作系統,使用APT包管理軟件。 apt-cache search 搜索軟件包 apt-cache show 軟件包信息 apt-get install 安裝 apt-get remove 刪除 apt-get update 更新軟件源 apt-get upgrade 更新已安裝包
Copyright © Linux教程網 All Rights Reserved