複数のPPAとアプリケーションを一度にインストールする方法は?


9

ラボの作業台の1つに、汎用コンピュータを2台セットアップします。

Ubuntuの初期インストール後にインストールしたいUbuntuリポジトリのPPAリポジトリとアプリケーションがたくさんあります。

これらのすべてのアプリとPPAを一度にインストールするスクリプトを作成して、実行可能なスクリプトをダブルクリックして管理者パスワードを入力するだけで済むのですか?

それはかなり簡単なことだと思います。誰かが簡単なチュートリアルを教えてくれたり、PPA名やapt-getインストールパッケージに追加できるように、何らかのテンプレートスクリプトを提供したりできますか?

ありがとう。

回答:


7

以下の簡単なスクリプトを使用して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

add-apt-repositoryは、ソースリストに追加することに同意するために、Yを入力するように要求することがよくあります。これはスクリプトの自動フローに影響しますか?
mloman 2012年

私のテストでは、質問は出されず、すべてが自動的に追加およびインストールされました。
Sabacon 2012年

11.04ではプロンプトが表示されず、11.10で「追加するにはYを押す」というプロンプトが表示されます。私はこれを取り除く方法がわかりません-すみません。
Scaine 2012年

2
言及すべきでした-apt-getによって何がインストールされるかについて自信がある場合は、合格apt-get install -yし、「続行するにはY」を求めるプロンプトは表示されません。多分add-apt-repository同じオプションをサポートしていますか?
2012年

3
@Scaineはい、add-apt-repositoryサポートします-y
jcollado 2012年

2

bashスクリプトは、あなたが要求することを非常に簡単に実行します。

以下は、私が使用する優れたbashスクリプトガイドへのリンクです。http//tldp.org/LDP/abs/html/

簡単に言うと、PPAからインストールするには、3つのコマンドを呼び出す必要があります。

  1. sudo add-apt-repository ppa:
  2. sudo apt-get update
  3. sudo apt-get dist-upgrade

1つの例にすぐにジャンプしたい場合は、そのような自動化されたbashスクリプトのブログ記事を書いて、さまざまなソースからアプリをインストールします。

http://gautham-chandra.tumblr.com/post/15544311989/ninite-like-bash-script-to-install-and-configure-some

スクリプトでは、スクリプトのroot権限を事前に要求しているため、コマンドの前にsudoを付けて実行する必要はありません。

PPAからのインストールの具体的な例は、異なるバージョンのlibnotifyをインストールする際の記事に示されています。


0

リストからの無人インストール

パッケージのリストを無人でインストールし、システムにいくつかの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

スクリプトには2つの引数があります。1つ目はmysourcessources.listの仕様に従ってソフトウェアソースのリストを保存したスクリプトディレクトリ内のファイル(例:)です。例:

deb http://ppa.launchpad.net/<maintainer>/<name>/<ubuntu> <release> main
deb http://ppa.launchpad.net/<other_maintainer>/<name>/<ubuntu> <release> main
...

すべての変数を目的の値に置き換えます

2番目の引数は、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:エラーについて知りたいので、ダブルクリックではなくターミナルでスクリプトを実行することをお勧めします。


これは、自分のソースリストとパッケージをバックアップおよび復元するのに非常に便利です。しかし、キーサーバーの部分について詳しく説明してください。スクリプト内に最後のコードを含めますか、それとも個別に実行しますか?すべてのPPAの署名キーに対してこれを行う必要がありますか?
mloman 2012年

実際、私は自分のソースリストとパッケージリストを書くことができるので、これはもっと簡単なインストール方法かもしれませんが、キーサーバーの部分について詳しく説明してください。「適切な」署名鍵が何であるかをどのように知ることができますか?
mloman 2012年

ppaホームページで確認するか、apt-getからエラーが表示されます。キーがマシン上にあると、再度尋ねることはありません。スクリプトに含めるためのものではありません。あなたはまだ数を知りません。
Takkat

わかりました、今ではすべてがはっきりしています。キーファイルの迅速なバックアップのためにこのリンクを見つけました。
mloman 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.