GNU/Linux >> Belajar Linux >  >> Linux

Kapan Dan Mengapa Saya Harus Menggunakan Pembaruan Apt-get?

Pertanyaan umum:

Bisakah beberapa menjelaskan apa perintah apt-get update apakah dan kapan saya benar-benar harus menggunakannya?

Keterangan

Berikan jawaban terperinci . Bukan hanya salinan halaman manual, kecuali versi Anda benar-benar detail (saya berikan satu definisi dari halaman manual di bawah).

pembaruan apt-get :Digunakan untuk menyinkronkan ulang file indeks paket dari sumbernya. Indeks paket yang tersedia diambil dari lokasi yang ditentukan di /etc/apt/sources.list(5). Pembaruan harus selalu dilakukan sebelum peningkatan atau dist-upgrade.

Sub-pertanyaan:

  • Di mana indeks paket disimpan? Di database? Di file?
  • Apa yang terjadi jika saya melakukan apt-get install tanpa memperbarui cache? Apakah ada kemungkinan paket jarak jauh tidak akan ada lagi dan tautannya akan rusak?
  • Apakah ada politik yang disepakati tentang repositori deb? Misalnya, haruskah repositori hanya berisi versi terakhir dari sebuah paket, atau sebaliknya haruskah repositori berisi semua versi yang tersedia untuk rilis distribusi tertentu?

Konteks

Saya mengajukan pertanyaan saya karena saya sedang mempelajari kerangka kerja Docker. Salah satu fiturnya adalah Dockerfile , yang memungkinkan Anda membuat semacam citra OS dengan mengeksekusi beberapa instruksi dari file ini.
Salah satu properti dari citra ini adalah bahwa citra harus selalu sama, apa pun konteksnya (waktu pembuatan, dll).

Saya khawatir jika saya meluncurkan apt-get update perintah pada waktu yang berbeda, hasilnya akan berbeda dan gambar saya akan berbeda.

Jawaban yang Diterima:

apt-get update mengunduh daftar paket yang tersedia.

Daftar paket dapat berubah seiring waktu. Paket baru ditambahkan, dan paket lama dihapus. Jadi, jika Anda memiliki cache yang sangat lama, dan Anda mencoba melakukan apt-get install , ia mungkin mencoba mengunduh paket yang sudah tidak ada lagi.
Berapa lama paket lama disimpan dalam repositori tergantung pada pengelola repo (distribusi Anda). Karena itu, jika Anda menggunakan sesuatu seperti buruh pelabuhan, di mana cache mungkin sudah sangat usang, Anda harus selalu menjalankan apt-get update sebelum menginstal paket apa pun.

Alasan untuk menghapus dan menambahkan paket sebagian besar adalah perbaikan bug &pembaruan keamanan. Meskipun jika Anda menggunakan repo pihak ketiga seperti PPA, apa pun bisa terjadi.

Terkait:Kapan seseorang mendapatkan pesan kesalahan "pekerjaan:tidak ditemukan"?

Saat menggunakan sesuatu seperti buruh pelabuhan untuk penampung di lingkungan perusahaan, Anda harus membuat wadah sekali, lalu memindahkan wadah itu melalui berbagai lingkungan rilis Anda (pengembangan, pementasan, produksi), dan tidak membangun kembali wadah setiap kali. Ini akan memastikan Anda tidak mendapatkan penampung lain yang belum diuji.

Untuk menjawab pertanyaan Anda tentang di mana file cache berada, /var/lib/apt/lists .


Linux
  1. Mengapa eval harus dihindari di Bash, dan apa yang harus saya gunakan?

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. Kapan menggunakan Bash dan kapan menggunakan Perl/Python/Ruby?

  1. Redis sebagai Cache:Cara Kerja dan Mengapa Menggunakannya

  2. Mengapa seseorang harus menggunakan sudo?

  3. Mengapa kita menggunakan su - dan bukan hanya su?

  1. Antivirus di Linux:Haruskah Saya Benar-Benar Menggunakannya dan Jika Ya, Kapan Saya Membutuhkannya?

  2. Linux – Mengapa Kami Menggunakan Su – Dan Bukan Hanya Su?

  3. Jadikan Apt-get Update Dan Upgrade Otomatis Dan Tanpa Pengawasan?