首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装自动化

安装自动化
EN

Ask Ubuntu用户
提问于 2011-05-22 07:41:03
回答 2查看 1.2K关注 0票数 3

用例:

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

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

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

是否有任何方案为这类系统提供骨干?

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2011-05-22 08:12:08

激荡

kickstart Configurator是一个用于创建Kickstart文件的图形工具,它允许脚本化的全自动安装。您需要使用备用安装,并且可以在安装期间设置Ubuntu要求的任何内容(包括格式化光盘)。在安装过程中,您留下的任何空白都会被询问。

现在请注意:在Ubuntu中,kickstart并不完美,因为它缺少了很多特性。例如,您需要手动更改ks.cfg文件以添加您想要安装的内容,并且需要告诉它所有内容(所以您也需要添加ubuntu桌面.)以便添加其他软件包。

您将需要一个后置文本文件,该文本文件包括您需要执行的其余设置的所有配置设置,并将其添加到配置中。但是您也可以使用它添加需要wget的下载,或者将预定义的ssh设置文件移到系统中等等。你只能靠自己了。没有人会有相同的附加功能,所以这将是所有的手工工作。

最好的方法是安装虚拟机并调整配置文件,直到您满意为止:这样您就可以编辑ks.cfg文件并重新掌握ISO,而无需刻录CD。

关于Ubuntu帮助页面的更多信息。

票数 4
EN

Ask Ubuntu用户

发布于 2011-05-22 08:17:50

如果您熟悉shell脚本,您可以自己黑一些东西。我不认为存储库中有这样的包,因为在每种情况下,需求都是不同的。

您可能希望使用以下方法启用所有存储库:

代码语言:javascript
复制
sudo sed 's@# deb@deb@' -i /etc/apt/sources.list

更新您的回购信息并升级您的系统(包括内核)和安装软件包(不提示/接受更改:-y):

代码语言:javascript
复制
sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install subversion git [more packages here]

如前所述,您可以使用像sed这样的工具来编辑配置文件。

svn签出使用:

代码语言:javascript
复制
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中的一个错误,在打开密钥环(“钱包”)时会导致分段错误。在匿名签出的情况下,可以省略身份验证部分。

代码语言:javascript
复制
mkdir -p ~/dir/in/home2
cd ~/dir/in/home2
git clone http://git.example.com/repo.git targetdir

SSH配置(客户端):

代码语言:javascript
复制
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

代码语言:javascript
复制
cp /media/NAME/id_example_rsa ~/.ssh/

如果你把它放在服务器上:

代码语言:javascript
复制
wget http://example.com/config -O ~/.ssh/config

显然,在公开的服务器上放置私钥是不明智的。

我没有使用Eclipse的经验,但是您应该可以使用wget

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/44406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档