无需格式化或删除手动安装的软件包即可重新安装基础Ubuntu
因为我使用提议的存储库(14.04)玩了太多,我想回到步骤1: 删除系统上的每个包,除了我手动安装的那些包并重新安装基本系统,而不必经历重新安装的麻烦。
基本上,无论如何安全地远程通过ssh:
- 删除除手动安装的包之外的所有包
- 重新安装从内核到
ubuntu-desktop
(最好是自动安装,不再将任何其他软件包标记为手动安装) - 安装手动安装的软件包的依赖项
NB我故意遗漏了14.04 ,希望得到任何特定版本的特定答案。
似乎我没有简单地描述我想要的东西,我认为这两点将照顾上述内容:
- 清除所有自动安装的软件包(@kos回答@ Fabby的回答)
- 安装组成新的Ubuntu安装的软件包
而且我猜测手动安装的软件包的依赖关系是否会被卸载, apt-get -f
将帮助我解决这些问题。
为未来:
如果您在1000英里外的数据中心有一台远程服务器,那么最好安装一个IPKVM交换机,这样您就不必仅依靠ssh
来连接它了。
如果服务器在珠穆朗玛峰上:添加铱星手机和调制解调器 ……
然后你可以在该机器上有一个可启动的512MB FAT CloneZilla分区(我使用SLC USB记忆棒)并使用控制台启动它并将系统分区的映像备份到数据驱动器然后复制在开始向服务器添加trusty-proposed
之前 ,USB记忆棒的辅助分区上的先前系统映像。 (我将大部分系统备份保留在数据驱动器上:它们只有6GB)
目前:
- 采取apt-backup
- 浏览
/var/log/apt/history*
- 制作自己的自动脚本,对上一步中的数据进行
apt-get purge
所有你真正不需要/不再需要的东西 - 在向Torvalds的Linus祈祷时执行脚本
- 像您希望的那样更新您的存储库(比如删除
trusty-proposed
) - 重新启动,同时向斯塔曼斯的理查德祈祷
- 如果一切顺利:执行上面的IPKVM切换解决方案。
好的,我的回答是假设您可以,并备份了您的用户目录以及您要保存的所有内容。 这减少了你如何在远程服务器上安装Ubuntu的问题? 有很多解决方案。
为此,您可以使用DRBL远程部署操作系统,并提供各种引导选项。 你可以在这里查看: http : //drbl.org/installation/
有Clobber: http : //cobbler.github.io/manuals/quickstart/
有cloneZilla,可以通过网络备份和恢复。 该链接适用于Windows,但相同的方法适用于Linux。 或者,您可以在本地制作ubuntu启动映像,并使用clonezilla进行安装。 http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/
或者,您可以尝试使用dd_rescue或netcat
有用的搜索词可能是“服务器配置”。 这些还有更多选择。
也有powershell方法。
$ ls / bin boot cdrom dev etc home initrd.img initrd.img.old lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var vmlinuz vmlinuz.old
你的PATH是这样的:
echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
如果你的根目录是这样的,如果你写了/ etc,而/ usr带有“干净”版本,那么你将覆盖几乎所有安装的软件,以及它的配置文件。 至少可以说,如果不是一个完全可怕的想法那将是黑客。 运行apt-get purge
会更加安全,或者你可以稍微调整一下这个过程。 在尝试使用新配置文件重新启动服务之前,您可能还希望在/ etc / ssh /中包含旧ssh配置文件的克隆。
还有一个工具可以让您转储正在运行的内核并升级而无需重新启动。 为此你可以看看Kslpice或kGraft
如果你遇到麻烦就是repos和包管理,我不确定你为什么要转储内核,mbr,启动分区等。
那么如何,我希望我已经给你一些想法。 有很多方法可以远程解密服务器。