作者 主題: rpm -qa 和 rpm -q 的不同?  (閱讀 7849 次)

0 會員 與 1 訪客 正在閱讀本文。

def123452002

  • 憂鬱的高中生
  • ***
  • 文章數: 93
    • 檢視個人資料
rpm -qa 和 rpm -q 的不同?
« 於: 2010-06-04 23:15 »
鳥哥那裡已看過了

-q :僅查詢,後面接的軟體名稱是否有安裝;
-qa :列出所有的,已經安裝在本機 Linux 系統上面的所有軟體名稱;

但還是不懂

rpm -qa 和 rpm -q 的不同?

二種都可以找,但是好像又有不同

不知有何分別

而且若下 rpm -qa | grep bind

才能找出相關的檔案

用rpm -q 和 rpm -qa
找出來的好像都是相同的?

我試的都只能找出一個bind檔

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #1 於: 2010-06-05 09:58 »
單純用 rpm -q 是需要再指定參數的
rpm -qa 則全部列出 rpm db 中已安裝的 packages

def123452002

  • 憂鬱的高中生
  • ***
  • 文章數: 93
    • 檢視個人資料
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #2 於: 2010-06-07 12:16 »
感謝 netman

稍微有了解了

但是還有一點不太了解的是

大部份書上和老師都教導要找是否已安裝rpm的檔案要

用rpm -qa bind 更多人建議要用rpm -qa |grep bind

而不是

rpm -q bind

這是我不了解的地方

二種搜尋比較起來rpm -q會比較快

看起來好像都一樣,為何大多數人都說要用 rpm -qa 而不是rpm -q呢

請netman再指點我一下謝謝
« 上次編輯: 2010-06-07 12:25 由 def123452002 »

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #3 於: 2010-06-07 12:34 »
都可以啊

用 rpm -qa | grep xxx 可以找到所有含有 xxx 的套件
但如果 rpm -q xxx 就只能找到 xxx 這個套件本身

def123452002

  • 憂鬱的高中生
  • ***
  • 文章數: 93
    • 檢視個人資料
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #4 於: 2010-06-07 15:23 »
那意思是說,

rpm -qa bind

rpm -q bind

其實是相同的囉

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #5 於: 2010-06-08 09:24 »
WYSIWYG

kknrs29423

  • 懷疑的國中生
  • **
  • 文章數: 58
    • 檢視個人資料
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #6 於: 2010-06-08 11:54 »
WYSIWYG

又學到一個東西  ;D

to樓主,
我覺得這問題不用這麼鑽牛角尖啦@@

-q or -qa,這2個就結果來說,可以一樣也可以不一樣,要看你怎麼使用。一般會建議用 -qa 搭配 grep 來搜尋就是因為這樣最容易符合需求。

而過程來說我相信2個query DB的方式也不同,-q大概是搜尋特定欄位吧,或是有用到其他的條件,所以速度才會快,但結果就是很死板,-qa大概就是full scan吧,所以慢,但得到的結果就比較多啦。

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #7 於: 2010-06-08 14:37 »
那意思是說,
rpm -qa bind

rpm -q bind
其實是相同的囉

rpm -qa bind 一般沒人這樣用,會這樣使用通常會是這樣的:

代碼: [選擇]
rpm -qa "bind*"
I am kenduest - 小州

my website: http://kenduest.sayya.org/

def123452002

  • 憂鬱的高中生
  • ***
  • 文章數: 93
    • 檢視個人資料
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #8 於: 2010-06-08 15:41 »
我承認我有點鑽牛角尖

但是就是常用

就覺得好像沒有什麼不同

為什麼要多打一個a呢?

一定有他的道理,可是也沒有人可以說出個所以然

大家都說用就對了

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #9 於: 2010-06-08 15:43 »
我承認我有點鑽牛角尖
但是就是常用
就覺得好像沒有什麼不同
為什麼要多打一個a呢?
一定有他的道理,可是也沒有人可以說出個所以然
大家都說用就對了

what ? rpm -qa 一般單獨使用啊,可以列出已經安裝的所有套件清單。

rpm -qa | grep xxx 不是很清楚嗎?
I am kenduest - 小州

my website: http://kenduest.sayya.org/

def123452002

  • 憂鬱的高中生
  • ***
  • 文章數: 93
    • 檢視個人資料
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #10 於: 2010-06-08 16:01 »
我承認我有點鑽牛角尖
但是就是常用
就覺得好像沒有什麼不同
為什麼要多打一個a呢?
一定有他的道理,可是也沒有人可以說出個所以然
大家都說用就對了

what ? rpm -qa 一般單獨使用啊,可以列出已經安裝的所有套件清單。

rpm -qa | grep xxx 不是很清楚嗎?

我所說的重點是
rpm -q bind
rpm -qa bind

好像是不是沒有不同呢?

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #11 於: 2010-06-08 16:11 »
我所說的重點是
rpm -q bind
rpm -qa bind
好像是不是沒有不同呢?

首先,rpm -q xxx,這就是快速去 rpmdb 內快出撈出 xxx 該套件的資訊,會顯示 xxx 該完整資訊,像是版本編號等... 一般常用於該 xxx 套件包已經安裝時候要查詢該資訊時候使用的。該指令使用上都會很快,所以很好用。

rpm -qa 是去資料庫內調閱所有已經安裝上的套件清單資訊,所以你用 rpm -qa xxx 這變成先去資料庫內調閱所有已經安裝上的套件清單,然後再找套件名稱為 xxx 的項目。這樣使用效率很差,所以一般沒人這樣使用。實務上會使用 rpm -qa 而已,但是不會使用 rpm -qa xxx 的語法。

rpm -qa 後面會接套件名稱,通常都是要配合萬用字元,或其他參數。像是:

代碼: [選擇]
rpm -qa "bind*"
這就是找 bind 開頭套件包資訊。

代碼: [選擇]
rpm -qa "bind*" --queryformat "%{name}-%{version}-%{release}.%{arch}\n"
這是列出所需要 bind 開頭套件包內的完整資訊,包含 package name + version + release + arch。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

def123452002

  • 憂鬱的高中生
  • ***
  • 文章數: 93
    • 檢視個人資料
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #12 於: 2010-06-08 16:13 »
感謝你回復鑽牛角尖的我

總算讓我了解了 ;D

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #13 於: 2010-06-08 16:18 »
我所說的重點是
rpm -q bind
rpm -qa bind

好像是不是沒有不同呢?

只能說, 這兩個指令查詢得到的結果是一樣的
多一個『a』就已經是不同了, 看你怎麼用而已
或許樓主的系統裡, 來來去去跟  bind 有關的套件就只有一個
所以這兩個指令試來試去得到的結果都完全一樣
樓主要不要換個套件名查詢看看啊~ 例如 perl..

代碼: [選擇]
$ rpm -qa perl*
perl-DBI-1.52-2.el5
perl-Convert-ASN1-0.20-1.1
perl-5.8.8-27.el5
perl-URI-1.35-3
perl-BSD-Resource-1.28-1.fc6.1
perl-DBD-MySQL-3.0007-2.el5
perl-String-CRC32-1.4-2.fc6
$ rpm -q perl
perl-5.8.8-27.el5

acty

  • 鑽研的研究生
  • *****
  • 文章數: 694
    • 檢視個人資料
    • UNIX 管理者的學習紀錄
回覆: rpm -qa 和 rpm -q 的不同?
« 回覆 #14 於: 2010-06-10 00:24 »
感謝你回覆鑽牛角尖的我

總算讓我瞭解了 ;D

還好啦... 順便大家複習一下

我也喜歡用 rpm -qa | grep xxx  , 因為有時候不見得記的住套件全名, 或是去 grep 版本
如果知道套件名稱才會 rpm -q xxx
~~破窗計畫來囉~~~

學習與挑戰是我的樂趣... HIT!!
我知道的不多  但歡迎大家以起來討論

UNIX 管理者的學習紀錄 - http://actychen.wordpress.com