铝合金抗拉强度公式:linux RPM 安裝,升級,查詢

来源:百度文库 编辑:偶看新闻 时间:2024/05/08 08:19:51
linux RPM 安裝,升級,查詢date:星期一, 六月 23rd, 2008 at 5:38 下午 Categories:linux
安裝就是 install 嘛!所以囉,使用 rpm 來安裝就很簡單啦!假設我要安裝一個檔名為 rp-pppoe-3.1-5.i386.rpm 的檔案,那麼我可以這樣( 記得某些套件可能需要以系統管理員的身份來安裝 ):
[root@linux ~]# rpm -i rp-pppoe-3.1-5.i386.rpm
不過,這樣的參數其實無法顯示安裝的進度,所以,通常我們會這樣下達安裝指令:
[root@linux ~]# rpm -ivh package_name
參數:
-i :install 的意思
-v :察看更細部的安裝資訊畫面
-h :以安裝資訊列顯示安裝進度
範例:範例一:安裝 rp-pppoe-3.1-5.i386.rpm
[root@linux ~]# rpm -ivh rp-pppoe-3.1-5.i386.rpm
Preparing...     ####################################### [100%]
1:rp-pppoe    ####################################### [100%]範例二、一口氣安裝兩個以上的套件時:
[root@linux ~]# rpm -ivh a.i386.rpm b.i386.rpm *.rpm
# 後面直接接上許多的套件檔案!範例三、直接由網路上面的某個檔案安裝,以網址來安裝:
[root@linux ~]# rpm -ivh http://website.name/path/pkgname.rpm
使用 RPM 來升級真是太簡單了!就以 -Uvh 或 -Fvh 來升級即可(註:vh 的功能仍是在於顯示細部資訊與安裝進度而已)!不過,這兩種升級方式是不太一樣的:
-Uvh 後面接的套件即使沒有安裝過,則系統將予以直接安裝; 若後面接的套件有安裝過舊版,則系統自動更新至新版;
-Fvh
如果後面接的套件並未安裝到您的 Linux 系統上,則該套件不會被安裝;亦即只有安裝至您 Linux 系統內的套件會被『升級』!RPM 在查詢的時候,其實查詢的地方是在 /var/lib/rpm 這個目錄下的資料庫檔案啦!另外, RPM 也可以查詢檔案內的資訊喔!那如何去查詢呢?我們底下以 簡單的範例來說明:
[root@linux ~]# rpm -qa[root@linux ~]# rpm -q[licdR] 已安裝的套件名稱[root@linux ~]# rpm -qf 存在於系統上面的某個檔案[root@linux ~]# rpm -qp[licdR] 未安裝的某個檔案名稱參數:在查詢的部分,所有的參數之前都需要加上 -q 才是所謂的查詢!查詢主要分為兩部分,一個是查已安裝,另一個則是查某個 rpm 檔案內容。查詢已安裝套件的資訊:-q :僅查詢,後面接的套件名稱是否有安裝;-qa :列出所有的,已經安裝在本機 Linux 系統上面的所有套件名稱;-qi :列出該套件的詳細資訊 (information),包含開發商、版本與說明等;-ql :列出該套件所有的檔案與目錄所在完整檔名 (list);-qc :列出該套件的所有設定檔 (找出在 /etc/ 底下的檔名而已)-qd :列出該套件的所有說明檔 (找出與 man 有關的檔案而已)-qR :列出與該套件有關的相依套件所含的檔案 (Required 的意思)-qf :由後面接的檔案名稱,找出該檔案屬於哪一個已安裝的套件;查詢某個 RPM 檔案內含有的資訊:-qp[icdlR]:注意 -qp 後面接的所有參數以上面的說明一致。但用途僅在於找出某個 RPM 檔案內的資訊,而非已安裝的套件資訊!注意!範例:
範例一:找出你的 Linux 是否有安裝 logrotate 這個套件?[root@linux ~]# rpm -q logrotatelogrotate-3.7.1-10[root@linux ~]# rpm -q logrotatingpackage logrotating is not installed# 注意到,系統會去找是否有安裝後面接的套件名稱。注意,# 不必要加上版本喔!至於顯示的結果,一看就知道有沒有安裝啦!
範例二:列出上題當中,該套件的所有目錄與檔案:[root@linux ~]# rpm -ql logrotate/etc/cron.daily/logrotate/etc/logrotate.conf……以下省略……# 可以看出該套件到底提供了多少的檔案與目錄。
範例三:列出 logrotate 這個套件的相關說明資料:[root@linux ~]# rpm -qi logrotateName : logrotate Relocations: (not relocatable)Version : 3.7.1 Vendor: Red Hat, Inc.Release : 10 Build Date: Fri Apr 1 03:54:42 2005Install Date: Sat Jun 25 08:28:26 2005 Build Host: tweety.build.redhat.comGroup : 系統環境/基礎 Source RPM: logrotate-3.7.1-10.src.rpmSize : 47825 License: GPLSignature : DSA/SHA1, Sat May 21 01:34:11 2005, Key ID b44269d04f2a6fd2Packager : Red Hat, Inc.Summary : 循環、壓縮、移除以及郵寄系統紀錄檔案。Description :The logrotate utility is designed to simplify the administration oflog files on a system which generates a lot of log files. Logrotateallows for the automatic rotation, compression, removal, and mailing oflog files. Logrotate can be set to handle a log file daily, weekly,monthly, or when the log file gets to a certain size. Normally,logrotate runs as a daily cron job.# 列出該套件的 information (資訊),裡面的資訊可多著呢,包括了套件名稱、# 版本、開發商、SRPM檔案名稱、打包次數、簡單說明資訊、套件打包者、# 安裝日期等等!如果想要詳細的知道該套件的資料,用這個參數來瞭解一下
範例四:分別僅找出 logrotate 的設定檔與說明檔[root@linux ~]# rpm -qc logrotate[root@linux ~]# rpm -qd logrotate
範例五:若要成功安裝 logrotate ,他還需要什麼檔案的幫忙?[root@linux ~]# rpm -qR logrotate/bin/shconfig(logrotate) = 3.7.1-10libc.so.6….以下省略….# 由這裡看起來,呵呵~還需要很多檔案的支援才行喔!
範例六:由上面的範例五,找出 /bin/sh 是那個套件提供的?[root@linux ~]# rpm -qf /bin/shbash-3.0-31# 這個參數後面接的可是『檔案』吶!不像前面都是接套件喔!# 這個功能在查詢系統的某個檔案屬於哪一個套件所有的。
範例七:假設我有下載一個 RPM 檔案,想要知道該檔案的需求檔案,該如何?[root@linux ~]# rpm -qpR filename.i386.rpm# 加上 -qpR ,找出該檔案需求的資料!
常見的查詢就是這些了!要特別說明的是,在查詢本機上面的 RPM 套件相關資訊時, 不需要加上版本的名稱,只要加上套件名稱即可!因為他會由 /var/lib/rpm 這個資料庫裡面去查詢, 所以我們可以不需要加上版本名稱。但是查詢某個 RPM 檔案就不同了, 我們必須要列出整個檔案的完整檔名才行~ 這一點朋友們常常會搞錯。底下我們就來做幾個簡單的練習吧!
例題:我想要知道我的系統當中,以 c 開頭的套件有幾個,如何實做?
rpm -qa | grep ^c | wc -l
我的 WWW 伺服器為 Apache ,我知道他使用的 RPM 套件檔名為 httpd 。現在,我想要知道這個套件的所有設定檔放置在何處,可以怎麼作?
rpm -qc httpd
承上題,如果查出來的設定檔案已經被我改過,但是我忘記了曾經修改過哪些地方,所以想要直接重新安裝一次該套件,該如何作?
假設該套件在網路上的網址為:http://web.site.name/path/httpd-x.x.xx.i386.rpm則我可以這樣做:rpm -ivh http://web.site.name/path/httpd-x.x.xx.i386.rpm –replacepkgs
如果我誤砍了某個重要檔案,例如 /etc/crontab,偏偏不曉得他屬於哪一個套件,該怎麼辦?!
雖然已經沒有這個檔案了,不過沒有關係,因為 RPM 有紀錄在 /var/lib/rpm 當中的資料庫啊!所以直接下達:rpm -qf /etc/crontab就可以知道是那個套件囉!重新安裝一次該套件即可!