Come installare più PPA e applicazioni contemporaneamente?


9

Installerò un paio di computer di uso generale su uno dei banchi da lavoro del mio laboratorio.

C'è un sacco di repository PPA e applicazioni dai repository Ubuntu che vorrei installare dopo un'installazione iniziale di Ubuntu.

È possibile scrivere uno script che installerà tutte quelle app e PPA in una sola volta, richiedendo solo di fare doppio clic sullo script eseguibile e digitare la password dell'amministratore?

Immagino che sarebbe abbastanza semplice. Qualcuno potrebbe indicarmi un breve tutorial o forse anche fornire uno script modello di qualche tipo in modo da poter aggiungere i nomi PPA e pacchetti di installazione apt-get?

Grazie.

Risposte:


7

Ho usato il semplice script di seguito per aggiungere i PPA texis e Ubuntu GIS e quindi installare texworks e Quantum Gis dai rispettivi sorgenti, è possibile espandere su di esso aggiungendo gli altri PPA e aggiungendo i nomi dei pacchetti alla riga di comando 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 spesso mi chiede di digitare Y per accettare di aggiungerlo all'elenco delle fonti. Ciò influirà sul flusso automatico dello script?
mloman,

Nel mio test non sono state poste domande, sono stati aggiunti e installati automaticamente.
Sabacon,

Nessuna richiesta in 11.04, fastidiosa richiesta "Premi Y per aggiungere" in 11.10. Non so come liberarmene però - scusa.
Scaine,

2
Avrei dovuto menzionarlo - se sei sicuro di ciò che verrà installato da apt-get, puoi passare apt-get install -ye non ti chiederà "Y per continuare". Forse add-apt-repositorysupporta la stessa opzione?
Scaine,

3
@Scaine Sì, add-apt-repositorysupporta-y
jcollado il

2

Uno script bash farebbe ciò che chiedi molto facilmente.

Ecco un link ad una buona guida di scripting bash che uso: http://tldp.org/LDP/abs/html/

Per dirla semplicemente, è necessario chiamare 3 comandi per l'installazione da un PPA

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

Se vuoi passare subito all'esempio di uno, ho scritto un articolo di blog di uno di questi script bash automatizzato per installare app da diverse fonti:

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

Nello script, chiedo i permessi di root per lo script in anticipo in modo che i comandi non debbano essere eseguiti con sudo di fronte a esso come richiesto.

Un esempio specifico dall'installazione da un PPA è mostrato nell'articolo quando si installa una versione diversa di libnotify.


0

Installazione automatica da un elenco

Per un'installazione automatica di un elenco di pacchetti e l'aggiunta di diversi ppa al nostro sistema, possiamo usare il seguente script:

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

Lo script ha due argomenti. Il primo è un file (ad esempio mysources) nella directory script in cui abbiamo salvato un elenco delle nostre fonti di software in base alle specifiche per un sources.list per esempio:

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

Sostituisci tutte le variabili con i valori desiderati

Il secondo argomento è un file (ad esempio packages) con un elenco di pacchetti che desideriamo installare nel formato ad esempio:

packagename
otherpackage
...

Salvare lo script con ad esempio il nome uptodate, renderlo eseguibile ed eseguirlo da un terminale:

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

Cosa fa la sceneggiatura?

Copia semplicemente la nostra mysourceslista in /etc/sources.list.d/mysources.list, aggiorna le informazioni sui pacchetti e installa tutti i pacchetti dalla packageslista che abbiamo fornito usando xargs .

Nota: potremmo anche dover scaricare una chiave valida dal keyserver del launchpad per poter installare dal ppa che abbiamo aggiunto.

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

Sostituire la chiave di firma (qui 72D340A3) con quella appropriata

Nota 2: è una buona idea eseguire lo script in un terminale e non con un doppio clic perché vogliamo sapere degli errori.


Questo è davvero utile per il backup e il ripristino dei miei elenchi e pacchetti di fonti. Ma potresti approfondire la parte del server dei tasti. Includerei l'ultimo codice all'interno dello script o lo eseguirò separatamente? Devo farlo per la chiave di firma di tutti i PPA?
mloman,

In realtà, dal momento che posso scrivere il mio elenco di fonti e il mio elenco di pacchetti, questo potrebbe essere un metodo di installazione ancora più semplice, ma ti preghiamo di approfondire la parte del server dei tasti. Come faccio a sapere qual è la chiave di firma "appropriata"?
mloman

puoi controllare sulla home page di ppa o riceverai un errore da apt-get che ti dice. Una volta che la chiave è sulla macchina, non verrà più richiesta. Non è da includere nello script. Non conosci ancora i numeri.
Takkat,

Ok, ora è tutto chiaro per me. Ho trovato questo link per il backup rapido dei file di chiavi.
mloman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.