Mam świeżą instalację Lubuntu i chciałbym zainstalować pakiety z podanej listy, bez konieczności pisania sudo apt-get install package_name. Czy to możliwe?
Nie mówię o skryptach poinstalacyjnych, to coś zupełnie innego.
Jeśli chcesz zainstalować to zgodnie z dowolnymi wymaganiami, musisz zrobićxargs sudo apt-get -y install < pkglist
Emanuel Ey
+1 Jeśli podasz jeden pakiet w linii, plik musi zawierać uniksowe zakończenia linii, inaczej apt-get zakończy się niepowodzeniem.
rath
Można również przekazać nazwę pliku bezpośrednio do xargs z opcją -a lub --arg-pliku: xargs -a pkglist sudo apt install.
Ryan
1
Umieść wszystkie nazwy pakietów w pliku (jedna nazwa pakietu dla każdej linii). Następnie uruchom poniższe polecenie, aby automatycznie zainstalować podane pakiety.
while read -r line; do sudo apt-get -y install "$line"; done < /path/to/the/packages/file
Przykład:
$ cat file
vlc
firefox
$ while read -r line; do sudo apt-get install "$line"; done < file
[sudo] password for avinash:
Reading package lists... Done
Building dependency tree
Reading state information... Done
vlc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 499 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
ttf-lyx
The following packages will be upgraded:
firefox
1 upgraded, 0 newly installed, 0 to remove and 498 not upgraded.
Need to get 35.8 MB of archives.
After this operation, 24.3 MB of additional disk space will be used.
Get:1 http://ftp.cuhk.edu.hk/pub/Linux/ubuntu/ trusty-updates/main firefox amd64 33.0+build2-0ubuntu0.14.04.1 [35.8 MB]
0% [1 firefox 67.0 kB/35.8 MB 0%] 10.4 kB/s 57min 16s^
Czy nie byłoby to o wiele wolniejsze niż umieszczanie pakietów w jednym wierszu, ponieważ trzeba czytać listy pakietów i budować drzewa zależności itp. Dla każdego pakietu, zamiast robić to raz?
Odpowiedzi:
Tak, po prostu wypisz wszystkie paczki w linii oddzielonej spacją. na przykład
źródło
-y
opcję. Jest dość długi, ale możesz przeczytaćman apt-get
więcej informacji.Jeśli masz plik (powiedzmy
pkglist
), który zawiera listę pakietów do zainstalowania, takich jak:lub
Następnie możesz zainstalować te pakiety za
apt
pomocą następującego polecenia:sudo apt-get install $(cat pkglist)
xargs sudo apt-get install < pkglist
Aby uzyskać więcej informacji,
apt-get install
odwiedźman apt-get
sekcję instalacji.źródło
xargs sudo apt-get -y install < pkglist
xargs -a pkglist sudo apt install
.Umieść wszystkie nazwy pakietów w pliku (jedna nazwa pakietu dla każdej linii). Następnie uruchom poniższe polecenie, aby automatycznie zainstalować podane pakiety.
Przykład:
źródło