Perintah dalam sistem Linux biasanya disediakan oleh pakej perisian yang dipasang di repositori pengedaran. Untuk menentukan pakej mana yang menyediakan arahan khusus , anda boleh menggunakan alat pengurusan pakej khusus untuk pengagihan Linux. Ini berguna untuk memasang arahan yang hilang atau kebergantungan pakej penyelesaian masalah.
Jadual Kandungan
Untuk mencari pakej mana yang menyediakan arahan pada pelbagai pengagihan Linux, anda biasanya menggunakan sistem pengurusan pakej khusus untuk pengedaran anda (seperti APK, APT, DNF, PACMAN, ZYPPER, dll.).
Inilah cara untuk melakukan ini dalam beberapa pengagihan Linux yang paling biasa:
Di Alpine Linux, anda boleh menggunakan Pengurus Pakej APK untuk mencari pakej yang menyediakan arahan tertentu.
<code># apk search -e pstree pstree-2.40-r1</code>
Perintah ini mencari pakej yang berkaitan dengan perintah PSTREE dalam repositori pakej Alpine Linux.
Berikut adalah pecahan arahan:
Dengan menjalankan carian apk -e pstree, Alpine Linux akan mencari repositori pakejnya untuk mana -mana pakej yang menyediakan perintah PSTREE atau dengan tepat dinamakan "PSTREE".
Jika utiliti PSTREE tidak dipasang pada sistem Linux Alpine anda, ini dapat membantu anda mencari dan memasang pakej yang mengandungi utiliti PSTREE.
Pada Arch Linux dan variannya seperti Endeavouros dan Manjaro Linux, anda boleh menggunakan perintah Pacman dengan bendera -f atau -qo bendera untuk mencari fail (atau arahan) dalam pakej.
Sebagai contoh, arahan berikut akan memaparkan pakej yang mengandungi arahan grep:
<code>$ pacman -F grep</code>
Perintah pacman -f grep digunakan untuk mencari pakej yang menyediakan fail atau arahan tertentu.
Berikut adalah makna bahagian yang berlainan dari arahan:
Apabila anda menjalankan pacman -f grep, pengurus pakej mencari pangkalan data pakejnya dan menyenaraikan semua pakej yang dipasang yang mengandungi fail atau executable bernama Grep.
Output arahan ini biasanya akan menunjukkan nama pakej dan laluan penuh ke grep yang sepadan dengan fail. Sebagai contoh, output mungkin kelihatan seperti ini:
<code>core/grep 3.11-1 usr/bin/grep [...]</code>
Ini menunjukkan bahawa perintah grep disediakan oleh pakej grep dalam repositori teras dan yang boleh dilaksanakan terletak di/usr/bin/grep.
Jika pelbagai pakej menyediakan fail yang sepadan dengan grep, semuanya akan disenaraikan. Sebaliknya, jika tiada pakej menyediakan fail bernama Grep, perintah itu akan mengembalikan output.
Anda juga boleh menggunakan arahan PACMAN -QO untuk mencari pakej yang dimiliki atau menyediakan fail atau arahan tertentu.
<code>$ pacman -Qo grep</code>
Berikut adalah makna bahagian yang berlainan dari arahan:
Apabila anda menjalankan Pacman -QO Grep, Pacman akan mencari semua pakej yang dipasang pada sistem dan mencari pakej yang mengandungi atau menyediakan fail atau executable bernama Grep.
Output arahan ini biasanya akan menunjukkan nama pakej yang mempunyai fail yang sepadan dengan grep. Sebagai contoh, output mungkin kelihatan seperti ini:
<code>/usr/bin/grep is owned by grep 3.11-1</code>
Ini menunjukkan bahawa perintah grep (terletak di/usr/bin/grep) disediakan oleh pakej GREP.
Jika pelbagai pakej menyediakan fail yang sepadan dengan grep, semuanya akan disenaraikan. Jika tiada pakej mempunyai fail bernama Grep, arahan akan mengembalikan output.
Perintah ini berguna apabila anda perlu mengetahui pakej fail atau arahan tertentu yang dimiliki oleh sistem Arch Linux. Ia dapat membantu anda menyelesaikan masalah yang hilang atau kebergantungan, atau membantu memasang semula pakej yang menyediakan komponen tertentu.
Perbezaan utama antara PACMAN -F GREP dan PACMAN -QO GREP ialah -f mencari pangkalan data pakej untuk mencari pakej yang mengandungi fail tertentu, manakala -QO mencari fail yang dipasang pada sistem dan mencari pakej yang memilikinya.
Pada sistem berasaskan Debian seperti Ubuntu, anda boleh menggunakan arahan DPKG dengan pilihan -s untuk mencari pakej yang memasang fail tertentu.
Walau bagaimanapun, jika fail tidak dipasang, anda perlu menggunakan perintah apt-file. Pertama, pastikan fail apt dipasang dan pangkalan datanya dikemas kini:
<code>$ sudo apt update $ sudo apt install apt-file $ sudo apt-file update</code>
Kemudian, gunakan arahan berikut untuk mencari pakej yang menyediakan arahan tertentu (seperti perintah pstree):
<code>$ apt-file search pstree</code>
Output Contoh:
<code>criu: /usr/lib/python3/dist-packages/pycriu/images/pstree_pb2.py manpages-ja: /usr/share/man/ja/man1/pstree.1.gz<strong></strong></code><mark> psmisc:/usr/bin/pstree</mark> psmisc: /usr/bin/pstree.x11 Psmisc: /usr/share/man/de/man1/pstree.1.gz Psmisc: /usr/share/man/fr/man1/pstree.1.gz psmisc: /usr/share/man/man1/pstree.1.gz Psmisc: /usr/share/man/man1/pstree.x11.1.gz psmisc: /usr/share/man/pt_br/man1/pstree.1.gz Psmisc: /usr/share/man/ru/man1/pstree.1.gz Psmisc: /usr/share/man/uk/man1/pstree.1.gz psmisc: /usr/share/pixmaps/pstree16.xpm psmisc: /usr/share/pixmaps/pstree32.xpm python-psutil-doc: /usr/share/doc/python-psutil-doc/examples/pstree.py Recap:/usr/lib/recap/core/pstree Systemtap-doc: /usr/share/systemtap/examples/process/pstree.meta Systemtap-doc: /usr/share/systemtap/examples/process/pstree.stp Tomoyo-Tools:/usr/sbin/tomoyo-pstree Tomoyo-tools: /usr/share/man/man8/tomoyo-pstree.8.gz
Seperti yang anda perhatikan dalam output di atas, pakej PSMISC menyediakan perintah PSTREE. Pendekatan ini membolehkan anda mengenal pasti pakej yang anda perlukan untuk memasang atau memastikan PSTREE tersedia pada sistem anda.
Atau, jika anda sudah memasang PSTREE dan hanya ingin mengesahkan bahawa PSTREE datang dari pakej ini, anda boleh menggunakan:
<code>$ dpkg -S pstree</code>
Pada Fedora dan sistem berasaskan RPM lain seperti Almalinux, Centos, Rhel, dan Rocky Linux, anda boleh menggunakan arahan DNF. Pada sistem yang lebih lama, anda mungkin perlu menggunakan yum.
Sebagai contoh, untuk mencari pakej yang menyediakan fail yang sepadan dengan corak*/pstree, anda boleh menjalankan:
<code>$ dnf provides */pstree</code>
Berikut adalah pecahan fungsi arahan:
Apabila anda menjalankan arahan ini, DNF akan mencari pangkalan data pakejnya dan menyenaraikan semua pakej yang tersedia yang mengandungi fail bernama PSTREE. Fail ini biasanya merupakan fail yang boleh dilaksanakan untuk utiliti PSTREE, yang memaparkan pokok proses.
Output arahan ini akan memaparkan nama pakej dan nombor versi fail PSTREE. Sebagai contoh, output mungkin kelihatan seperti ini:
<code>psmisc-23.6-4.fc39.x86_64 : Utilities for managing processes on your system Repo : fedora Matched from: Provide : /usr/bin/pstree</code>
Ini menunjukkan bahawa fail PSTREE (terletak di/usr/bin/pstree) disediakan terutamanya oleh pakej PSMISC (versi 23.6-4) dari repositori Fedora.
Dengan menggunakan arahan DNF menyediakan, anda boleh mengetahui pakej mana yang perlu anda pasang untuk mendapatkan fail atau utiliti tertentu pada sistem anda.
Pada SUSE dan OpenSUSE, anda boleh menggunakan perintah ZYPPER SE -Provides untuk mencari pakej yang menyediakan fail yang ditentukan atau fail yang boleh dilaksanakan.
<code>$ zypper se --provides '/usr/bin/grep'</code>
Berikut adalah pecahan arahan:
Apabila anda menjalankan arahan ini, Zyper akan mencari pangkalan data pakejnya dan menyenaraikan semua pakej yang tersedia yang mengandungi atau menyediakan fail/usr/bin/grep.
Output arahan ini memaparkan nama, versi, dan maklumat repositori pakej yang menyediakan fail yang ditentukan. Sebagai contoh, output mungkin kelihatan seperti ini:
<code>Loading repository data... Reading installed packages... S | Name | Summary | Type -- ------------------------- ------------------------------------------ ------- | grep-3.11-3 | Pattern matching utilities | package [...]</code>
Output ini menunjukkan bahawa fail/usr/bin/grep disediakan terutamanya oleh pakej GREP (versi 3.11-3).
Di Nixos Linux, anda boleh menggunakan utiliti Nix-ENV untuk mencari pakej mana yang menyediakan arahan tertentu.
Sebagai contoh, untuk mencari pakej mana yang menyediakan perintah pstree, anda boleh menjalankan:
<code>$ nix-env -qaP pstree</code>
Ini akan mencari semua pakej yang dipasang dan mencetak nama pakej dan laluan apabila perlawanan ditemui.
Output Contoh:
<code>nixpkgs.pstree pstree-2.39</code>
Menunjukkan bahawa perintah PSTREE disediakan oleh pakej PSTREE-2.39.
Anda juga boleh menggunakan perintah carian Nix untuk mencari nama pakej yang menyediakan arahan tertentu. Walaupun arahan ini masih dalam peringkat eksperimen, anda boleh menggunakannya untuk mencari pakej.
Larian pertama mungkin perlahan, tetapi larian berikutnya akan menggunakan hasil cache.
Sebagai contoh, untuk mencari pakej yang mengandungi perintah pstree, jalankan:
<code>$ nix --extra-experimental-features "nix-command flakes" search nixpkgs pstree</code>
Output Contoh:
<code>* legacyPackages.x86_64-linux.psmisc (23.6) A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree) * legacyPackages.x86_64-linux.pstree (2.39) Show the set of running processes as a tree</code>
Kami boleh menggunakan alat Equery dalam pakej Pantai/Gentoolkit App di Gentoo Linux untuk mencari pakej mana yang menyediakan arahan khusus.
Pastikan anda memasang App-Portage/Gentoolkit:
<code># emerge --ask app-portage/gentoolkit</code>
Untuk mencari pakej yang menyediakan arahan tertentu, gunakan persamaan dengan pilihan kepunyaan:
<code>equery belongs /path/to/command</code>
Ganti/jalan/ke/perintah dengan laluan penuh ke arahan yang anda cari.
Jika anda tidak tahu jalan ke arahan, anda boleh menggunakan perintah whereis untuk mencarinya.
<code># whereis pstree</code>
Output Contoh:
<code># whereis pstree pstree:<strong></strong></code><mark> /usr/bin/pstree</mark> /usr/share/man/man1/pstree.1.bz2
Sekarang mari kita gunakan arahan untuk mengetahui pakej mana yang menyediakan perintah pstree:
<code># equery belongs /usr/bin/pstree</code>
Ini mengeluarkan nama dan kategori pakej yang menyediakan perintah grep, sebagai contoh:
<code> * Searching for /usr/bin/pstree ... sys-process/psmisc-23.6 (/usr/bin/pstree)</code>
Menunjukkan bahawa perintah PSTREE disediakan oleh pakej SYS-APPS/PSMISC.
Jika anda ingin mencari nama arahan sahaja tanpa menentukan laluan penuh, anda boleh menggunakan pilihan Hasuse:
<code># equery hasuse search-term</code>
Ini akan mencari pakej dengan bendera penggunaan tertentu atau menyediakan fail yang boleh dilaksanakan tertentu.
Pengurus pakej untuk kebanyakan pengagihan Linux utama menawarkan pilihan terbina dalam untuk mengenal pasti pakej yang menyediakan arahan atau fail tertentu. Mereka membolehkan anda mencari pangkalan data pakej dan mencari pakej sumber untuk sebarang arahan atau fail yang diberikan.
Ciri ini sering membantu menyelesaikan masalah kebergantungan yang hilang, memasang semula pakej secara selektif, dan pastikan sistem anda mempunyai komponen yang diperlukan.
Artikel Berkaitan: Cara Mencari Pakej yang Menyediakan Fail Khusus di Linux
Atas ialah kandungan terperinci Cara Mencari Pakej Mana Yang Menyediakan Perintah di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!