LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1052|回复: 8

让Debian不长一点赘肉!

[复制链接]
发表于 2005-7-30 21:16:50 | 显示全部楼层 |阅读模式
让Debian不长一点赘肉
介绍Debian里一个删除无用软件的工具debfoster,原文看这里

指令名稱:debfoster

簡要功能說明:去除 debian 中沒有用到的package, 以避免經過日積月累的使用後, 系統中多了一堆用不到的 package

詳細說明:各位應該都有過這種經驗, 有時安裝了某個 package, 結果由於 dependency, 裝了一大堆的 packages, 等到你覺得這個 package 不想用了, 要將之除去而後快時, apt-get ?K無法將之前因為 dependency 而裝的所有 packages 給全部清乾淨, 尤其是一些 develop 的 library。而某些時候就算是知道那些 package, 但是要一一手動去刪, 也是很麻煩的。
另外, debfoster 也可拿?戆惭b和移除 package 用, 方便好用。
由於 debfoster 必須要知道目前系統中那些 package 是要留著, 那些要移除, 所以剛裝好時, debfoster 會問你一坨問題, 那個 package 要保留, 所以第一次是比較辛苦的, 等到全部回答完成後, 以後有安裝新的 package, 就只會問你新的 package 要不要保留, 如果不確定那是什麼東東, 可按 I or ? ?砜茨壳斑@個 package 的資?, 以確定是否移除。
debfoster 也只是 apt-get 和 dpkg 的 frontend 而已。

參數:
Command line options
-v, --verbose
debfoster will show which packages have disappeared, have become
dependencies or (if Quiet is enabled) have become orphans.

-V, --version
Display version and copyright information.

-h, --help
Display a concise summary of the available options and argument
syntax.

-f, --force
Don't ask anything and assume 'no' as the answer to all questions.
It also installs any packages that seem to be missing, thus forc-
ing your system to comply with the debfoster database. Can have
'interesting' results if you're not careful.

-q, --quiet
Don't ask anything and assume 'yes' as the answer to all ques-
tions. Useful to create an initial /var/lib/debfoster/keepers
file or to recreate it after changing the configuration file.

-m, --mark-only
Instructs debfoster to make changes to the keeper file but not to
actually install or delete any packages. This can be used to
'edit' a keeper file by invoking debfoster one or more times in a
row. The changes can then be committed by invoking debfoster with
the --force option, which will delete/install any necessary pack-
ages. This is mainly useful for scripts and frontends, but may be
useful from the command line as well.

-u, --upgrade
If used as 'debfoster -u package' it will install or upgrade the
packages specified on the command line and try to upgrade all
packages that it relies on.

-c, --config file
Specify a different configuration file to use.

-k, --keeperfile file
Specify a different debfoster database to use.

-n, --no-keeperfile
Don't read the debfoster database and start with an empty list.

-i, --ignore-default-rules
This will instruct debfoster to ignore the UseHold, UseEssential,
MaxPriority, KeepSections, and NokeepSections settings in the con-
fig file (i.e., assume that any package can be an orphan). This is
a good option for those who really want to make sure their system
is squeaky clean. It's also useful when sharing or transferring a
keeper file between multiple machines where different config files
can cause some confusion. Properly used, -i eliminates that uncer-
tainty.

-a, --show-keepers
Lists the contents of the debfoster database.

-s, --show-orphans
List all orphaned packages that are not mentioned in the debfoster
database.

-d, --show-depends package
List all packages that this package depends on.

-e, --show-dependents package
List all packages in the debfoster database that depend on this
package.

-p, --show-providers package
List all packages that provide the dependency target specified by
package (e.g. "debfoster -p x-terminal-emulator" ).

-r, --show-related package
List all packages that are only installed because this package
depends on them.

-t, --use-tasks
Make tasks visible as packages. This will make tasks that are
selectable using tasksel(1) appear as packages named task-<label>.

-o, --option opt=val
Override any configuration option specified in the configuration
file.

範例:

debfoster --quiet
告訴 debfoster 不要問問題, 所有的問題都當成是 yes, 可用在第一次使用 debfoster 時, 將目前系統上的 packages 都保留。

debfoster gaim
安裝 gaim

debfoster gaim-
移除 gaim 和其他的 dependencies, debfoster 只會移除目前沒有任何 dependency 的 package, 所以不必怕執行後會有其他程式無法執行。

debfoster
不加任何參數, 如目前有新的 package, 會問你要不要保留, 如果是之前已告知要移除的 package, 則不會再各別問, 會直接將之全部移除

debfoster --show-keepers
顯示目前那些 packages 設為保留和不保留的列表

debfoster --show-depends wget
顯示要裝 wget 之前必須先安裝那些 packages

debfoster --show-dependents wget
顯示目前系統中有那些 package 會用到 wget

debfoster --upgrade wget
如果當初選定 wget 要移除, 下次又重新安裝 wget 時, debfoster 不會問要不要保留, 而是會直接刪除, 要是現在突然又想保留 wget 了, 只要下了這行指令, wget 就會跑到保留的行列, 不會自動被刪除。


由於某些參數沒有完全研究透轍, 只說明幾個較常用的, 其他的就請自行研究了, 當然, 有人要補充更好 吐舌頭 。

debfoster 的使用時機是每次執行 dpkg 或 apt-get 有新增或刪除 package 之後, 多用有益身心健康, 讓 debian 的身材維持苗條。

不知各位看倌是不是有看沒有懂, 連我都寫得霧剎剎了, 沒關係, 只要給他用力的執行下去, 就會懂了
发表于 2005-7-30 22:20:53 | 显示全部楼层
Mandriva 里也有 urpmi_rpm-find-leaves,可以找出不被任何软件包依赖的东西。
回复 支持 反对

使用道具 举报

发表于 2005-7-30 22:56:04 | 显示全部楼层
按照我的经验 aptitude 就有自动监测并删除无用软件包的功能。
回复 支持 反对

使用道具 举报

发表于 2005-7-30 23:00:57 | 显示全部楼层
Post by MAGPINE
按照我的经验 aptitude 就有自动监测并删除无用软件包的功能。

我也觉得,所以我现在一直用aptitude了。
回复 支持 反对

使用道具 举报

发表于 2005-7-30 23:09:24 | 显示全部楼层
不过也是一个新方法啊
回复 支持 反对

使用道具 举报

发表于 2005-7-30 23:09:25 | 显示全部楼层
真是个好的软件程序。
回复 支持 反对

使用道具 举报

发表于 2005-7-30 23:51:50 | 显示全部楼层
摩托学园来的帖子吧。

我最近常去moto发现里面的share版不错。
回复 支持 反对

使用道具 举报

发表于 2005-7-31 00:03:47 | 显示全部楼层
这个在置顶的“精华区目录”里面早就有了

  1. 三、系统维护
  2. A. APT/dpkg 和软件包的维护
  3. ...
  4. 23.学习笔记:debfoster & deborphan
  5.  [url]http://linuxsir.cn/bbs/showthread....&threadid=80827[/url]
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-7-31 01:50:36 | 显示全部楼层
哇哈哈哈

Post by fundawang
Mandriva 里也有 urpmi_rpm-find-leaves,可以找出不被任何软件包依赖的东西。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表