Satu faktor penting yang membezakan pengedaran Linux ialah sistem pengurusan pakejnya. Dalam artikel ini, anda akan mempelajari tentang pengurus pembungkusan dan pakej di Linux. Kami akan memperkenalkan anda kepada konsep "pakej" dan "pengurus pakej" dan cara ia berfungsi, serta beberapa pengurus pakej biasa.
Apa itu pengurus pakej?
Ringkasnya, "pengurus pakej" (atau "pengurus pakej") ialah alat yang membolehkan pengguna memasang, mengalih keluar, menaik taraf, mengkonfigurasi dan mengurus pakej perisian pada sistem pengendalian. Pengurus pakej boleh menjadi aplikasi grafik seperti Pusat Perisian atau alat baris arahan seperti apt-get atau pacman.
Anda akan perasan bahawa saya banyak menggunakan perkataan "pakej" dalam tutorial dan artikel saya. Untuk memahami pengurus pakej, anda mesti memahami apa itu pakej.
Apa itu beg?
"Pakej" (atau "pakej perisian") biasanya merujuk kepada aplikasi, yang boleh menjadi aplikasi GUI, alat baris arahan atau pustaka perisian (diperlukan oleh program perisian lain). Pakej pada asasnya ialah fail arkib yang mengandungi boleh laku binari, fail konfigurasi dan kadangkala maklumat pergantungan.
Pada zaman dahulu, perisian dipasang dari kod sumbernya. Anda akan merujuk kepada fail (biasanya dinamakan README) untuk melihat komponen perisian yang diperlukan dan di mana binari tersebut. Ia biasanya termasuk skrip konfigurasi atau Makefile. Anda mesti menyusun sendiri perisian atau mengendalikan sendiri semua kebergantungan (sesetengah perisian memerlukan perisian lain untuk dipasang).
Untuk menghapuskan kerumitan ini, pengedaran Linux telah mencipta format pembungkusan mereka sendiri yang menyediakan pengguna akhir dengan perduaan sedia untuk digunakan (perisian yang telah dikompilasi) untuk memasang perisian, bersama-sama dengan beberapa metadata (nombor versi, perihalan) dan hubungan kebergantungan.
Ia seperti membakar kek berbanding membeli kek.
Sekitar pertengahan 1990-an, Debian mencipta format pembungkusan DEB (.deb), dan Red Hat Linux mencipta sistem pembungkusan RPM (singkatan untuk Pengurus Pakej Red Hat) (.rpm). Cara untuk menyusun kod sumber masih wujud, tetapi kini adalah pilihan.
Untuk berinteraksi atau menggunakan sistem pembungkusan, anda memerlukan pengurus pakej.
Bagaimana pengurus pakej berfungsi?
Sila ingat bahawa pengurus pakej ialah konsep umum, ia bukan unik untuk Linux. Anda selalunya akan menemui pengurus pakej untuk pelbagai perisian atau bahasa pengaturcaraan. Terdapat pengurus pakej PIP hanya untuk pakej Python. Malah editor Atom mempunyai pengurus pakej sendiri.
Memandangkan fokus artikel ini adalah Linux, saya akan mulakan dari perspektif Linux. Walau bagaimanapun, kebanyakan penjelasan di sini juga boleh digunakan untuk pengurus pakej secara umum.
Saya mencipta rajah ini (berdasarkan SUSE Wiki) supaya anda boleh memahami cara pengurus pakej berfungsi dengan mudah.
Hampir semua pengedaran Linux mempunyai "repositori perisian", yang pada asasnya merupakan koleksi pakej perisian. Ya, boleh ada lebih daripada satu repositori perisian. Perpustakaan perisian mengandungi pelbagai jenis pakej perisian.
Repositori perisian juga mempunyai fail metadata, yang mengandungi maklumat pakej perisian, seperti nama pakej, nombor versi, perihalan pakej dan nama repositori perisian. Inilah yang anda lihat menggunakan arahan apt show dalam Ubuntu/Debian.
Pengurus pakej pada sistem anda akan terlebih dahulu berinteraksi dengan metadata. Pengurus pakej mencipta cache setempat metadata pada sistem anda. Apabila anda menjalankan pilihan kemas kini pengurus pakej anda (cth. kemas kini apt), ia mengemas kini cache metadata setempat dengan merujuk metadata dalam repositori.
Apabila anda menjalankan arahan pemasangan pengurus pakej (seperti apt install package_name), pengurus pakej akan merujuk cache ini. Jika ia menemui maklumat pakej dalam cache, ia menggunakan Internet untuk menyambung ke repositori yang sesuai dan memuat turun pakej sebelum memasangnya pada sistem anda.
Sesuatu pakej mungkin mempunyai kebergantungan. Maksudnya, ia mungkin memerlukan pakej tambahan untuk dipasang. Pengurus pakej biasanya mengendalikan kebergantungan ini dan memasangnya secara automatik bersama-sama dengan pakej yang anda pasang.
*Pengurus pakej Linux akan mengendalikan kebergantungan*
Begitu juga, apabila anda memadamkan pakej menggunakan pengurus pakej, ia akan memadamkannya secara automatik atau memberitahu anda bahawa sistem mempunyai pakej yang tidak digunakan yang boleh dibersihkan.
Sebagai tambahan kepada tugas pemasangan dan pengalihan yang jelas, anda juga boleh menggunakan pengurus pakej untuk mengkonfigurasi pakej dan mengurusnya mengikut keperluan anda. Sebagai contoh, anda boleh menghalang versi pakej tertentu daripada dinaik taraf semasa kemas kini sistem biasa. Mungkin banyak lagi yang boleh dilakukan oleh pengurus pakej anda.
pelbagai jenis pengurus pakej
Pengurus pakej berbeza-beza bergantung pada sistem pembungkusan, tetapi sistem pembungkusan yang sama mungkin mempunyai beberapa pengurus pakej.
Sebagai contoh, RPM mempunyai pengurus pakej Yum dan DNF. Untuk DEB, anda mempunyai pengurus pakej berasaskan baris arahan seperti apt-get, aptitude, dsb.
Pengurus Pakej Sinaptik
Pengurus pakej tidak semestinya berasaskan baris arahan, terdapat juga alatan pengurusan pakej grafik, seperti Synaptic. Pusat Perisian pengedaran anda juga merupakan pengurus pakej, walaupun ia menjalankan apt-get atau DNF di bawah hud.
Kesimpulan
Saya tidak mahu menjelaskan lebih lanjut mengenai topik ini, walaupun saya boleh meneruskannya tetapi itu akan menjejaskan matlamat topik ini - iaitu memberi anda pemahaman asas tentang pengurus pakej di Linux.
Saya mengabaikan format pembungkusan universal baharu seperti Snap dan Flatpak buat masa ini.
Atas ialah kandungan terperinci Penjelasan terperinci tentang pengurus pakej Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!