Instal daftar paket menggunakan apt-get

8

Saya memiliki instalasi baru Lubuntu dan ingin menginstal paket dari daftar yang diberikan, tanpa harus mengetik sudo apt-get install package_name. Apa itu mungkin?

Saya tidak berbicara tentang skrip post-install, itu sesuatu yang sama sekali berbeda.

syntagma
sumber
kemungkinan duplikat dari Bagaimana cara membuat skrip pasca pemasangan?
Alvar

Jawaban:

5

Ya, cukup daftarkan semua paket dalam satu baris yang dipisahkan oleh spasi. misalnya

sudo apt-get install package_name1 package_name2 package_name3 package_name4
Sparhawk
sumber
Terima kasih, bagaimana saya bisa berhenti apt-get dari bertanya Y / n pertanyaan apakah saya benar-benar ingin menginstal paket?
syntagma
2
Tambahkan -yopsi. Cukup panjang, tetapi Anda dapat membaca man apt-getuntuk informasi lebih lanjut.
Sparhawk
23

Jika Anda memiliki file (katakanlah pkglist) yang berisi daftar paket yang akan diinstal seperti:

pkg1
pkg2
pkg3

atau

pkg1 pkg2 pkg3

Kemudian Anda dapat menginstal paket itu dengan aptmenggunakan perintah berikut:

  1. sudo apt-get install $(cat pkglist)
  2. xargs sudo apt-get install < pkglist

Untuk informasi lebih lanjut, apt-get installkunjungi man apt-getbagian instal.

Pandya
sumber
2
Jika Anda ingin menginstal ini sepanjang persyaratan apa pun yang harus Anda lakukanxargs sudo apt-get -y install < pkglist
Emanuel Ey
+1 Jika Anda mencantumkan satu paket per baris, file tersebut harus menggunakan ujung garis Unix atau apt-get akan gagal.
rath
Anda juga dapat melewati nama file langsung ke xargs dengan -a atau pilihan --arg-berkas: xargs -a pkglist sudo apt install.
Ryan
1

Masukkan semua nama paket ke dalam file (satu nama paket untuk setiap baris). Dan kemudian jalankan perintah di bawah ini untuk menginstal paket yang diberikan secara otomatis.

while read -r line; do sudo apt-get -y install "$line"; done < /path/to/the/packages/file

Contoh:

$ 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^
Avinash Raj
sumber
Bukankah ini jauh lebih lambat daripada hanya meletakkan paket pada satu baris, karena harus membaca daftar paket dan membangun pohon dependensi, dll. Untuk setiap paket, daripada melakukannya sekali?
Sparhawk