LinuxSir.cn,穿越时空的Linuxsir!

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

怎样快速升级/etc目录下的配置文件?

[复制链接]
发表于 2009-2-10 15:20:07 | 显示全部楼层 |阅读模式
Arch新手

Arch有没有像gentoo中常用的etc-update或dispatch-conf之类的工具?
发表于 2009-2-10 17:27:07 | 显示全部楼层
pacman安装的软件包,如果有新的配置文件,一般有3种规则:
1、保留原来的,新的命名为*.pacnew。
2、原来的更名为*.pacsave,新的覆盖。
3、已有同名、但不属于任何已安装包的配置文件,会被备份为.pacorig。

使用官方pacman包里的pacdiff或者yaourt包里的pacdiffviewer可以很方便的查找所有更新的配置文件,如果有pacnew或者pacsave之类文件,它会用vim打开两者让你对比有何异同,至于文件内容的取舍就要你自己决定了。

http://wiki.archlinux.org/index.php/Pacnew_and_Pacsave_Files
回复 支持 反对

使用道具 举报

发表于 2009-2-10 17:32:17 | 显示全部楼层
Post by cheeselee;1945913
Arch新手

Arch有没有像gentoo中常用的etc-update或dispatch-conf之类的工具?


能详细说说么?没用过gentoo。

如果是一些由Arch负责更新的配置文件,对应的就是filesystem这个软件包,这些配置伴随他更新。

其他的配置文件由对应的软件包负责更新。
回复 支持 反对

使用道具 举报

发表于 2009-2-10 17:41:44 | 显示全部楼层
Post by athurg;1945959
能详细说说么?没用过gentoo。

如果是一些由Arch负责更新的配置文件,对应的就是filesystem这个软件包,这些配置伴随他更新。

其他的配置文件由对应的软件包负责更新。

简单的说,就是在更新后提示你发现配置文件的新版本,是否要更新,比如是合并还是新旧替换等等,并提供diff的方式对比新旧不同版本的配置文件。
回复 支持 反对

使用道具 举报

发表于 2009-2-10 18:30:52 | 显示全部楼层
Post by 狱卒;1945964
简单的说,就是在更新后提示你发现配置文件的新版本,是否要更新,比如是合并还是新旧替换等等,并提供diff的方式对比新旧不同版本的配置文件。


这样的哦,一般情况下,ArchLinux出品的软件包在更新后,如果覆盖了重要的系统配置文件,他会自动重命名并提示你的。如果要查看两个文件的不同之处,你可以在更新后用diff自己查看。

比如说,你升级pacman本身,并且pacman的配置文件/etc/pacman.conf发生了变化,那么他会先把原来的/etc/pacman.conf更名,然后再覆盖,安装完后他会提示你说/etc/pacman.conf被重命名为XXX了
回复 支持 反对

使用道具 举报

发表于 2009-4-26 19:03:23 | 显示全部楼层
Post by zlowly;1945956
pacman安装的软件包,如果有新的配置文件,一般有3种规则:
1、保留原来的,新的命名为*.pacnew。
2、原来的更名为*.pacsave,新的覆盖。
3、已有同名、但不属于任何已安装包的配置文件,会被备份为.pacorig。

使用官方pacman包里的pacdiff或者yaourt包里的pacdiffviewer可以很方便的查找所有更新的配置文件,如果有pacnew或者pacsave之类文件,它会用vim打开两者让你对比有何异同,至于文件内容的取舍就要你自己决定了。

http://wiki.archlinux.org/index.php/Pacnew_and_Pacsave_Files


不知道有没有gentoo的etc-update工具好用呢?
gentoo下,除了设置了的目录可以直接覆盖之外,etc目录下其它的配置文件更新一律不会被覆盖,而是以类似xxx.0001的形式保存,然后运行etc-update等工具搜索出来,可以与原来的文件比较,合并,覆盖等。
pacdiff是不是这样的工具呢?我找不到pacdiff这个包或者命令。

我是从gentoo转过来archlinux的新手。
回复 支持 反对

使用道具 举报

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

本版积分规则

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