随着 Debian 8 即将稳定下来,我想升级运行最新 Debian 7.8 的 KVM。
我以前从未这样做过,如果您能对我不确定的一些步骤提出建议,我将不胜感激:
- 我对 PHP 5.6 使用 dotdeb repo。
- 我用 make install 编译了自己的 nginx 1.7
- 我使用 MariaDB repo 来管理 Wheezy
对于添加的 2 个 repos...我是否应该先使用 apt-get 删除它们,然后删除它们的源列表链接?
我的想法是,在 Debian 更新到 8 之后...我可以添加为其定制的新 repos(或编译我自己的 PHP),它们应该会选择现有的配置文件。
另外,升级 Debian 时保留自编译的 nginx 可以吗?如果需要,再重新编译一次?
编辑:安装进度
一切都很顺利(至少就我所知)。如果有人感兴趣的话,以下是我的步骤。
- 做通常的
apt-get update
和apt-get upgrade
喘息 - 修改
/etc/apt/sources.list
,将所有 wheezy 字样替换为 jessie ,删除 dotdeb repo 并包含 mariadb sid repo - 运行
apt-get update
并apt-get upgrade
- 在那次奔跑之后
apt-get dist-upgrade
- 重启
根据官方文档,我还清除了已删除的软件包
apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
仍然需要检查是否有任何剩余,但系统和主要服务(如 PHP 和 Mariadb)正常运行。
答案1
在大多数情况下,它像平常一样无痛。
对于“大迁移”,最好只保留要升级到的版本的主要存储库。删除所有其他存储库,包括同一谱系的旧存储库。
您不需要从“其他”存储库中删除任何软件包,但是,除非您固定它们,否则它们可能会升级。配置文件链接到包不是存储库,因此不存在问题。
通常最好确保这一点apt-get
并dpkg
尽早更新。
在让它apt-get dist-upgrade
执行操作之前,请务必先检查。有时它会感到困惑,并决定最好的做法是删除大量软件包(很烦人)。如果您先手动安装(升级)几个重要的软件包,它通常会变得更好。如果您发现在升级特定软件包时它想要删除一半的系统,那么最好的办法是尝试以下方法:
apt-get install packageyouwanttoinstall packageyoudontwantremoved
通常apt-get
会尝试一些不同的东西。
这次的危险之一是用 替换init
。systemd
您可能希望将 的拒绝systemd
放入您的首选项文件中,直到其余的升级完成,以便此更改可以在所有新的启动脚本中实现。
显然,在尝试此操作之前,请确保你有备份并且您知道如何恢复它们!
哦,读一下发行说明
编辑:
要“拒绝 systemd”,您可以在/etc/apt/preferences
文件中添加一个部分。但一般来说,您不希望在升级期间出现任何内容,您应该在升级之后删除它。如果您这样做,您将必须systemd
明确安装,因为它会假定您已选择不进行切换。
Package: systemd
Pin: release o=debian
Pin-Priority: -1
编辑2:相关说明一下,我刚刚将另一台服务器从 升级squeeze
到jessie
。
规则一不要跳过喘息,我最终感到很困惑使用我的备份。
它是一个更通用的服务器,因此它有不同的包;值得注意的是samba
,squid
和apache2
包。Samba 已升级到 V4,这可能会破坏自定义配置,一切似乎仍然存在,只是略有不同。Apache 配置文件的 Debian 标准已更改;如果您不升级所有配置文件,它就会中断;您在进行自定义时应该遵循规则。一旦我将它们移动到“正确”的文件,它就没问题了。如果您尚未升级到squid3
旧squid
包,jessie
您将继续愉快地运行该wheezy
版本,但您应该squid3
尽快升级。
哦,还udev
抱怨内核太旧了。(升级后我忘了重启wheezy
)