Rumah > Artikel > Tutorial sistem > Menganalisis fungsi dan ciri apt, yum, dnf dan pkg
Pengenalan | Kebanyakan sistem pengendalian seperti Unix moden menyediakan mekanisme terpusat untuk mencari dan memasang perisian. Perisian biasanya disimpan dalam repositori dan diedarkan melalui pakej. Kerja mengendalikan pakej dipanggil pengurusan pakej. Pakej menyediakan komponen asas sistem pengendalian, serta perpustakaan kongsi, aplikasi, perkhidmatan dan dokumentasi. |
Selain memasang perisian, sistem pengurusan pakej juga menyediakan alatan untuk mengemas kini pakej yang dipasang. Repositori pakej membantu memastikan kod yang digunakan dalam sistem anda telah disemak dan versi perisian yang dipasang telah diluluskan oleh pembangun dan penyelenggara pakej.
Apabila mengkonfigurasi pelayan atau persekitaran pembangunan, adalah lebih baik untuk memahami pakej yang berada di luar repositori rasmi. Pakej dalam versi stabil pengedaran mungkin sudah lapuk, terutamanya untuk perisian baharu atau berkembang pesat. Walau bagaimanapun, pengurusan pakej adalah kemahiran penting untuk kedua-dua pentadbir sistem dan pembangun, dan perisian berpakej merupakan aset besar kepada pengedaran Linux utama.
Panduan ini direka bentuk untuk memperkenalkan dengan cepat asas mencari, memasang dan menaik taraf pakej pada pelbagai pengedaran Linux dan untuk membantu anda merujuk silang kandungan ini merentas berbilang sistem.
Sistem Pengurusan Pakej: Gambaran Keseluruhan RingkasKebanyakan sistem pakej dibina berdasarkan koleksi fail pakej. Fail pakej biasanya fail arkib yang mengandungi binari terkumpul dan sumber lain untuk perisian, serta skrip pemasangan. Fail pakej juga mengandungi metadata berharga, termasuk kebergantungan mereka dan senarai pakej lain yang diperlukan untuk memasang dan menjalankannya.
Walaupun fungsi dan faedah sistem pengurusan pakej ini sebahagian besarnya sama, format dan alatan pembungkusan berbeza mengikut platform:
Sistem Operasi | Format | Alat |
---|---|---|
Debian | .deb | apt, apt-cache, apt-get, dpkg |
Ubuntu | .deb | apt, apt-cache, apt-get, dpkg |
CentOS | .rpm | yum |
Fedora | .rpm | dnf |
FreeBSD | Pelabuhan, .txz | buat, pkg |
Debian dan derivatifnya, seperti Ubuntu, Linux Mint dan Raspbian, format pakej mereka ialah .deb. APT Alat pengurusan pakej lanjutan ini menyediakan arahan untuk operasi yang paling biasa: cari repositori, pasang pakej dan kebergantungannya, dan uruskan peningkatan. Dalam sistem setempat, kami juga boleh menggunakan program dpkg untuk memasang fail deb tunggal Arahan APT berfungsi sebagai hujung hadapan dpkg yang mendasari, dan kadangkala ia juga dipanggil secara langsung.
Derivatif debian yang dikeluarkan baru-baru ini termasuk perintah apt, yang menyediakan antara muka yang ringkas dan bersatu untuk operasi biasa yang biasanya dikendalikan oleh arahan apt-get dan apt-cache. Perintah ini adalah pilihan, tetapi menggunakannya boleh memudahkan beberapa tugas.
CentOS, Fedora dan ahli keluarga Red Hat yang lain menggunakan fail RPM. Dalam CentOS, berinteraksi dengan fail pakej individu dan repositori melalui yum.
Dalam versi Fedora baru-baru ini, yum telah digantikan dengan dnf, garpu modennya yang mengekalkan kebanyakan antara muka yum.
Sistem pembungkusan binari FreeBSD diuruskan oleh arahan pkg. FreeBSD juga menyediakan koleksi Ports, yang merupakan struktur dan alat direktori tempatan yang membolehkan pengguna menggunakan Makefile untuk menyusun dan memasang pakej terus daripada kod sumber selepas mendapatkan kod sumber.
Senarai pakej dikemas kiniKebanyakan sistem akan mempunyai pangkalan data pakej tempatan yang sepadan dengan repositori jauh Adalah lebih baik untuk mengemas kini pangkalan data ini sebelum memasang atau menaik taraf pakej. Selain itu, yum dan dnf juga akan menyemak kemas kini secara automatik sebelum melakukan beberapa operasi. Sudah tentu anda boleh mengemas kini sistem pada bila-bila masa.
Sistem | Perintah |
---|---|
Debian/Ubuntu | sudo apt-get kemas kini |
sudo apt kemas kini | |
CentOS | yum semak-kemas kini |
Fedora | dnf semak-kemas kini |
Pakej FreeBSD | sudo pkg kemas kini |
FreeBSD Ports | sudo kemas kini pengambilan portsnap |
Tanpa sistem pakej, adalah satu tugas yang sukar untuk memastikan semua perisian yang dipasang pada mesin sentiasa dikemas kini. Anda perlu menjejaki perubahan huluan dan makluman keselamatan untuk beratus-ratus pakej yang berbeza. Walaupun pengurus pakej tidak menyelesaikan setiap masalah yang anda hadapi semasa menaik taraf perisian, ia membolehkan anda menggunakan beberapa arahan untuk mengekalkan kebanyakan komponen sistem.
Pada FreeBSD, menaik taraf port yang dipasang mungkin menyebabkan perubahan pecah, dan beberapa langkah memerlukan konfigurasi manual, jadi sebaiknya baca kandungan /usr/ports/UPDATING sebelum mengemas kini melalui portmaster.
Sistem | Perintah | Arahan |
---|---|---|
Debian/Ubuntu | sudo apt-get naik taraf | Hanya kemas kini pakej yang dipasang |
sudo apt-get dist-upgrade | Pakej boleh ditambah atau dialih keluar untuk memenuhi kebergantungan baharu | |
sudo apt upgrade | Serupa dengan apt-get upgrade | |
sudo apt full-upgrade | Serupa dengan apt-get dist-upgrade | |
CentOS | kemas kini sudo yum | |
Fedora | sudo dnf naik taraf | |
Pakej FreeBSD | sudo pkg naik taraf | |
FreeBSD Ports | less /usr/ports/UPDATEING | Gunakan lebih sedikit untuk melihat gesaan kemas kini port (gunakan kekunci kursor atas dan bawah untuk menatal, tekan q untuk keluar). |
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a | Pasang portmaster dan gunakannya untuk mengemas kini port yang dipasang |
Kebanyakan pengedaran menyediakan alatan grafik atau dipacu menu untuk koleksi pakej Kami boleh menyemak imbas perisian mengikut kategori, yang juga merupakan cara yang baik untuk menemui perisian baharu. Walau bagaimanapun, cara terpantas dan paling berkesan untuk mencari pakej adalah dengan mencari menggunakan alat baris arahan.
Sistem | Perintah | Arahan |
---|---|---|
Debian/Ubuntu | rentetan carian apt-cache | |
rentetan carian yang sesuai | ||
CentOS | yum search search_string | |
yum cari semua search_string | Cari semua medan termasuk penerangan | |
Fedora | dnf cari search_string | |
dnf cari semua search_string | Cari semua medan termasuk penerangan | |
Pakej FreeBSD | pkg search search_string | Cari mengikut nama |
pkg search -f search_string | Cari mengikut nama dan kembalikan penerangan penuh | |
cari pkg -D rentetan_cari | Pencarian Penerangan | |
FreeBSD Ports | cd /usr/ports && buat nama carian=pakej | Cari mengikut nama |
cd /usr/ports && buat kunci carian=search_string | Cari ulasan, penerangan dan kebergantungan |
Sebelum memasang pakej perisian, kita boleh mendapatkan banyak maklumat berguna dengan membaca penerangan pakej dengan teliti. Selain teks yang boleh dibaca manusia, ini biasanya termasuk metadata seperti nombor versi dan senarai kebergantungan pakej.
Sistem | Perintah | Arahan |
---|---|---|
Debian/Ubuntu | pakej rancangan apt-cache | Tunjukkan maklumat cache setempat tentang pakej |
pakej persembahan yang sesuai | ||
pakej dpkg -s | Menunjukkan status pemasangan semasa pakej | |
CentOS | pakej info yum | |
pakej deplist yum | Senaraikan kebergantungan pakej | |
Fedora | pakej info dnf | |
dnf repoquery --memerlukan pakej | Senaraikan kebergantungan pakej | |
Pakej FreeBSD | pakej info pkg | Tunjukkan maklumat tentang pakej yang dipasang |
FreeBSD Ports | cd /usr/ports/category/port && cat pkg-descr |
Sebaik sahaja anda mengetahui nama pakej, anda biasanya boleh memasangnya dan kebergantungannya dengan satu arahan. Anda juga boleh memasang berbilang pakej sekaligus, cuma senaraikan kesemuanya.
Sistem | Perintah | Arahan |
---|---|---|
Debian/Ubuntu | sudo apt-get install pakej | |
sudo apt-get install package1 package2 ... | Pasang semua pakej tersenarai | |
sudo apt-get install -y package | Apabila apt menggesa sama ada untuk meneruskan, ia akan terus lalai kepada ya | |
pakej pemasangan sudo apt | Paparkan bar kemajuan berwarna | |
CentOS | pakej pasang sudo yum | |
sudo yum pasang pakej1 pakej2 ... | Pasang semua pakej tersenarai | |
sudo yum install -y package | Apabila yum menggesa sama ada untuk meneruskan, ia akan lalai terus kepada ya | |
Fedora | pakej pasang sudo dnf | |
sudo dnf install package1 package2 ... | Pasang semua pakej tersenarai | |
sudo dnf install -y package | Apabila dnf menggesa sama ada untuk meneruskan, ia akan lalai terus kepada ya | |
Pakej FreeBSD | pakej pemasangan sudo pkg | |
sudo pkg pasang pakej1 pakej2 ... | Pasang semua pakej tersenarai | |
FreeBSD Ports | cd /usr/ports/category/port && sudo make install | Bina dan pasang port daripada sumber |
Untuk sistem pengendalian tertentu, kadangkala sesetengah perisian tidak menyediakan pakej yang sepadan secara rasmi, jadi pembangun atau pembekal perlu menyediakan muat turun fail pakej. Anda biasanya boleh mendapatkan semula pakej ini melalui penyemak imbas web, atau mendapatkan maklumat ini melalui curl baris arahan. Selepas memuat turun pakej ke sistem sasaran, kami biasanya boleh memasangnya dengan satu arahan.
Pada sistem terbitan Debian, dpkg digunakan untuk memproses fail pakej individu. Jika pakej mempunyai kebergantungan yang tidak dipenuhi, maka kita boleh menggunakan gdebi untuk mendapatkannya daripada repositori rasmi.
Pada sistem CentOS dan Fedora, yum dan dnf digunakan untuk memasang fail individu dan mengendalikan kebergantungan yang diperlukan.
Sistem | Perintah | Arahan |
---|---|---|
Debian/Ubuntu | sudo dpkg -i package.deb | |
sudo apt-get install -y gdebi && sudo gdebi package.deb | Pasang gdebi, kemudian gunakan gdebi untuk memasang package.deb dan mengendalikan kebergantungan yang hilang | |
CentOS | sudo yum install package.rpm | |
Fedora | sudo dnf install package.rpm | |
Pakej FreeBSD | sudo pkg tambah pakej.txz | |
sudo pkg add -f package.txz | Malah pakej yang dipasang akan dipasang semula |
Oleh kerana pengurus pakej mengetahui fail yang disediakan oleh pakej tertentu, ia selalunya boleh mengalih keluar fail tersebut daripada sistem jika perisian tidak lagi diperlukan.
Sistem | Perintah | Arahan |
---|---|---|
Debian/Ubuntu | sudo apt-get remove package | |
sudo apt keluarkan pakej | ||
sudo apt-get autoremove | Padamkan pakej yang tidak perlu | |
CentOS | sudo yum removepackage | |
Fedora | pakej padam sudo dnf | |
Pakej FreeBSD | sudo pkg padam pakej | |
sudo pkg autoremove | Padamkan pakej yang tidak perlu | |
FreeBSD Ports | sudo pkg padam pakej | |
cd /usr/ports/path_to_port && buat nyahpasang | Nyahpasang port |
Pentadbir pengedaran keluarga Debian biasanya biasa dengan apt-get dan apt-cache. Kurang terkenal ialah antara muka apt yang dipermudahkan, yang direka untuk kegunaan interaktif.
Perintah tradisional | Perintah apt yang setara |
---|---|
apt-get kemas kini | kemas kini tepat |
apt-get dist-upgrade | naik taraf penuh yang sesuai |
rentetan carian apt-cache | rentetan carian yang sesuai |
pakej pemasangan apt-get | pakej pemasangan apt |
apt-get remove pakej | apt keluarkan pakej |
pakej apt-get purge | pakej apt purge |
Walaupun apt biasanya merupakan pintasan untuk operasi tertentu, ia tidak boleh menggantikan alatan tradisional sepenuhnya dan antara mukanya mungkin berubah dari versi ke versi untuk meningkatkan kebolehgunaan. Jika anda menggunakan arahan pengurusan pakej dalam skrip atau saluran paip shell, sebaiknya gunakan apt-get dan apt-cache.
Dapatkan bantuanSelain dokumentasi berasaskan web, ingat bahawa kita boleh mendapatkan kebanyakan arahan daripada halaman manual Unix (selalunya dipanggil halaman manual) melalui shell. Sebagai contoh, untuk membaca halaman tertentu, anda boleh menggunakan man:
Dalam lelaki anda boleh menavigasi menggunakan kekunci anak panah. Tekan / untuk mencari teks dalam halaman dan gunakan q untuk keluar.
Sistem | Perintah | Arahan |
---|---|---|
Debian/Ubuntu | man apt-get | Kemas kini pangkalan data pakej tempatan dan bekerjasama dengan pakej |
man apt-cache | Cari dalam pangkalan data pakej tempatan | |
lelaki dpkg | Kerja dengan fail pakej individu dan pertanyaan pakej yang dipasang | |
man apt | Lakukan operasi paling asas melalui antara muka yang lebih ringkas dan mesra pengguna | |
CentOS | man yum | |
Fedora | man dnf | |
Pakej FreeBSD | lelaki pkg | Berfungsi dengan pakej binari pra-disusun |
FreeBSD Ports | pelabuhan lelaki | Bekerja dengan koleksi Ports |
Atas ialah kandungan terperinci Menganalisis fungsi dan ciri apt, yum, dnf dan pkg. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!