Linux 시스템의 명령은 일반적으로 배포 저장소에 설치된 소프트웨어 패키지에 의해 제공됩니다. 특정 명령을 제공하는 패키지를 결정 하려면 Linux 배포판에 맞는 패키지 관리 도구를 사용할 수 있습니다. 이는 누락 된 명령을 설치하거나 패키지 종속성 문제 해결에 유용합니다.
목차
다양한 Linux 배포판에 명령을 제공하는 패키지를 찾으려면 일반적으로 배포에 맞는 패키지 관리 시스템 (예 : APK, APT, DNF, Pacman, Zypper 등)을 사용합니다.
가장 일반적인 Linux 배포판에서이를 수행하는 방법은 다음과 같습니다.
Alpine Linux에서는 APK 패키지 관리자를 사용하여 특정 명령을 제공하는 패키지를 찾을 수 있습니다.
<code># apk search -e pstree pstree-2.40-r1</code>
이 명령은 Alpine Linux 패키지 저장소의 PSTREE 명령과 관련된 패키지를 검색합니다.
다음은 명령의 고장입니다.
Alpine Linux는 APK Search -E PSTREE를 실행하면 PSTREE 명령을 제공하거나 정확하게 "PSTREE"라는 패키지에 대해 패키지 저장소를 검색합니다.
Alpine Linux 시스템에 PSTREE 유틸리티가 설치되지 않은 경우 PSTREE 유틸리티가 포함 된 패키지를 찾아 설치하는 데 도움이됩니다.
Arch Linux 및 Endeavouros 및 Manjaro Linux와 같은 변형에서는 -f 또는 -qo 플래그와 함께 Pacman 명령을 사용하여 패키지에서 파일 (또는 명령)을 검색 할 수 있습니다.
예를 들어, 다음 명령은 GREP 명령이 포함 된 패키지를 표시합니다.
<code>$ pacman -F grep</code>
Pacman -F GREP 명령은 특정 파일 또는 명령을 제공하는 패키지를 찾는 데 사용됩니다.
명령의 다른 부분의 의미는 다음과 같습니다.
Pacman -F Grep을 실행하면 패키지 관리자는 패키지 데이터베이스를 검색하고 GREP라는 파일 또는 실행 파일이 포함 된 설치된 모든 패키지를 나열합니다.
이 명령의 출력은 일반적으로 패키지 이름과 GREP와 일치하는 파일의 전체 경로를 표시합니다. 예를 들어, 출력은 다음과 같습니다.
<code>core/grep 3.11-1 usr/bin/grep [...]</code>
이는 GREP 명령이 핵심 저장소의 GREP 패키지에 의해 제공되며 실행 파일은/usr/bin/grep에 있습니다.
여러 패키지가 GREP와 일치하는 파일을 제공하면 모두 나열됩니다. 반대로, 패키지가 Grep이라는 파일을 제공하지 않으면 명령은 출력을 반환하지 않습니다.
Pacman -QO 명령을 사용하여 특정 파일 또는 명령을 소유하거나 제공하는 패키지를 찾을 수도 있습니다.
<code>$ pacman -Qo grep</code>
명령의 다른 부분의 의미는 다음과 같습니다.
Pacman -Qo Grep을 실행할 때 Pacman은 시스템에 설치된 모든 패키지를 검색하고 GREP라는 파일 또는 실행 파일을 포함하거나 제공하는 패키지를 찾습니다.
이 명령의 출력은 일반적으로 Grep과 일치하는 파일이있는 패키지 이름을 표시합니다. 예를 들어, 출력은 다음과 같습니다.
<code>/usr/bin/grep is owned by grep 3.11-1</code>
이는 GREP 명령 (/usr/bin/grep에 위치)이 GREP 패키지에 의해 제공됨을 나타냅니다.
여러 패키지가 GREP와 일치하는 파일을 제공하면 모두 나열됩니다. 패키지에 Grep이라는 파일이없는 경우 명령은 출력이 없습니다.
이 명령은 Arch Linux 시스템에서 특정 파일 또는 명령이 속한 패키지를 찾아야 할 때 유용합니다. 누락 된 파일 또는 종속성 문제를 해결하거나 특정 구성 요소를 제공하는 패키지를 선택적으로 다시 설치하는 데 도움이 될 수 있습니다.
Pacman -F Grep과 Pacman -Qo Grep의 주요 차이점은 -f는 패키지 데이터베이스를 검색하여 특정 파일이 포함 된 패키지를 찾는 반면 -QO는 시스템에 설치된 파일을 검색하고 그 패키지를 찾는 것입니다.
Ubuntu와 같은 데비안 기반 시스템에서는 -S 옵션과 함께 DPKG 명령을 사용하여 특정 파일을 설치하는 패키지를 검색 할 수 있습니다.
그러나 파일이 설치되지 않은 경우 APT-File 명령을 사용해야합니다. 먼저 APT 파일이 설치되고 데이터베이스가 업데이트되었는지 확인하십시오.
<code>$ sudo apt update $ sudo apt install apt-file $ sudo apt-file update</code>
그런 다음 다음 명령을 사용하여 특정 명령을 제공하는 패키지를 검색하십시오 (예 : PSTREE 명령).
<code>$ apt-file search pstree</code>
샘플 출력 :
<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 요약 :/usr/lib/refap/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
위의 출력에서 알 수 있듯이 PSMISC 패키지는 PSTREE 명령을 제공합니다. 이 접근법을 사용하면 시스템에서 PSTREE를 설치하거나 사용할 수 있는지 확인하는 데 필요한 패키지를 식별 할 수 있습니다.
또는 PSTREE가 이미 설치되어 있고 PSTREE 가이 패키지에서 나온 것을 확인하려면 다음을 사용할 수 있습니다.
<code>$ dpkg -S pstree</code>
Fedora 및 Almalinux, Centos, Rhel 및 Rocky Linux와 같은 기타 RPM 기반 시스템에서는 DNF 명령을 사용할 수 있습니다. 이전 시스템에서는 YUM을 사용해야 할 수도 있습니다.
예를 들어, 패턴*/pstree와 일치하는 파일을 제공하는 패키지를 검색하려면 다음을 실행할 수 있습니다.
<code>$ dnf provides */pstree</code>
다음은 명령의 함수의 분류입니다.
이 명령을 실행하면 DNF는 패키지 데이터베이스를 검색하고 PSTREE라는 파일이 포함 된 사용 가능한 모든 패키지를 나열합니다. 이 파일은 일반적으로 PSTREE 유틸리티의 실행 파일로 프로세스 트리를 표시합니다.
이 명령의 출력은 PSTREE 파일의 패키지 이름과 버전 번호를 표시합니다. 예를 들어, 출력은 다음과 같습니다.
<code>psmisc-23.6-4.fc39.x86_64 : Utilities for managing processes on your system Repo : fedora Matched from: Provide : /usr/bin/pstree</code>
이는 PSTREE 파일 (/usr/bin/pstree에 위치)이 주로 Fedora 저장소의 PSMISC 패키지 (버전 23.6-4)에 의해 제공됨을 나타냅니다.
DNF 제공 명령을 사용하면 시스템에서 특정 파일 또는 유틸리티를 얻기 위해 설치 해야하는 패키지를 찾을 수 있습니다.
Suse 및 OpenSuse에서 zypper se -provides 명령을 사용하여 지정된 파일 또는 실행 파일을 제공하는 패키지를 검색 할 수 있습니다.
<code>$ zypper se --provides '/usr/bin/grep'</code>
다음은 명령의 고장입니다.
이 명령을 실행하면 Zypper는 패키지 데이터베이스를 검색하고 파일/usr/bin/grep을 포함하거나 제공하는 사용 가능한 모든 패키지를 나열합니다.
이 명령의 출력은 지정된 파일을 제공하는 패키지의 이름, 버전 및 저장소 정보를 표시합니다. 예를 들어, 출력은 다음과 같습니다.
<code>Loading repository data... Reading installed packages... S | Name | Summary | Type -- ------------------------- ------------------------------------------ ------- | grep-3.11-3 | Pattern matching utilities | package [...]</code>
이 출력은 파일/usr/bin/grep이 주로 GREP 패키지 (버전 3.11-3)에 의해 제공됨을 나타냅니다.
Nixos Linux에서는 Nix-Env 유틸리티를 사용하여 특정 명령을 제공하는 패키지를 찾을 수 있습니다.
예를 들어, PSTREE 명령을 제공하는 패키지를 찾으려면 다음을 실행할 수 있습니다.
<code>$ nix-env -qaP pstree</code>
이렇게하면 설치된 모든 패키지를 검색하고 경기가 발견되면 패키지 이름과 경로를 인쇄합니다.
샘플 출력 :
<code>nixpkgs.pstree pstree-2.39</code>
PSTREE 명령은 PSTREE-2.39 패키지에 의해 제공됨을 나타냅니다.
Nix 검색 명령을 사용하여 특정 명령을 제공하는 패키지 이름을 찾을 수도 있습니다. 이 명령은 여전히 실험 단계에 있지만이를 사용하여 패키지를 검색 할 수 있습니다.
첫 번째 실행은 느리게 진행될 수 있지만 후속 실행은 캐시 된 결과를 사용합니다.
예를 들어, PSTREE 명령이 포함 된 패키지를 찾으려면 실행하십시오.
<code>$ nix --extra-experimental-features "nix-command flakes" search nixpkgs pstree</code>
샘플 출력 :
<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>
Gentoo Linux의 App-Portage/Gentoolkit 패키지의 Earsy Tool을 사용하여 특정 명령을 제공하는 패키지를 찾을 수 있습니다.
앱 포트지/젠타 킷을 설치했는지 확인하십시오.
<code># emerge --ask app-portage/gentoolkit</code>
특정 명령을 제공하는 패키지를 검색하려면 소속 옵션을 사용하여 방정식을 사용하십시오.
<code>equery belongs /path/to/command</code>
원하는 명령의 전체 경로로/path//명령을 교체하십시오.
명령의 경로를 모른다면 Whereis 명령을 사용하여 찾을 수 있습니다.
<code># whereis pstree</code>
샘플 출력 :
<code># whereis pstree pstree:<strong></strong></code><mark> /usr/bin/pstree</mark> /usr/share/man/man1/pstree.1.bz2
이제 명령을 사용하여 PSTREE 명령을 제공하는 패키지를 찾아 봅시다.
<code># equery belongs /usr/bin/pstree</code>
예를 들어 GREP 명령을 제공하는 패키지 이름 및 범주를 출력합니다.
<code> * Searching for /usr/bin/pstree ... sys-process/psmisc-23.6 (/usr/bin/pstree)</code>
PSTREE 명령은 SYS-APPS/PSMISC 패키지에서 제공 함을 나타냅니다.
전체 경로를 지정하지 않고 명령 이름 만 검색하려면 hasuse 옵션을 사용할 수 있습니다.
<code># equery hasuse search-term</code>
특정 사용 플래그가있는 패키지를 검색하거나 특정 실행 파일을 제공합니다.
대부분의 주요 Linux 배포판에 대한 패키지 관리자는 특정 명령 또는 파일을 제공하는 패키지를 식별하는 내장 옵션을 제공합니다. 패키지 데이터베이스를 검색하고 주어진 명령 또는 파일에 대한 소스 패키지를 찾을 수 있습니다.
이 기능은 종종 누락 된 종속성 문제 해결, 패키지를 선택적으로 다시 설치하며 시스템에 필요한 구성 요소가 설치되어 있는지 확인합니다.
관련 기사 : Linux에서 특정 파일을 제공하는 패키지를 찾는 방법
위 내용은 Linux에서 명령을 제공하는 패키지를 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!