패키지를 어떻게 검색하나요?

패키지를 어떻게 검색하나요?

나는 이것이 터무니없는 질문처럼 들린다는 것을 이해하지만 여기에 내가 하려는 것이 있습니다:아파치 http 서버를 설치합니다.

그래서 나는 달리고 apt search apache많은 결과를 얻습니다.

실제로... apt search apache | wc -l3으로 나누면 약 700개의 결과가 나오는 것 같습니다.

  1. 을 사용하여 범위를 좁힐 수 apt search apache http있으며 약 200개의 결과를 얻은 다음 많이 스크롤하면 결국 결과가 나타납니다.

  2. apt search --names-only apache또한 설명에서 아파치만 언급하는 모든 항목을 사용하고 최소한 제외할 수도 있습니다 . 그러면 결과가 110개로 줄어듭니다.

내가 찾고 있는 패키지가 "apache2"라는 점을 고려하면 이 모든 것이 매우 복잡하고 지루해 보입니다. 결과를 가장 잘 정렬하는 방법이 있습니까? 아니면 사용해야 할 다른 도구가 있나요?

답변1

패키지를 어떻게 불러야 하는지, 적어도 패키지 이름의 일부가 무엇인지 알고 있는 것 같습니다. apt search이 작업에 가장 적합한 도구는 아닌 것 같습니다 apt list. 대신 다음을 사용하세요.

$ apt list apache\*
Listing... Done
apache2/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-bin/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-data/bionic-updates,bionic-updates,bionic-security,bionic-security 2.4.29-1ubuntu4.11 all
apache2-dbg/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-dev/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-doc/bionic-updates,bionic-updates,bionic-security,bionic-security 2.4.29-1ubuntu4.11 all
apache2-ssl-dev/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-suexec-custom/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-suexec-pristine/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apache2-utils/bionic-updates,bionic-security 2.4.29-1ubuntu4.11 amd64
apachedex/bionic,bionic 1.6.2-1 all
apacheds/bionic-updates,bionic-updates,bionic-security,bionic-security 2.0.0~M24-2~18.04 all
apachetop/bionic 0.12.6-18build2 amd64

에서apt수동:

목록dpkg-query --list특정 기준을 만족하는 패키지 목록을 표시할 수 있다는 점에서 다소 유사합니다 . 지원합니다glob(7)패키지 이름 일치 패턴과 설치된 버전( --installed), 업그레이드 가능한 버전( --upgradeable) 또는 사용 가능한 모든 --all-versions버전( )을 나열하는 옵션.

이스케이프된 별표( \*)는 이름 뒤에 모든 문자가 올 수 있음을 의미합니다. 아무 것도 찾지 못하면 검색 문자열 시작 부분에 이스케이프된 별표를 추가하는 것이 좋습니다.

나는 당신이 이 목록에서 올바른 것을 선택할 수 있다고 확신합니다. 분명히 첫 번째는 실제 Apache 서버입니다. 패키지 를 선택하면 apache2해당 종속 항목도 자동으로 설치됩니다.

$ sudo apt install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  apache2-bin apache2-data apache2-utils libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0
  ssl-cert
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom openssl-blacklist

답변2

다음 명령 을 사용할 수 있습니다 grep.

apt-cache search apache2 | grep apache2

그리고 당신이 마음에 들지 않으면빨간색grep 색상, --color=none옵션을 추가하기만 하면 됩니다.

apt-cache search apache2 | grep apache2 --color=none

추신: 옵션을 잊지 않는 것이 좋습니다 -cache. 명령을 사용하여 추가하지 않으면 패키지 이름이 표시되지 않습니다 grep(이 옵션이 없는 결과는 아래 참조).

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

  Apache HTTP Server (mod_ssl development headers)
  WebSocket extension for Apache HTTP Server

편집 : 덕분에@pymym23, 예를 들어 설명을 사용하면 결과를 더 잘 정렬할 수 있습니다.

apt-cache search apache2 | grep "Apache HTTP Server"

결과 :

apache2-ssl-dev - Apache HTTP Server (mod_ssl development headers)
python-mod-pywebsocket - WebSocket extension for Apache HTTP Server

또한 옵션을 사용해야 합니다 -i. 소문자 대신 대문자를 입력하지 않으면 결과가 정렬되지 않습니다.

예 :

apt-cache search apache2 | grep "apache HTTP Server"

그리고 당신은 얻었다결과가 없다

apt-cache search apache2 | grep -i "apache HTTP Server"

결과는 다음과 같습니다.

apache2-ssl-dev - Apache HTTP Server (mod_ssl development headers)
python-mod-pywebsocket - WebSocket extension for Apache HTTP Server

답변3

이것을 검색하는 좋은 방법은 탭 완료입니다.

sudo apt install apache<tab><tab>

준다

 sudo apt install apache
apache2                  apache2-doc              apachedex
apache2-bin              apache2-ssl-dev          apacheds
apache2-data             apache2-suexec-custom    apachetop
apache2-dbg              apache2-suexec-pristine  
apache2-dev              apache2-utils  

실패하면 명령을 입력하십시오.

~$ apache

Command 'apache' not found, did you mean:

  command 'apache2' from deb apache2-bin

Try: sudo apt install <deb name>

최신 배포판은 당신이 의미하는 바를 꽤 잘 알고 있습니다.

그것이 실패하면 나는 보통 요즘 docker 허브를 검색하고 docker를 통해 설치하거나 더 자주 apt search사용 합니다.apt list

답변4

apt list에 대한 솔루션이 에 비해 결과 표시가 더 낫다는 점에 동의합니다 apt search. 하지만 더 많은 정보는 다음을 통해 확인할 수 있습니다.

  • apt list | grep <package_name>

--installed다음과 같은 매개변수를 사용합니다 .

  • apt list --installed | grep <package_name>

해당 패키지에 설치된 항목을 보여줍니다.

따라서 매개변수가 없으면 반환됩니다.무엇그리고어디패키지에 대해 사용할 수 있으므로 설치하려는 항목을 알 수 있으며 매개변수를 사용하면 패키지를 이미 설치했는지 확인할 수 있습니다.

관련 정보