使用者工具

網站工具


linux:debian

這是本文件的舊版!


dpkg

查詢套件詳細資料

$ dpkg -s [套件名]

列出所有已經安裝的套件

$ dpkg -l

查詢指定套件狀態

$ dpkg -l [套件名]

第一位為期望碼,第二位為目前狀態碼。

符號 期望碼
u 未知
i 安裝
r 刪除
p 清除
h 凍結
符號 狀態碼
n
i 已安裝
c 僅存設定檔
U 僅解壓縮
F 設定失敗
H 不完全安裝

查詢套件包含的所有檔案

$ dpkg -L [套件名]

查詢 .deb 檔案中包含的檔案

$ dpkg -c [*.deb]

查詢某個檔案是哪個套件提供的

$ dpkg -S [檔案名]

Reference

自己修改 deb 檔案的相依性資訊

拿到一個 deb 檔,用 ar 解開

$ ar x file.deb

得到 debian-binary、control.tar.gz、data.tar.gz 三個檔案,再把 control.tar.gz 解開,得到 control 檔,裡面紀錄套件資訊,修改好 Depends 後,將 control.tar.gz 包回去,然後用

$ ar d file.deb control.tar.gz

將舊的 control 刪除,最後用

$ ar r file.deb control.tar.gz

將新的 control 加進去即可。

apt-build

重新編譯套件,建立最佳化套件。

# apt-get install apt-build

設定檔放在 /etc/apt/apt-build.conf,接著更新套件清單

# apt-build update

安裝套件

# apt-build install [套件名]

如果要重新安裝套件

# apt-build --reinstall install [套件名]

相關檔案放在 /var/cache/apt-build 中。

將系統中所有套件重新編譯最佳化

首先將系統內所有已經安裝的套件列出來

# dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list

全系統編譯,需要非常久的時間

# apt-build world

auto-apt

如果套件沒有 debianize,要手動用 tarball 編譯,而 configure 時會因相依性不足,需要手動安裝許多套件,auto-apt 即可自動安裝相依套件,先安裝 auto-apt,然後更新清單

# auto-apt update

接著 configure 套件,若遇到缺少的套件,會另外跳出一個視窗詢問是否要安裝套件。

# auto-apt run ./configure
# make
# make install

用 checkinstall 替代 make install

編譯核心

安裝所需套件

apt-get install libncurses5-dev kernel-package linux-source

到 /usr/src 將下載下來的 tar.bz2 檔案解壓縮,然後將 /boot/config-x.x.xx-xxx 這個設定檔複製到解開的目錄下,並更名成 .config。

make-kpkg clean

修改設定檔

make menuconfig

將核心編譯成 dpkg 檔

make-kpkg --revision xxx.xxx --config=menuconfig --initrd binary-arch

完成後將會產生兩個 deb 檔案,利用 dpkg -i 將這兩個套件安裝即可。

useful ubuntu links

How to install ANYTHING in Ubuntu!

Top 10 Ubuntu apps and tweaks

Ubuntu 7.04 跑 WoW

linux/debian.1248945998.txt.gz · 上一次變更: 2009/07/30 17:26 由 wenpei