我使用的是专用服务器,该提供商几乎无需任何操作即可安装 Ubuntu 16.04。例如,这些命令都不存在,因此我需要逐个安装它们:
curl
,,,,,还有nano
更多我不记得的基本内容。tmux
htop
iptables
ifconfig
我曾经使用过另一家专用服务器提供商,他们的图像会附带这些基本内容。
现在,每次我获得新的专用服务器(我有很多)和/或当我重新安装操作系统时,逐个安装它们很麻烦,而且它们也没有快照功能。
是否有一个命令可以让我获取捆绑包中的某些基本内容,而不必apt install xx
每次都为上面提到的每个应用程序运行它?
答案1
安装这些工具的最快解决方案是安装ubuntu-server
默认依赖这些工具和脚本的软件包集。然后,您可以编写脚本来删除不需要的工具。
但是,如果你这样做了,它ubuntu-server
就会被删除(它是一个元包,如果删除它,不会破坏你的系统),然后如果你apt autoremove
在之后的任何时候运行,这些工具将有机会被删除,因为它们在系统上的唯一依赖点是ubuntu-server
答案2
创建一个脚本来获取你想要的东西是否超出了你的能力范围?
你应该只抓取你需要的最少的工具集,所以最好创建自己的最小工具集,而不是使用别人创建的预定义工具集(它可能包含你不需要的包)
正如@Rinzwind 在评论中所说,您的脚本可能还包括删除您不需要的默认安装的软件包(即帮助实现您的系统实际需要的最小软件包)。
答案3
如果你不想apt install <packagename>
每次都运行,你可以将它们合并在一行中
apt install curl nano tmux htop iptables net-tools
或者,如果你有一个参考服务器,你可以使用
在原始服务器上
dpkg --get-selections > /tmp/selections.list
在新服务器上
dpkg --set-selection < /tmp/selections.list
apt-get dselect-upgrade
然而,请记住这一点设置所有包!!
因此建议只在相同的操作系统版本上执行此操作,即从 Ubuntu 16.04 到 Ubuntu 16.04。如果您从旧的 Ubuntu 16.04 执行此操作到新的 Ubuntu 18.04,您将破坏新的 Ubuntu 18.04。
答案4
如果您经常这样做,请考虑使用配置管理工具,如 Ansible、Chef、Puppet 等...
您可以创建一个具有所需配置的引导剧本/配方/脚本(它们都叫法不同),该工具会确保满足您的配置。这可以包括已安装的软件包、用户、组、ssh 密钥、密码……基本上所有可以配置的内容。