Apa yang dilakukan skrip instalasi di apt-get install?

14

Tampaknya apt-get installakan mengunduh paket Debian dan mencoba menjalankan skrip instalasi untuk:

  • Buat direktori yang tepat
  • Buat akun yang tepat
  • Salin file Biner
  • Salin file data
  • Salin file Conf
  • Salin skrip init.d
  • Memulai layanan
  • dll.

Saya benar-benar tertarik dan ingin mengetahui apa yang terjadi selangkah demi selangkah. Apakah ada cara untuk melihatnya? Suka perintah shell cetak dalam mode "dry run"?

ShenLei
sumber

Jawaban:

25

Singkatnya : apt-get installmelakukan semua yang diperlukan agar sistem Anda berhasil menjalankan aplikasi perangkat lunak yang baru diinstal.

Versi yang lebih panjang:

Persiapan:

Dari halaman manual :

Semua paket yang dibutuhkan oleh paket yang ditentukan untuk instalasi juga akan diambil dan diinstal.

Paket-paket tersebut disimpan di repositori di jaringan (internet). Jadi, apt-getunduh semua paket yang diperlukan ke direktori sementara ( /var/cache/apt/archives/). Mereka akan diunduh dari web- atau ftp-server. Mereka ditentukan dalam apa yang disebut sources.list; daftar repositori untuk manajer paket yang tepat. Sejak saat itu, mereka diinstal satu per satu secara prosedural.

Yang pertama diinstal adalah yang tidak memiliki ketergantungan lebih lanjut; jadi tidak ada paket lain yang harus diinstal agar mereka berfungsi dengan baik. Melalui itu, paket lain (yang sebelumnya memiliki dependensi) tidak lagi memiliki dependensi. Sistem terus melakukan proses itu berulang-ulang sampai paket yang ditentukan diinstal.

Setiap paket menjalani prosedur instalasi.

Prosedur pemasangan paket:

Dalam distribusi Linux berbasis Debian, seperti Ubuntu atau Mint, paket-paket itu dalam format standar yang disebut: deb -> Format paket biner Debian .

Paket seperti itu berisi file yang akan diinstal pada sistem. Juga mengandung file kontrol . File itu berisi skrip yang harus dijalankan sistem pengemasan dalam situasi tertentu; skrip pengelola yang disebut . Skrip tersebut dibagi menjadi:

  • preinst: sebelum instalasi file ke dalam hierarki file sistem
  • postinst: setelah instalasi
  • prerm: sebelum penghapusan instalasi
  • postrm: setelah penghapusan instalasi

Skrip-skrip tersebut adalah tempat di mana pengguna tertentu dibuat atau beberapa layanan yang perlu direstart atau pendahuluan lain yang diperlukan agar paket berfungsi.

Selain skrip-skrip itu, sistem paket memiliki pemicu yang dimaksudkan untuk acara tertentu. Misalnya, regenerasi initrds ketika menginstal versi kernel baru atau ldconfig atau man-db. Mereka diaktifkan oleh satu paket atau lebih dan berjalan di akhir seluruh proses instalasi.

Ada gambar yang menarik, yang menunjukkan prosedur pemasangan paket baru:

instalasi

Ada juga lebih banyak file kontrol, yang paling penting adalah sebagai berikut:

Jika Anda tertarik, Anda dapat membuka paket deb (setelah mengunduh) secara manual dan melihat apa yang ada di dalamnya:

# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb

Sekarang Anda melihat file bernama data.tar.gzberisi file dan file yang disebut control.tar.gzberisi empat skrip pengelola dan file kontrol yang disebutkan di atas.

kekacauan
sumber
Saat ini saya percaya itu akan lebih baik untuk digunakan dpkg-deb -x package.debdaripada ar x package.deb, karena dpkgadalah manajer paket deb resmi (di mana apt-get digunakan).
Fanatique