Answers:
我使用下面的简单脚本添加了texworks和Ubuntu GIS PPA,然后从它们各自的源代码安装了texworks和Quantum Gis,您可以通过添加其他PPA并将软件包名称添加到apt-get install命令行来对其进行扩展。
#!/bin/bash
echo "Adding PPAs"
add-apt-repository ppa:texworks
add-apt-repository ppa:ubuntugis/ubuntugis-unstable
echo "updating repositories"
apt-get update
echo "Installing packages"
apt-get install texworks qgis
echo "Finished adding PPAs and insatlling applications"
exit 0
apt-get install -y
,它不会提示您“继续”。也许add-apt-repository
支持相同的选择?
add-apt-repository
支持-y
bash脚本可以很轻松地完成您的要求。
这是我使用的良好bash脚本指南的链接:http : //tldp.org/LDP/abs/html/
简而言之,您需要调用3个命令以从PPA安装
如果您想直接进入一个示例,我已经写了一篇有关这种自动bash脚本的博客文章,以安装来自不同来源的应用程序:
在脚本中,我会提前请求脚本的root权限,以使命令不必像您所要求的那样在sudo之前运行。
当安装其他版本的libnotify时,本文显示了从PPA安装的特定示例。
为了无人值守安装软件包列表并向我们的系统中添加几个ppa,我们可以使用以下脚本:
#! /bin/bash
# Save as e.g. 'uptodate' and make executable
# Usage:
# sudo ./uptodate <mysources> <packages>
sudo cp $1 /etc/apt/sources.list.d/mysource.list
sudo apt-get update
xargs -a "$2" sudo apt-get -y install
该脚本有两个参数。第一个是mysources
脚本目录中的文件(例如),在该文件中,我们根据sources.list的规范保存了我们的软件来源列表,例如:
deb http://ppa.launchpad.net/<maintainer>/<name>/<ubuntu> <release> main
deb http://ppa.launchpad.net/<other_maintainer>/<name>/<ubuntu> <release> main
...
将所有变量替换为所需的值
第二个参数是一个文件(例如packages
),其中包含我们希望以以下格式安装的软件包列表:
packagename
otherpackage
...
使用例如名称保存脚本uptodate
,使其可执行并从终端运行:
cd /directory/of/script
sudo ./uptodate mysources packages
它只是将我们的mysources
列表复制到/etc/sources.list.d/mysources.list
,更新软件包信息并packages
使用xargs安装我们提供的列表中的所有软件包。
注意:我们可能还必须从启动板密钥服务器下载有效的密钥,才能从添加的ppa安装。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3
将签名密钥(此处为72D340A3)替换为适当的一个
注2:在终端中而不是通过双击运行脚本是一个好主意,因为我们确实想知道错误。