快速启动

快速启动

用例:

当我在另一台计算机上安装 Ubuntu 时,我需要:

  • 安装我使用的所有软件包;
  • 进行一些配置更改;
  • svn checkout一些项目;
  • git clone一些项目;
  • 设置.ssh/config;
  • 下载自定义的 Eclipse 版本;
  • 下载一些额外的 Eclipse 插件;
  • 做出许多其他调整。

所以,我想运行一个脚本,比如sudo install-everything-needed,它可以执行这些预定义的操作。

是否有任何软件包可以为此类系统提供支撑?

答案1

快速启动 安装 python-pykickstart

im1

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

相关内容