web-dev-qa-db-fra.com

Comment installer plusieurs PPA et applications à la fois?

Je vais installer quelques ordinateurs à usage général sur l'un des bancs de travail de mon laboratoire.

Il y a toute une série de référentiels PPA et d'applications à partir des référentiels Ubuntu que j'aimerais installer après une installation initiale d'Ubuntu.

Est-il possible d'écrire un script qui installera toutes ces applications et PPA en une fois, m'obligeant à ne double-cliquer que sur le script exécutable et à saisir le mot de passe de l'administrateur?

J'imagine que ce serait assez simple. Quelqu'un pourrait-il m'indiquer un bref tutoriel ou peut-être même fournir un modèle de script afin que je puisse ajouter les noms PPA et les packages apt-get install?

Merci.

9
mloman

J'ai utilisé le script simple ci-dessous pour ajouter les PPA texworks et Ubuntu GIS, puis installer texworks et Quantum Gis à partir de leurs sources respectives. Vous pouvez le développer en ajoutant les autres PPA et les noms de package à la ligne de commande 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
7
Sabacon

Un script bash ferait ce que vous demandez très facilement.

Voici un lien vers un bon guide de script bash que j'utilise: http://tldp.org/LDP/abs/html/

Pour le dire simplement, vous devez appeler 3 commandes pour installer à partir d'un PPA

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

Si vous voulez passer directement à un exemple, j'ai écrit un article de blog d'un de ces scripts automatisés bash pour installer des applications de différentes sources:

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

Dans le script, je demande les autorisations root pour le script à l'avance, de sorte que les commandes ne doivent pas nécessairement être exécutées avec Sudo, comme vous l'avez demandé.

Un exemple spécifique d'installation à partir d'un PPA est présenté dans l'article lors de l'installation d'une version différente de libnotify.

2
Gautham C.

Installation sans surveillance à partir d'une liste

Pour une installation sans surveillance d'une liste de paquets et l'ajout de plusieurs ppa à notre système, nous pouvons utiliser le script suivant:

#! /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

Le script a deux arguments. Le premier est un fichier (par exemple, mysources) dans le répertoire du script où nous avons enregistré une liste de nos sources de logiciels conformément aux spécifications de sources.list , par exemple:

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

Remplacer toutes les variables par les valeurs souhaitées

Le deuxième argument est un fichier (par exemple packages) avec une liste de packages que nous souhaitons installer au format par exemple:

packagename
otherpackage
...

Enregistrez le script avec, par exemple, le nom uptodate, rendez-le exécutable et exécutez-le à partir d'un terminal:

cd /directory/of/script
Sudo ./uptodate mysources packages

Que fait le script?

Il copie simplement notre liste mysources dans /etc/sources.list.d/mysources.list, met à jour les informations sur les paquets et installe tous les paquets de la liste packages que nous avons fournie en utilisant xargs .

Remarque: il se peut que nous devions également télécharger une clé valide à partir du tableau de bord du tableau de bord pour pouvoir l'installer à partir du ppa que nous avons ajouté.

Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3

Remplacez la clé de signature (ici 72D340A3) par la clé appropriée

Remarque 2: Il est judicieux d'exécuter le script dans un terminal et non par un double-clic car nous souhaitons connaître les erreurs.

0
Takkat