aptitude README ,Search Pattern 一節之中譯

Debian 有很多實用的工具如: apt 系列 、 update- 系列,但是我們卻常常忽略了!這個版就是要大家一起來分享您在使用 debian 特殊指令的經驗!請大家共襄盛舉囉!注意不要在此提問問題喔!

aptitude README ,Search Pattern 一節之中譯

文章d2207197 » 週三 11月 24, 2004 3:22 am

最近才發現 aptitude 的搜尋能力真的很強,比 apt-cache 強大太多了,但似乎少少人提及。

Search patten 可以用在命令列上的 aptitude search 參數
,也可用在 aptitude 中使用 / 搜尋時。
命令列上就像這樣用:
代碼: 選擇全部
# 找出已安裝套件中,名稱有 emacs 的套件。
  $ aptitude search '~i~nemacs'
# 找出可升級的 gnome or kde 相關程式
  $ aptitude search '~U(~sgnome|~skde)'
# 找出名稱中或description 中有 ftp 字樣的未安裝套件
  $ aptitude search '~g(~nftp|~d\<ftp\>)'
# 有哪些 MTA 軟體可以安裝
  $ aptitude search '~Pmail-transport-agent'



下面是小弟將 aptitude README 中,Search Pattern 一節翻譯後的內容。

其實這篇只是告知大家有這樣的東西,但不推薦直接閱讀小弟的翻譯。因為小弟翻譯能力可能很差,還是建議大家看原文啦。

aptitude 中按「求助」->「用戶手冊」
或是看 /usr/share/doc/aptitude/README

代碼: 選擇全部
搜尋樣式(Search Pattern)

當你搜尋一個套件,或在 aptitude 中設定一個顯示限制(Display
Limit),你所輸入的字串就被認為是一個搜尋樣式(Search Pattern)。
雖然搜尋樣式最為基本的使用方式就是去符合套件名稱,但
aptitude 允許你做更為複雜的搜尋。

一個搜尋樣式由一個或更多條件(有時候被稱為「terms」)組成;也
就是說,套件符合了該樣式,也就符合了所有的 terms。Terms 通常
以 ~ 為開頭,並跟隨著一個用來判別 term 類型的字元,然後緊接
著該 term 需要的其他文字。

大部份的文字搜尋(像是套件名稱、描述(descriptions)等等)使用
無關呼大小寫的正規表示式(regular expressions)。這代表你必須
在搜尋中以反斜線來防止正規表示示的特殊字元做特殊解釋(如,要
找「g++」,你應該用「g\+\+」作為搜尋樣式)。

下面列出可使用的 terms 類型:

  name
   符合此正規表示式的套件名稱。這是「預設」的搜尋模
   式,而且不需要以 ~ 字元為開頭。

    [注]

         要比對包含多個不同子字串的套件,可以用 ~n 比對
         (下面將會談到);例如,「~napti~tude」


  !term
   不符合此 term 的套件。例如,「!~b」會找出沒有
   「broken」的套件。

    [注]

         要在正規表示式中使用「!」字元,必須要「跳脫」
         來防止 aptitude 將他解讀為 NOT term:「~!」。


  term1 | term2
   符合 term1 或 term2 的套件。

    [注]

         要在正規表示式中使用「!」字元,必須要「跳脫」
         來防止 aptitude 以為他是 OR term:「~|」


  (term)
   符合 term 的套件;這對於指定複雜的分類表示式是很
   有用的。舉例來說,「~D(perl|python)」會找出任何相依
   於名稱中有 perl 或 python 的套件的套件。


  ~Aarchive
   符合那些可由 archive 中取得的套件,其中 archive
   可用正規表示式。例如,「~Atesting」會找出任何可由
   testing archive 取得的套件。


  ~Btype
   符合並未滿足某類(type)相依性(「broken」)的套件。
   type 可是是「depends」、「predepends」、「recommends」
        、「suggests」、「conflicts」,或「replaces」。



  ~b
   符合「broken」的套件;他們未滿足相依性(dependency)、
   predependency、或衝突(conflicts)


  ~Cterm
   符合那些與 term 符合的套件相衝突的套件。例如,
   「~C~mburrows@debian.org」 會找出任何與我維護的套件
   相衝突的套件。


  ~c
   符合已被移除的套件,除了那些還保留著設定檔的(也就是,
   被 remove 但沒有被 purge)


  ~D[type:]term
   type 可能是「provides」或是其他上述 ~B 所說明的相依
   性類型之一。如果沒有指定 type,預設會是 depends。

   如果 type 是「provides」,就會符合那些 provide 符合
   term 的套件(等同於 ~P)。否則,將會符合那些 type 類
   型相依性符合該 term 的套件。


  ~ddescription
   符合那些套件,看誰的 description 符合該正規表示式
   description。


  ~E
   符合那些必要的套件。


  ~F
   這個 term 不會符合任何套件(「F」 意味著 「false」)。


  ~g
   符合那些沒被安裝套件,或被自動安裝但沒被任何已安裝套
   件相依的套件。


  ~i
   符合當前已安裝的套件。


  ~M
   符合被自動安裝的套件。


  ~mmaintainer
   符合那些 Maintainer 欄位符合該正規表示式 maintainer
   的套件。例如,「~mjoeyh」將會找出所有被 Joey Hess 維
   護的套件。


  ~N
   符合那些「新」套件。


  ~nname
   符合那些名稱符合該正規表示式 name 的套件。例如,大多
   符合「~n^lib」的套件就是這個樣子的函式庫。


  ~Oorigin
   符合那些來源(origin)符合該正規表示式 origin的套件。
   例如,「!~ Odebian」將會找出你電腦所有非官方的套件
   (也就是不是從 Debian 套件庫取得的套件)。


  ~Pterm
   找出那些 provide 中符合 term 的套件。例如,「~
   Pmail-transport-agent」會符合所有 provide
   「mail-transport-agent」的套件。


  ~ppriority
   符合那些優先權(priority)為 priority 的套件;priority
   必須是 extra、important、optional、required,或
   standard。例如,「~prequired」符合所有優先權為
   「required」的套件。


  ~R[type:]term
   type 可能是 「provides」或是任何在文件中的 ~B 所提及
   的相依性類型。如果沒有指定 type,預設上他會是
   depends。


  ~ssection
   符合那些 section 符合該正規表示式 section 的套件。


  ~T
   這個 term 符合任何套件。例如,「~i~P~T」會符合所有已
   安裝且被 provide 的套件。


  ~U
   這個 term 符合所有可升級的已安裝套件。


  ~Vversion
   符合那些版本(version)符合該正規表示式 version 的套件。
   例如,「~Vdebian」會符合那些版本含有「debian」的套件。


  ~v
   符合任何純 virtual 的套件;也就是說,他的名字由一個
   套件 provide,或在相依性中提到,但沒有那個名稱的套件。
   例如,「~v!~P~T」 符合所有為 virtual 而且沒被任何套
   件 provide;即,套件被相依但不存在。

頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:aptitude README ,Search Pattern 一節之中譯

文章kanru » 週三 11月 24, 2004 8:05 am

真厲害! :finger1: :finger1:
說不定 aptitude 還有很多功能可以挖 8-)
圖檔
頭像
kanru
榮譽學長
榮譽學長
 
文章: 578
註冊時間: 週六 7月 12, 2003 12:09 pm

re:aptitude README ,Search Pattern 一節之中譯

文章louie » 週三 11月 24, 2004 8:34 am

哇,aptitude 還真強
安裝 grep-dctrl 後也有類似類的功能

># 找出已安裝套件中,名稱有 emacs 的套件。
> $ aptitude search '~i~nemacs'
grep-status -F Package -s Package -d -i emacs

># 找出可升級的 gnome or kde 相關程式
> $ aptitude search '~U(~sgnome|~skde)'
??????

># 找出名稱中或description 中有 ftp 字樣的未安裝套件
> $ aptitude search '~g(~nftp|~d\<ftp\>)'
grep-available -s Package -d -i ftp

># 有哪些 MTA 軟體可以安裝
> $ aptitude search '~Pmail-transport-agent'
grep-available -F Provides mail-transport-agent -s Package -d
louie
快樂的大學生
快樂的大學生
 
文章: 593
註冊時間: 週一 9月 09, 2002 7:58 pm

re:aptitude README ,Search Pattern 一節之中譯

文章阿信 » 週三 11月 24, 2004 9:50 am

打個小廣告,無痛起步的書也有翻譯和說明 aptitude 的收尋喔 ;-)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

Re: re:aptitude README ,Search Pattern 一節之中譯

文章d2207197 » 週三 11月 24, 2004 10:11 am

阿信 寫:打個小廣告,無痛起步的書也有翻譯和說明 aptitude 的收尋喔 ;-)

唔~~真抱歉,還沒翻過這本書。
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

Re: re:aptitude README ,Search Pattern 一節之中譯

文章阿信 » 週三 11月 24, 2004 10:11 pm

d2207197 寫:
阿信 寫:打個小廣告,無痛起步的書也有翻譯和說明 aptitude 的收尋喔 ;-)

唔~~真抱歉,還沒翻過這本書。


it's ok...:-)
我只是跳出來打廣告而已...:D
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:aptitude README ,Search Pattern 一節之中譯

文章d2207197 » 週一 11月 29, 2004 1:35 am

小弟突然覺得這篇應該放到 debian command
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:aptitude README ,Search Pattern 一節之中譯

文章阿信 » 週一 11月 29, 2004 9:05 am

hmmm....那我幫您移一下位置好了...:-)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章訪客 » 週三 12月 28, 2005 7:59 am

最新的 aptitude 又多了 ~Gtag 的 tag 搜尋功能喔!!!

比如說找 gtk 寫的 html 編輯軟體
代碼: 選擇全部
$ aptitude search ~Ghtml~Gediting~Gapplication~Ggtk



找 gtk qt 寫的電子相關軟體
代碼: 選擇全部
$ aptitude search '~Gfield::electronics(~Guitoolkit::gtk|~Guitoolkit::qt)~Gx11::application'
訪客
 


回到 debian command

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客