重新安装基本的Ubuntu,而无需格式化或删除手动安装的软件包


10

因为我在建议的存储库中玩了太多(在14.04上),所以我想回到步骤1:删除系统上除我手动安装的所有软件包以外的所有软件包,然后重新安装基本系统,而不必经历重新安装的麻烦。

基本上,无论如何都可以通过ssh安全和远程地进行:

  • 删除除手动安装的软件包以外的所有软件包
  • 重新安装从内核到内核的所有内容ubuntu-desktop(最好自动安装,而无需将其他软件包标记为手动安装)
  • 安装手动安装的软件包的依赖项

注意:我特意省略了以期获得不特定于任何特定版本的答案。


似乎我没有足够简单地描述我想要的东西,我认为这两点将解决上述问题:

  • 清除所有自动安装的软件包(@kos在@Fabby的回答中回答了该问题)
  • 安装构成全新Ubuntu安装的软件包

我猜想手动安装软件包的依赖项是否确实会被卸载,这apt-get -f将对我有所帮助。


1.是否需要将所有文件保存在/ home中?2.网络稳定吗?如果您要移动用户文件或任何需要保存的文件,是否可以重写所有内容,然后轻松地将用户文件移回?也。是否启用了PXE?BIOS中是否有虚拟化支持工具?
2015年

@ j0h 1.没什么重要/home,但是手动安装的软件包中有重要的配置,2.是,但是正如我所说的,用户文件不用担心,3.是,它已启用,4.而且是,还有虚拟化支持。
Oxwivi

这有点超出我的专业水平,但是从全新安装中获取软件包列表,将其与当前安装进行比较以获取添加的所有内容列表,会不会更容易。然后重新安装并自动添加所有自定义内容-可能还原$ HOME中的某些或所有配置文件?您可以通过运行dpkg -l获得列表。这可能会将许多其他内容标记为手动安装-而不是依赖关系,如果以后需要它们的软件包删除,它们可能会消失。
2015年

Answers:


5

为未来:

如果您在1000英里外的数据中心中有一个远程服务器,则最好安装IPKVM交换机,这样就不必完全依赖ssh它。

如果服务器位于珠穆朗玛峰上:还要添加铱星电话和调制解调器 ...

然后,您可以在该计算机上拥有一个可引导的512MB FAT CloneZilla分区(我使用SLC USB记忆棒),并使用控制台进行引导,并将系统分区的映像备份到数据驱动器,然后将其复制在开始添加trusty-proposed到服务器之前,USB记忆棒的辅助分区上的先前系统映像。(我的大部分系统备份都保留在数据驱动器上:它们只有6GB)

目前:

  • 进行适当的备份
  • 经历你的 /var/log/apt/history*
  • 制作您自己的自动脚本,apt-get purge以完成上一步中您确实不希望/不需要的所有内容
  • 在向Torvalds的Linus祈祷时执行脚本
  • 像您希望的那样更新您的存储库(例如删除trusty-proposed
  • 向Stallmans的Richard祈祷时重启
  • 如果一切顺利,请实施上述IPKVM交换机解决方案。

没有自动删除所有内容的命令this that:(待办事项IPKVM开关,否则配有动态DNS功能一文不值在这种情况下?
Oxwivi

上面是最自动的知识。 像Windows还原点一样全自动:不,这就是系统备份的目的... IPKVM交换机可以使用DHCP,因此通过使用外部动态DNS服务:“是的,有点” ...
Fabby 2015年

不,我讨厌Windows还原点。不知道里面有什么。(更像是,我开始讨厌整个frickin的Windows产品线。)我唯一想要自动的部分是弄清楚所有手动软件包以及卸载那些之外的所有命令。
Oxwivi

我大约2年前删除了Windows ...您是否尝试过查找history.log??? :P
Fabby 2015年

@Oxwivi想要的apt-mark showauto,并通过将列表提供给apt-cache purge:清除输出中的所有软件包apt-mark showauto | xargs sudo apt-get --dry-run purge。我自愿添加了此--dry-run开关,以防您尝试尝试,以便您可以实际看到正在发生的事情:这样做会中断安装,因为它会删除所有依赖于该命令删除的软件包的软件包。只需看一下空运行的输出即可。
kos

1

好的,我的答案假设您可以,并且已经备份了用户目录以及要保存的所有内容。这将您的问题简化为如何在远程服务器上安装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

一个有用的搜索词可能是“服务器配置”。除了这些,还有更多选择。

也有暴力破解方法。

$ 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

和你的路径是这样的:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

如果您的根目录是这样的,如果您用/ clean和/ usr编写了“干净”版本,则几乎所有已安装的软件及其配置文件都将被覆盖。如果不是一个完全可怕的想法,那至少可以说是骇人听闻的。运行apt-get purge会更安全,或者也许您可以对过程进行一些微调。然后,您可能还想在/ etc / ssh /中包含旧ssh配置文件的克隆,然后再尝试使用新的配置文件重新启动服务。

还有一个工具可以让您转储正在运行的内核并进行升级而无需重新引导。为此,您可以签出Kslpice或kGraft

如果您遇到的是仓库管理和软件包管理,我不确定为什么要转储内核,mbr,引导分区等。

因此,无论如何,我希望能给您一些想法以供参考。有很多方法可以远程解除服务器的绑定。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.