dpkg -l 與 dpkg --get-selections ?

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

dpkg -l 與 dpkg --get-selections ?

文章banyan » 週六 3月 15, 2003 1:44 pm

不懂 dpkg -l 與 dpkg --get-selections 之間的差異...

在"Debain 無痛起步法"中,
兩者的說明都是 "列出系統中所有安裝的軟體",
但man出來的說法不一樣,不了解... :-?
頭像
banyan
可愛的小學生
可愛的小學生
 
文章: 35
註冊時間: 週五 3月 14, 2003 5:16 pm
來自: 台中

re:dpkg -l 與 dpkg --get-selections ?

文章阿信 » 週六 3月 15, 2003 1:55 pm

無痛起步並沒有說錯呢。

只是dpkg --get-selections有不同的意義和用法。

比如說我打 dpkg --get-selections > result

將result的兩個package改成以下那樣。

zlib1g uninstall
zlib1g-dev uninstall

然後再打dpkg --set-selections < result

你猜會發生甚麼事情呢?...嘿嘿黑...
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:dpkg -l 與 dpkg --get-selections ?

文章moto » 週六 3月 15, 2003 2:11 pm

dpkg -l 是很單純的已安裝軟體列表啦,至於 dpkg --get-selections 其實奧妙是像阿信說的囉..

舉個簡單的例子:

下 :
代碼: 選擇全部
dpkg --get-selections > /tmp/list.txt


大概會看到如下內容:

代碼: 選擇全部
fortunes-min                                    install
fping                                           install
freetype1-tools                                 install
freetype2                                       install
frozen-bubble                                   deinstall
frozen-bubble-data                              install
ftp                                             install
g++                                             install
g++-3.2                                         install
gaim                                            install
gaim-gnome                                      deinstall
galeon-nautilus                                 deinstall
garchiver                                       deinstall
gawk                                            install
gcc                                             install
gcc-2.95                                        install
gcc-3.0                                         install
gcc-3.0-base                                    install
gcc-3.1-base                                    install


然後你可以用編輯器像 vim 去編輯他。

假設一個狀況..你明明知道新版的 gaim 有問題,但是下了 apt-get update;apt-get upgrade 之後系統告訴你 gaim 要升級到新版嚕...但是 gaim 新版有問題..但是你又是每天必須透過 gaim 傳送訊息,怎麼辦?

當然你可以今天系統的軟體都不要升級!但是如果今天又剛好有升級 mozilla 之類你想用新版的軟體,怎麼辦呢?

嘿嘿...這妙用就在這邊嚕 , 繼續上頭說的,用 vim 或任何編輯器編輯剛剛 get 出來的 list.txt 找到 gaim 那行將後面的 install 改成 hold :

代碼: 選擇全部
gaim                                            hold


存檔,然後下底下命令:

代碼: 選擇全部
dpkg --set-selections < /tmp/list.txt


將新的軟體資料庫表導回給 dpkg ,然後再下:

代碼: 選擇全部
# apt-get update;apt-get upgrade


您就會發現除了 gaim 以外該升級的軟體都升級嚕.. ;-)[/code]
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

re:dpkg -l 與 dpkg --get-selections ?

文章banyan » 週六 3月 15, 2003 2:13 pm

阿信 寫:無痛起步並沒有說錯呢。

只是dpkg --get-selections有不同的意義和用法。

比如說我打 dpkg --get-selections > result

將result的兩個package改成以下那樣。

zlib1g uninstall
zlib1g-dev uninstall

然後再打dpkg --set-selections < result

你猜會發生甚麼事情呢?...嘿嘿黑...



所以說,我不了解 dpkg --get-selection 應用在何種場合.

另外,我下 dpkg -l |grep pop3,得結果如下行:
hi mailutils-pop3 20020409-1 Mailutils-based POP3 Daemon

下 dpkg --get-selection |grep pop3,得結果如下行:
mailutils-pop3d hold

為什麼一個pkg name是"mailutils-pop3",另一個是"mailutils-pop3d"? :-?
頭像
banyan
可愛的小學生
可愛的小學生
 
文章: 35
註冊時間: 週五 3月 14, 2003 5:16 pm
來自: 台中

re:dpkg -l 與 dpkg --get-selections ?

文章阿信 » 週六 3月 15, 2003 3:06 pm

我的testing裡面只有mailutils-pop3d呢沒有mailutils-pop3

當你打dpkg -l |grep pop3出現
hi mailutils-pop3 20020409-1 Mailutils-based POP3 Daemon

有可能是因為你的terminal太小,所以mailutils-pop3d被cut掉最後一個字d。

打terminal最大化在重打一次指令,應該就會看到
hi mailutils-pop3d 20020409-1 Mailutils-based POP3 Daemon
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:dpkg -l 與 dpkg --get-selections ?

文章banyan » 週六 3月 15, 2003 3:38 pm

阿信 寫:打terminal最大化在重打一次指令,應該就會看到
hi mailutils-pop3d 20020409-1 Mailutils-based POP3 Daemon


是了...就是這個原因, 害我困惑了好久... :ooops:
謝謝您 :-D
頭像
banyan
可愛的小學生
可愛的小學生
 
文章: 35
註冊時間: 週五 3月 14, 2003 5:16 pm
來自: 台中


回到 debian misc

誰在線上

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