LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: f.s.vivian

卸载软件时 要怎样才可以把配置文件都删除?

[复制链接]
发表于 2008-1-28 13:10:23 | 显示全部楼层
好像是手动修改过的配置文件就会保留下来.另外貌似卸载过后系统中会留下死链结.
回复 支持 反对

使用道具 举报

发表于 2008-1-28 13:14:12 | 显示全部楼层
你可以自己做个实验来验证一下
我还是第一次听说手工改过就会保留的说法,虽然这听起来像是个不错的特性
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-28 18:43:05 | 显示全部楼层
Post by Blahster;1811936
好像是手动修改过的配置文件就会保留下来.另外貌似卸载过后系统中会留下死链结.


什么叫死链接?
回复 支持 反对

使用道具 举报

发表于 2008-1-29 00:49:02 | 显示全部楼层
http://www.gentoo.org/doc/en/han ... l?part=2&chap=1
Removing Software

When you want to remove a software package from your system, use emerge --unmerge. This will tell Portage to remove all files installed by that package from your system except the configuration files of that application if you have altered those after the installation. Leaving the configuration files allows you to continue working with the package if you ever decide to install it again.

However, a big warning applies: Portage will not check if the package you want to remove is required by another package. It will however warn you when you want to remove an important package that breaks your system if you unmerge it.

看来只是留下一个配置文件,

还比较干净。
回复 支持 反对

使用道具 举报

发表于 2008-1-29 01:42:35 | 显示全部楼层
好有些发行版就是记录了包在安装时配置文件的MD5,当卸载时如果发现配置文件MD5校验有变化就会保留配置文件,如果没变化就连同配置文件一起删除了。


如果是包的升级,一般看新包是否在配置文件里增加了新的配置参数,如果没有,就保留原先的配置文件;如果有,则自动将配置文件改名,并在包安装完毕后给出提示信息。

改名的规则也是有不同的,如果新版本的包在旧的配置文件下可以正常工作,这时会将新包里的配置文件改名,比如叫做vsftpd.conf.new之类的,是否更新由用户自己去决定,如果该软件包升级后一定要使用新的配置文件才能让程序正常运行,则将旧配置文件修改为类似于vsftpd.conf.old之类的名称,然后提示用户编辑配置文件。

这样做显得更加智能,不过包维护者要细心一点。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-29 02:26:38 | 显示全部楼层
Post by 狱卒;1812156
这样做显得更加智能,不过包维护者要细心一点。

智能???怎么看都像微软的“智能”
这不符合linux的风格,也不符合kiss原则
(要知道linux里删除文件都不给提示的。要删就删,既然是用户的选择,系统哪来这么多废话)

举个例子:
为了自定义某个软件a,我手动改了配置文件.
但是后来,我发现了一个更加好的软件b,于是把a卸载了。
这个时候,我还有可能再用a吗?
“改过配置文件”==“用户一定需要该软件”???

如果一个包管理系统真的智能   就因该考虑到这一点。
卸载一个软件的时候,如果要保留,就应该设一个集中营
把所有改动过的配置文件  个人信息,按软件名称归类,移到集中营里去。
这样一目了然,要不要保留完全让用户选择,岂不是更好?
回复 支持 反对

使用道具 举报

发表于 2008-1-29 03:16:27 | 显示全部楼层
Post by f.s.vivian;1812161
智能???怎么看都像微软的“智能”
这不符合linux的风格,也不符合kiss原则
(要知道linux里删除文件都不给提示的。要删就删,既然是用户的选择,系统哪来这么多废话)

举个例子:
为了自定义某个软件a,我手动改了配置文件.
但是后来,我发现了一个更加好的软件b,于是把a卸载了。
这个时候,我还有可能再用a吗?
“改过配置文件”==“用户一定需要该软件”???

如果一个包管理系统真的智能   就因该考虑到这一点。
卸载一个软件的时候,如果要保留,就应该设一个集中营
把所有改动过的配置文件  个人信息,按软件名称归类,移到集中营里去。
这样一目了然,要不要保留完全让用户选择,岂不是更好?

我并没有说改过就一定需要,很多时候也许你加个参数就行了,例如在ArchLinux下,默认的是你改过就会保留,并会在包移除完毕时在屏幕上打印出相关信息,提示你有配置文件被保留以及被保留下来的配置文件名称,如果你想要在删除软件包的同时删除配置文件(无论有没有修改过该配置文件),只需要在pacman -R后加上一个n,亦即是pacman -Rn即可,至于emerge我暂时也不知道有没有类似的参数。

你如果觉得这太像微软的作风了,那我也无话可说。
回复 支持 反对

使用道具 举报

发表于 2008-1-29 07:50:06 | 显示全部楼层
http://blog.chinaunix.net/u/21370/showart_183372.html
這有查找孤儿文件的程序。
回复 支持 反对

使用道具 举报

发表于 2008-1-29 10:31:39 | 显示全部楼层
我本来还想在另外一个贴子里说:算了,体谅体谅新人
不过你这个贴,让我实在看不下去了
就算你是这个项目的老大,你也没任何权力用这种口气对这个社区里的任何人,不管是开发者还是普通用户,说话
自由软件社区里的任何贡献者,都是志愿者。就算你是公司老板,也不能这么对员工说话。
用不惯就算了,不用强求。
两害相权取其轻,如果要在破坏了社区的氛围和失去你这样一个用户之前权衡,大家都会毫不犹豫的选择后者。
看着办吧
Post by f.s.vivian;1812161
智能???怎么看都像微软的“智能”
这不符合linux的风格,也不符合kiss原则
(要知道linux里删除文件都不给提示的。要删就删,既然是用户的选择,系统哪来这么多废话)

举个例子:
为了自定义某个软件a,我手动改了配置文件.
但是后来,我发现了一个更加好的软件b,于是把a卸载了。
这个时候,我还有可能再用a吗?
“改过配置文件”==“用户一定需要该软件”???

如果一个包管理系统真的智能   就因该考虑到这一点。
卸载一个软件的时候,如果要保留,就应该设一个集中营
把所有改动过的配置文件  个人信息,按软件名称归类,移到集中营里去。
这样一目了然,要不要保留完全让用户选择,岂不是更好?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-29 13:25:20 | 显示全部楼层
Post by desatan;1812183
http://blog.chinaunix.net/u/21370/showart_183372.html
這有查找孤儿文件的程序。


非常感谢。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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