Saya perlu menggunakan apt-get download
untuk mengambil versi .deb
file tertentu, tetapi belum tentu versi yang tepat. .deb
dependensi diizinkan untuk menggunakan ekspresi seperti >=0.3.0
dan saya ingin apt-get download
mengambil versi yang sama dengan yang akan diunduh menggunakan dependensi tersebut.
Kesimpulannya, apa yang ingin saya kerjakan adalah ini:
$ apt-get download package='>=0.3.0'
Adakah yang tahu bagaimana saya bisa mendapatkan fungsionalitas itu?
Jawaban:
Anda dapat melakukan ini dengan terlebih dahulu mencari tahu versi mana yang merupakan versi terbaru yang juga lebih besar atau sama dengan versi minimum yang Anda inginkan. Kemudian, Anda mengunduh versi itu menggunakan
apt-get download
. Inilah skrip yang melakukan ini (ini agak jelek, tetapi Anda mendapatkan idenya):Anda harus menambahkan pemeriksaan kesalahan jika paket tidak ada, dll. Tetapi ini berisi solusi inti. Juga, saya berasumsi di sini bahwa Anda menginginkan paket terbaru yang tersedia yang setidaknya merupakan versi tertentu. Jika Anda lebih suka paket tertua yang tersedia yang setidaknya merupakan versi tertentu, Anda harus menyesuaikan skrip untuk berhenti mencari begitu menemukan sesuatu yang setidaknya merupakan versi yang Anda inginkan.
sumber
Karena Anda menginginkan apa yang
apt-get install
akan Anda berikan, mungkin patut dijalankanapt-get install
dalam 'mode unduh saja' menggunakan direktori arsip khusus:Bagaimana cara mengubah direktori arsip? Ini adalah opsi konfigurasi:
Itu dapat diubah sementara dengan
--option
parameter:Untuk meringkas:
Perintah ini akan men-download (dan hanya men-download, tidak menginstal) yang relevan
.deb
file untuk<package>
untuk/some/cache/dir
. Direktori akan berisi.deb
file - file untuk paket, dependensinya, file kunci dan direktori 'parsial' (yang harus kosong). Memfilter.deb
file yang Anda butuhkan sepele.sumber
apt-get install
membutuhkan akses pengguna super.apt-get download
juga memungkinkan Anda untuk mengatur target rilis. Tidakkah ini membantu?Komentar ke # 1 (tidak dapat menggunakan komentar) - menambahkan parameter
--print-uris
keapt-get install
tidak memerlukan hak root (tetapi Anda harus mengunduhnya sendiri - terbaik dengan wget -i FILE_LIST).sumber
Tanpa SU privs Anda masih dapat menjalankan apt-cache dan bergabung dengan filtering untuk mendapatkan info itu. Gunakan sesuatu seperti:
Pada Debian 5:
Pada 6 Anda dapat menggunakan:
Apt-cache tampaknya telah mengubah perilaku dalam urutan daftar antara 5 dan 6 sehingga pada 6 yang terbaru menjadi yang terakhir.
Satu kata peringatan adalah bahwa jika Anda menggunakan output ini ketika Anda mengatakan "untuk mengambil versi yang sama dengan yang akan diunduh menggunakan dependensi seperti itu", versi paket yang tersedia dapat berubah jika Anda menjalankan pembaruan apt-get (dengan su privs tentu saja), atau jika itu telah diatur untuk berjalan secara otomatis dan terjadi di antara ketika Anda mengumpulkan versi, dan ketika Anda menjalankan skrip yang menginstal hal-hal yang mengharapkan itu menjadi versi.
sumber