用例:
当我在另一台计算机上安装 Ubuntu 时,我需要:
- 安装我使用的所有软件包;
- 进行一些配置更改;
svn checkout
一些项目;git clone
一些项目;- 设置
.ssh/config
; - 下载自定义的 Eclipse 版本;
- 下载一些额外的 Eclipse 插件;
- 做出许多其他调整。
所以,我想运行一个脚本,比如sudo install-everything-needed
,它可以执行这些预定义的操作。
是否有任何软件包可以为此类系统提供支撑?
答案1
快速启动
kickstart Configurator 是一个用于创建 Kickstart 文件的图形工具,它允许脚本化全自动安装。您需要使用备用安装,并且可以设置 Ubuntu 在安装过程中询问的任何内容(包括格式化磁盘)。您留空的任何内容都会在安装过程中询问。
现在需要注意的是:kickstart 在 Ubuntu 中并不完美,因为它缺少很多功能。例如,您需要手动更改文件ks.cfg
以添加要安装的内容,并且需要告诉所有内容(因此您还需要添加 ubuntu 桌面...)才能添加其他软件包。
您将需要一个安装后文本文件,其中包含您需要执行的其余设置的所有配置设置,并将其添加到配置中。但您也可以使用它来添加需要的下载wget
或将预定义的 ssh 设置文件移动到系统等。至于这个脚本……您自己处理。没有人会拥有相同的附加组件,所以这一切都是手动工作。
最好的方法是安装虚拟机并调整配置文件,直到您满意为止:这样您就可以编辑 ks.cfg 文件并重新制作 ISO,而无需刻录 CD。
更多信息Ubuntu 帮助页面。
答案2
如果您熟悉 shell 脚本,您可以自己破解一些东西。我认为存储库中没有这样的包,因为每种情况的要求都不同。
您可能希望使用以下命令启用所有存储库:
sudo sed 's@# deb@deb@' -i /etc/apt/sources.list
更新你的 repo 信息并升级你的系统(包括内核)并安装软件包(无需提示/接受更改:)-y
:
sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install subversion git [more packages here]
如前所示,您可以使用诸如sed
来编辑配置文件的工具。
svn checkout 使用:
mkdir -p ~/dir/in/home
cd ~/dir/in/home
svn --no-auth-cache --username [svn-user] --password [password-here] co http://svn.example.com/repo targetdir
--no-auth-cache
防止密钥环应用程序暂停自动进程。禁用自动进程的另一个原因是 KWallet 中存在一个错误,在打开密钥环(“钱包”)时会导致段错误。在匿名结账的情况下,您可以省略身份验证部分。
mkdir -p ~/dir/in/home2
cd ~/dir/in/home2
git clone http://git.example.com/repo.git targetdir
SSH 配置(客户端):
mkdir ~/.ssh
cat > ~/.ssh/id_example_rsa <<PRIVATEKEY
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,.....
wtzol/3qd5LrCvUedVE....
78PlmRpeNbeGVaqvm8wN2gPdV3wiaC9/3RUCJo/6V9Rq+oNdXuR+vg==
-----END RSA PRIVATE KEY-----
PRIVATEKEY
cat > ~/.ssh/config <<'CFG'
Host example
Hostname example.com
Port 22
User example-user
IdentityFile ~/.ssh/id_example_rsa
CFG
除了将内容放入脚本中,您还可以将其放在 USB 记忆棒上,然后cp
:
cp /media/NAME/id_example_rsa ~/.ssh/
如果你把它放在服务器上:
wget http://example.com/config -O ~/.ssh/config
显然,将私钥放在面向公众的服务器上并不明智。
我没有使用过 Eclipse,但你应该可以用wget
。