Jak zainstalować wiele PPA i aplikacji jednocześnie?


9

Zamierzam zainstalować kilka komputerów ogólnego użytku na jednej z ławek w moim laboratorium.

Istnieje cała masa repozytoriów PPA i aplikacji z repozytoriów Ubuntu, które chciałbym zainstalować po początkowej instalacji Ubuntu.

Czy można napisać skrypt, który zainstaluje wszystkie aplikacje i umowy PPA za jednym razem, wymagając ode mnie tylko dwukrotnego kliknięcia skryptu wykonywalnego i wpisania hasła administratora?

Wyobrażam sobie, że byłoby to dość proste. Czy ktoś mógłby wskazać mi krótki samouczek, a może nawet dostarczyć skrypt szablonu, aby dodać nazwy PPA i pakiety instalacyjne apt-get?

Dzięki.

Odpowiedzi:


7

Użyłem prostego skryptu poniżej, aby dodać texworks i Ubuntu GIS PPA, a następnie zainstalować texworks i Quantum Gis z ich odpowiedniego źródła, możesz go rozwinąć, dodając inne PPA i dodając nazwy pakietów do wiersza polecenia 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 często prosi mnie o wpisanie Y, aby wyrazić zgodę na dodanie go do listy źródeł. Czy wpłynie to na automatyczny przepływ skryptu?
— mloman

W moim teście nie wydano żadnych pytań, wszystko zostało dodane i zainstalowane automatycznie.
— Sabacon

Brak monitu w 11.04, denerwujące pytanie „Naciśnij Y, aby dodać” w 11.10. Nie wiem jednak, jak się tego pozbyć - przepraszam.
— Scaine,

2
Powinienem był wspomnieć - jeśli jesteś pewien, co zostanie zainstalowane przez apt-get, możesz przekazać apt-get install -yi nie wyświetli się monit o kontynuację „Y”. Może add-apt-repositoryobsługuje tę samą opcję?
— Scaine

3
@Scaine Tak, add-apt-repositoryobsługuje-y
— jcollado,

2

Skrypt bash zrobiłby to, o co prosisz.

Oto link do dobrego przewodnika skryptowego bash, którego używam: http://tldp.org/LDP/abs/html/

Mówiąc prosto, musisz wywołać 3 polecenia instalacji z PPA

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

Jeśli chcesz przejść bezpośrednio do jednego z nich, napisałem artykuł na blogu o jednym z takich automatycznych skryptów bash, aby zainstalować aplikacje z różnych źródeł:

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

W skrypcie z góry pytam o uprawnienia roota dla skryptu, aby polecenia nie musiały być uruchamiane z sudo przed nim, tak jak prosiłeś.

Konkretny przykład instalacji z PPA pokazano w artykule podczas instalowania innej wersji libnotify.


0

Instalacja nienadzorowana z listy

Do nienadzorowanej instalacji listy pakietów i dodania kilku ppa do naszego systemu możemy użyć następującego skryptu:

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

Skrypt ma dwa argumenty. Pierwszy to plik (np. mysources) W katalogu skryptów, w którym zapisaliśmy listę naszych źródeł oprogramowania zgodnie ze specyfikacjami dla pliku sources.list np .:

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

Zastąp wszystkie zmienne żądanymi wartościami

Drugi argument to plik (np. packages) Z listą pakietów, które chcemy zainstalować w formacie np .:

packagename
otherpackage
...

Zapisz skrypt z np. Nazwą uptodate, uczyń go wykonywalnym i uruchom z terminala:

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

Co robi skrypt?

Po prostu kopiuje naszą mysourceslistę /etc/sources.list.d/mysources.list, aktualizuje informacje o pakiecie i instaluje wszystkie pakiety z packageslisty, którą udostępniliśmy za pomocą xargs .

Uwaga: może być konieczne pobranie ważnego klucza z serwera kluczy startera, aby móc zainstalować z dodanego ppa.

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

Wymień klucz podpisujący (tutaj 72D340A3) na odpowiedni

Uwaga 2: Dobrym pomysłem jest uruchomienie skryptu w terminalu, a nie dwukrotne kliknięcie, ponieważ chcemy wiedzieć o błędach.


Jest to bardzo przydatne do tworzenia kopii zapasowych i przywracania własnych list źródeł i pakietów. Ale czy mógłbyś rozwinąć część dotyczącą keyserver? Czy dołączę ostatni kod do skryptu, czy uruchomię go osobno? Czy muszę to zrobić dla klucza podpisywania wszystkich umów PPA?
— mloman

Właściwie, ponieważ mogę napisać własną listę źródeł i listę pakietów, może to być jeszcze łatwiejsza metoda instalacji, ale proszę o rozwinięcie części keyserver. Skąd mam wiedzieć, co to jest „odpowiedni” klucz do podpisywania?
— mloman

możesz to sprawdzić albo na stronie głównej ppa, albo otrzymasz błąd od apt-get telling. Gdy klucz znajduje się w maszynie, nie pyta ponownie. To nie jest do włączenia w skrypcie. Nie znasz jeszcze liczb.
— Takkat

Ok, wszystko jest dla mnie teraz jasne. Znalazłem ten link do szybkiego tworzenia kopii zapasowych plików kluczy.
— mloman
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.