Bagaimana cara menentukan ukuran paket saat menggunakan apt sebelum mengunduh?


29

Saat menggunakan apt-get install <package_name>, dan ada dependensi yang perlu diunduh, terminal mengeluarkan nama paket tambahan dan ukuran total, dan meminta konfirmasi sebelum mengunduh.

Tetapi, ketika dependensi puas dan tidak ada tetapi paket yang disebutkan perlu diunduh tidak ada ukuran output dan tidak ada konfirmasi.

Saat menggunakan Synaptic, saya dapat melihat ukuran total yang akan digunakan oleh paket baru setelah instalasi tetapi tidak ada cara untuk melihat ukuran yang perlu diunduh, kecuali untuk beralih dari paket ke paket dan menggunakan properti untuk melihat ukuran terkompresi.

Saya ingin tahu apakah ada cara untuk melihat ukuran paket di terminal dan Synaptic sebelum mengunduh dan menginstalnya / mereka?

Jawaban:


27

Di terminal, untuk satu paket:

apt-cache --no-all-versions show $package | grep '^Size: '

lebih dari satu paket:

apt-cache --no-all-versions show $packages | 
    awk '$1 == "Package:" { p = $2 }
         $1 == "Size:"    { printf("%10d %s\n", $2, p) }'

Saya tidak tahu tentang Synaptic.


UNIT apa ini?
tatsu

Saya kira itu Sizebyte dan Installed-SizeKiB tapi saya tidak tahu apakah ini didefinisikan di mana saja. Misalnya versi Firefox:apt-cache show firefox | grep -E "Package:|Version:|Size:"
Mikko Rantalainen

CLI manusia yang disengaja saat ini apt. Misalnya,apt show firefox | grep Size
Mikko Rantalainen

Ditemukan dokumen: apt-cache showAkan memancarkan nilai aktual yang ditentukan dalam file debian/controldokumentasi Installed-Sizedapat ditemukan di sini: debian.org/doc/debian-policy/…
Mikko Rantalainen

11

apt-cache show <package>atau aptitude show <package>akan menampilkan informasi lebih lanjut tentang paket, termasuk ukurannya.

Untuk ukuran paket saja, Anda dapat menggunakan:

apt-cache show <package> | grep Installed-Size

atau

aptitude show <package> | grep 'Uncompressed Size'

Untuk .debpaket Anda dapat menggunakan:

dpkg-deb -I <package>.deb | grep Installed-Size

1
Apakah ini akan menunjukkan ukuran ketergantungan juga?
Tachyons

@Tachyons Pertanyaannya adalah: " Apakah ada cara saya bisa mendapatkan ukuran paket? ". Jika Anda tertarik tentang ukuran dependensi, Anda dapat menggunakan tombol Tanya Pertanyaan untuk mengajukan pertanyaan lain.
Radu Rădeanu

1
Tetapi termasuk ukuran dep dapat membuat jawaban Anda efisien. saran saja teman saya, :)
rɑːdʒɑ

1
@Jaidpkg-deb -I <package>.deb | grep Installed-Size
Radu Rădeanu

3
Bagi saya ini mengembalikan 68 ... MB? GB? Sendok?
puk

5

Anda dapat menggunakan mode "dry run", yang hanya berpura-pura mengunduh dan menginstal paket

$ aptitude install -sy xlockmore
The following NEW packages will be installed:
  xlockmore 
0 packages upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
Need to get 194 kB of archives. After unpacking 373 kB will be used.
Would download/install/remove packages.

Sudah mencoba tetapi saya tidak melihat ukurannya. Baris: Perlu mendapatkan arsip x. Setelah membongkar x akan digunakan. tidak muncul.

1
Maaf, ini seharusnya bukan apt-get apt (saya punya alias shell untuk itu). Diperbarui. Solusi ini memiliki keuntungan menunjukkan apa yang benar-benar perlu Anda unduh (tidak termasuk dependensi yang sudah diinstal).
Adam Byrtek

5

Ini juga benar tetapi ukuran ditampilkan dalam byte. Dan ini menunjukkan ukuran dalam format yang lebih baik tetapi jika paket berukuran sangat kecil (katakanlah <1MB) maka terlepas dari echo 'n'itu akan menginstal paket (Karena dalam hal itu, apt tidak meminta).

Jadi, Anda gunakan --no-downloaddengan --assume-nosebagai berikut:

sudo apt-get --no-download --assume-no install <package_name> | grep 'Need to get'

Di sini --no-downloadberargumen untuk tidak mengunduh paket dan --assume-nountuk asumsi tidak ( n) jika ada prompt.

Contoh:

$ sudo apt-get --no-download --assume-no install ttf-devanagari-fonts 2>/dev/null | grep 'Need to get'
Need to get 938 kB of archives.

Jawaban ini bagus karena juga termasuk dependensi. Untuk menunjukkan penyimpanan 'nyata' yang akan digunakan, ambil 'ruang disk tambahan'
Panki

0

Anda dapat mencoba perintah di bawah ini untuk melihat ukuran arsip yang perlu diunduh untuk paket tertentu.

echo 'n' | sudo apt-get install package | awk '/^Need to get/ {print $4,$5}'

@enzotib jawabannya bagus tetapi menunjukkan ukuran arsip yang perlu diunduh dalam beberapa format lain bukan di mb's. Tetapi perintah ini akan menunjukkan ukuran dalam Mb's.

Contoh:

$ apt-cache --no-all-versions show chromium-browser | grep '^Size: '
Size: 41493718

$ echo 'n' | sudo apt-get install chromium-browser | awk '/^Need to get/ {print $4,$5}'
44.4 MB

echo 'n' | sudo apt-get install <package>masih menginstal paket bintang jika ukurannya sangat kecil
Pandya
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.