系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux軟件安裝

Linux軟件如何安裝及管理指南(3)

時間:2014-12-15 11:35:00 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141212/32551.html 手機查看 評論

  User Interface/X Hardware Support (用戶界面/X硬件支持)例如:查看當(dāng)前系統(tǒng)屬于“開發(fā)/調(diào)試器”類別的包有多少,使用以下命令:

  [root@server ~]# rpm -qg “Development/Debuggers”lsof-4.72-1.1crash-4.0-2

  sysreport-1.3.15-5

  ltrace-0.3.36-2.EL4

  strace-4.5.13-0.EL4.1

  valgrind-2.2.0-5.EL4

  valgrind-callgrind-0.9.9-1

  gdb-6.3.0.0-1.63

  pstack-1.2-6

  l -d:顯示軟件包中的說明文件列表,RPM將軟件包中的文件分為三類,一類是配置文件,一類是說明文件,一類是可執(zhí)行文件。后面跟完整的包名,切忌不是以“.rpm”為后綴的rpm包。

  例如:查看file軟件包中的說明文件,使用以下命令:

 。踨oot@server108 cicro]# rpm -qd file-4.10-2/usr/share/doc/file-4.10/LEGAL.NOTICE/usr/share/doc/file-4.10/README

  /usr/share/man/man1/file.1.gz

  /usr/share/man/man3/libmagic.3.gz

  /usr/share/man/man5/magic.5.gz

  l -s:與“-l“選項類似,除了顯示軟件包中的所有文件列表信息,而且還顯示每個文件的狀態(tài)。RPM已安裝的軟件包中各個文件擁有四種狀態(tài),分別是normal(正常狀態(tài),表示文件沒有被其它軟件包修改過)、not installed(未安裝狀態(tài),表示文件沒有安裝)、replaced(已替換狀態(tài),表明此文件已經(jīng)被其它軟件包修改替換過了)、net shared(網(wǎng)絡(luò)共享狀態(tài),表示此文件處于網(wǎng)絡(luò)共享狀態(tài))。

  例如:查看ipvsadm-1.24-6包中每個文件的狀態(tài),使用以下命令:

  [root@localhost ~]# rpm -i --excludedocs ipvsadm-1.24-6.i386.rpm[root@localhost ~]# rpm -qs ipvsadm-1.24-6normal /etc/rc.d/init.d/ipvsadmnormal /sbin/ipvsadm

  normal /sbin/ipvsadm-restore

  normal /sbin/ipvsadm-save

  not installed /usr/share/doc/ipvsadm-1.24not installed /usr/share/doc/ipvsadm-1.24/READMEnot installed /usr/share/man/man8/ipvsadm-restore.8.gznot installed /usr/share/man/man8/ipvsadm-save.8.gznot installed /usr/share/man/man8/ipvsadm.8.gz從上面可以看到,我們在安裝ipvsadm-1.24-6.i386.rpm的時候指定不安裝說明文檔,然后通過“-s”命令查看文件狀態(tài)時,軟件包的說明文檔狀態(tài)均為“not installed”。

  l -R (或--requires):顯示軟件包所需的功能,所謂功能,可以是軟件包標(biāo)識,也可以是共享動態(tài)庫文件等等,軟件包的依賴關(guān)系就是依靠功能來實現(xiàn)的,如果所需的功能不存在,則依賴關(guān)系一定得不到滿足,軟件安裝就會失敗。

  l --provides:顯示軟件包提供的功能,這個功能可以是動態(tài)庫文件,也可以是虛擬軟件的包名等等。

  例如:查看nxclient-2.1.0-17.i386.rpm提供的功能,使用以下命令:

  [root@localhost ~]# rpm -qp --provides nxclient-2.1.0-17.i386.rpmnxclient = 2.1.0-17可以看到這個軟件提供了nxclient的功能。

  3. 驗證軟件包

  驗證已經(jīng)安裝的軟件包

  校驗軟件包比較的是某軟件包安裝的文件和原始軟件包中的同一文件的信息是否一致。它校驗每個文件的大小、權(quán)限、MD5 值、類型、所有者、以及組群。

  命令格式:rpm -V [輔助選項] package1……packageN主選項說明:

  -V:verify的意思,也可以用“--verify”代替。此參數(shù)主要校驗已經(jīng)安裝的軟件包內(nèi)的文件和最初安裝時是否一致。

  參數(shù)說明:package1……packageN 表示需要校驗的且已經(jīng)安裝的軟件包名。

  輔助選項說明:

  l -p:驗證軟件包文件

  例如:下面是驗證rsh包的安裝狀態(tài),操作過程如下:

 。踨oot@localhost ~]# rpm -V rsh-0.17-25.3

  package rsh-0.17-25.3 is not installed

 。踨oot@localhost ~]# rpm -Vp rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm: V3 DSA signature: NOKEY, key ID db2a6emissing /usr/bin/rcpmissing /usr/bin/rexec

  missing /usr/bin/rlogin

  missing /usr/bin/rsh

  missing d /usr/share/man/man1/rcp.1.gz

  missing d /usr/share/man/man1/rexec.1.gzmissing d /usr/share/man/man1/rlogin.1.gzmissing d /usr/share/man/man1/rsh.1.gz[root@localhost ~]# rpm -ivh rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm: V3 DSA signature: NOKEY, key ID db2a6ePreparing.。。 ########################### [100%]

  1:rsh ######################## [100%]

  [root@localhost ~]# rpm -Vp rsh-0.17-25.3.i386.rpmwarning: rsh-0.17-25.3.i386.rpm:V3 DSA signature: NOKEY, key ID db2a6e[root@localhost ~]# rpm -V rsh-0.17-25.3#上面操作中,我們首先驗證rsh,可以知道rsh沒有在系統(tǒng)中安裝,接著我們安裝了rsh軟件包,再次查看rsh包狀態(tài)時,沒有任何輸出了,表示軟件包文件全部正常。

  l -f:校驗文件在所屬的軟件包的狀態(tài),此選項后面跟相應(yīng)的文件名。

  例如:檢查mysqlclient包中各個文件的狀態(tài),我們的操作如下:

 。踨oot@localhost ~]# rpm -ql mysqlclient10-3.23.58-4.RHEL4.1/etc/ld.so.conf.d/mysqlclient10-i386.conf/usr/lib/mysql/libmysqlclient.so.10/usr/lib/mysql/libmysqlclient.so.10.0.0

  /usr/lib/mysql/libmysqlclient_r.so.10

  /usr/lib/mysql/libmysqlclient_r.so.10.0.0[root@localhost ~]# mv \》/usr/lib/mysql/libmysqlclient.so.10 /usr/lib/mysql/libmysqlclient.so.10.d[root@localhost ~]# rpm –V mysqlclient10-3.23.58-4.RHEL4.1missing /usr/lib/mysql/libmysqlclient_r.so.10[root@localhost ~]# rpm -Vf /usr/lib/mysql/libmysqlclient_r.so.10missing /usr/lib/mysql/libmysqlclient_r.so.10#這里我們首先檢查了mysqlclient包中包含的所有文件,然后模擬刪除mysqlclient包中一個文件,然后查看這個文件的狀態(tài),可以看到顯示為“missing”,如果我們通過“-Vf”選項檢查某個文件,沒有任何輸出時,表示這個文件狀態(tài)正常。

  l -a:檢驗所有的軟件包。

  l -g:檢驗所有屬于組的軟件包。

  驗證未安裝的軟件包文件

  發(fā)行的RPM格式的軟件包是否值得信任,是否損壞,我們可以通過RPM提供的選項進行驗證。RPM軟件包一般使用 Gnu 隱私衛(wèi)士(或稱 GPG)來簽名,從而幫助使用者肯定下載軟件包的可信任性。

  命令格式:rpm -K file1.rpm……fileN.rpm

  主選項說明:

  -K: checksig的意思,也可以用“--checksig”代替。這個選項用來檢查 RPM 軟件包文件的md5校驗和GPG簽名。

  參數(shù)說明:file1.rpm……fileN.rpm表示需要校驗軟件包名。

  例子:如果想要校驗?zāi)硞軟件包是否被篡改或者是否損壞,可以使用如下命令檢查:

 。踨oot@localhost ~]# rpm -K nxserver-2.1.0-22.i386.rpmnxserver-2.1.0-22.i386.rpm: md5 OK這里的“md5 OK”表示文件在下載中沒有被損壞或者沒有被篡改。即這個文件是安全的。

 。踨oot@localhost ~]# rpm -K ipvsadm-1.24-6.i386.rpmipvsadm-1.24-6.i386.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#443e1821)上面的輸出表示這個軟件沒有被授權(quán)簽名,在安裝未被linux發(fā)行商授權(quán)的軟件包時,請務(wù)必謹(jǐn)慎,因為這些軟件包內(nèi)可能包含有害的代碼。

  4. 更新軟件包

  命令格式:rpm -U [輔助選項] file1.rpm……fileN.rpm主選項說明:

  -U:upgrade的意思,可以使用“--upgrade”代替。

  參數(shù)說明:file1.rpm……fileN.rpm表示需要升級的rpm文件包。

  輔助選項說明:

  --oldpackage 表示允許“升級”到一個老版本,即軟件版本降級。

  其它選項與安裝RPM軟件包輔助參數(shù)完全相同,這里不再講述。

  例子:我們將rsh從rsh-0.17-25.3升級到rsh-0.17-37.el5,步驟如下:

 。踨oot@localhost ~]# rpm -q rsh

  rsh-0.17-25.3

 。踨oot@localhost ~]# rpm -Uvh rsh-0.17-37.el5.i386.rpmwarning: rsh-0.17-37.el5.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186Preparing.。。 ######################### [100%]

  1:rsh ########################### [100%]

 。踨oot@localhost ~]# rpm -q rsh

  rsh-0.17-37.el5

  5. 刪除軟件包

  命令格式:rpm -e [輔助選項] package1……packageN主選項說明:

  -e:erase的意思,也可以用“--erase”代替。

  參數(shù)說明:package1……packageN表示已經(jīng)安裝的軟件包名稱。

  輔助選項說明:

  l --test:只執(zhí)行刪除的測試。

  l --nodeps:不檢查依賴性。

  舉例:

  (1) 刪除rsh軟件包,使用以下命令:

 。踨oot@localhost ~]# rpm -q rsh

  rsh-0.17-37.el5

 。踨oot@localhost ~]# rpm -e rsh-0.17-37.el5[root@localhost ~]# rpm -q rshpackage rsh is not installed

 。2)刪除gcc軟件包,但是存在依賴關(guān)系,操作過程如下:

 。踨oot@server ~]# rpm -e gcc

  error: Failed dependencies:

  gcc = 3.4.4-2 is needed by (installed) gcc-c++-3.4.4-2.i386gcc = 3.4.4-2 is needed by (installed) gcc-g77-3.4.4-2.i386gcc = 3.4.4-2 is needed by (installed) gcc-java-3.4.4-2.i386gcc = 3.4.3 is needed by (installed) libtool-1.5.6-4.EL4.1.i386gcc is needed by (installed) systemtap-0.4-0.EL4.i386這里又出現(xiàn)了刪除依賴性了,根據(jù)上面的提示可知,要刪除gcc軟件包,必須刪除與gcc相互依賴的五個軟件包,這個操作要非常慎重,除非知道刪除后對系統(tǒng)沒有影響,否則一定不要盲目執(zhí)行刪除操作,因為這樣可能導(dǎo)致系統(tǒng)的崩潰。

  其實我們也可以加入“--nodeps”參數(shù),忽略依賴關(guān)系,但是這樣可能會導(dǎo)致相關(guān)依賴軟件的不可用。

  三、二進制軟件安裝方式

  Linux下二進制格式的軟件是指事先已經(jīng)在各種平臺編譯安裝好相關(guān)軟件,然后壓縮打包,在安裝時只需解壓或者執(zhí)行安裝可執(zhí)行文件即可。這種軟件發(fā)行格式類似與windows系統(tǒng),這樣做的原因是保護源代碼程序不對外泄露,保護知識產(chǎn)權(quán)。二進制軟件包的優(yōu)點是安裝簡單、容易,缺點是缺乏靈活性,相應(yīng)的軟件包執(zhí)行在對應(yīng)平臺下安裝,離開這個環(huán)境軟件就無法運行。

  二進制軟件包提供了很多類型的打包方式,最常見的就是我們上節(jié)講到的RPM格式的包,還有以“*.tar.gz、*.tgz、*.bz2“等形式的二進制軟件包,最后還有一個就是提供安裝程序進行安裝的二進制軟件包。下面分別介紹:

  3.1 安裝“*.tar.gz、*.bz2”二進制軟件包

  這種格式的軟件包,安裝其實就是簡單的解壓過程,根據(jù)不同的軟件打包格式,我們用相應(yīng)的解壓命令解壓即可。

  對于*.tar.gz軟件格式解壓:tar –zxvf xxxxxx.tar.gz對于*.bz2軟件格式解壓: tar -jxvf xxxxxx.tar.gz這類軟件的卸載,對于解壓后只有單一目錄的軟件,可以直接刪除對應(yīng)軟件目錄即可,如果解壓后文件分散在幾個目錄中,需要一一手動刪除目錄。

  例如:我們常用的應(yīng)用服務(wù)器容器tomcat軟件就是基于這種打包壓縮格式發(fā)行的。我們只需下載后解壓即可完成安裝,如果需要卸載,直接刪除對應(yīng)的tomcat目錄即可。

  3.2 提供安裝程序的軟件包

  這種軟件包都提供了安裝腳本或者安裝向?qū)С绦颍恍柙谙螺d此類軟件包后解壓,然后進入安裝目錄,找到類似的setup、install、install.sh之類的可執(zhí)行文件運行即可,然后根據(jù)提示(比如安裝路徑,參數(shù)設(shè)置等等)進行相應(yīng)的設(shè)置,接著安裝就自動完成。

  這類軟件的卸載也提供了相應(yīng)的卸載腳本或者卸載向?qū),根?jù)提示即可完成軟件卸載。

  例如:經(jīng)常使用的sun jdk就是這種安裝方式,從網(wǎng)絡(luò)下載下來的jdk是個二進制可執(zhí)行文件,首先設(shè)置文件的可執(zhí)行權(quán)限(例如chmod 755 jdk1.6.0_07.bin,權(quán)限操作本書后面會有詳細講述) ,然后運行軟件(也即是。/ jdk1.6.0_07.bin)即可完成安裝。安裝完成會在當(dāng)前目錄產(chǎn)生一個對應(yīng)的jdk程序目錄。

  Linux下一些大型的軟件安裝,比如weblogic、oracle等軟件都提供了安裝向?qū)С绦颍脩艨梢愿鶕?jù)安裝提示,順利完成此類軟件的安裝。

  上面就是Linux系統(tǒng)安裝軟件的方法介紹了,如果你習(xí)慣了windows系統(tǒng),那么在使用Linux系統(tǒng)的時候多少會有些不適應(yīng),習(xí)慣后安裝Linux軟件也沒有那么難了。

標(biāo)簽 軟件安裝

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄