apt-cache 검색 사용


11

apt 사용법을 배우고 있습니다. 내가 그렇게되면 apt-cache search git 자식과 일치하는 모든 패키지를보고, 나는 설명 자식과는 아무 상관이없는 패키지의 무리를 참조하십시오. 이것이 왜 그렇게되며 어떻게 고칠 수 있습니까? (우분투 12.04.2 LTS).

또한 이름에 "캐시"가있는 명령에서 검색 기능이 발견되는 이유는 무엇입니까? 검색 기능은 캐시와 어떤 관련이 있습니까?

감사.

답변:


13

이름으로 만 검색하려면 --names-only인수를 사용하십시오 . 자세한 내용은를 읽으면 man apt-cache유용합니다.


6

apt-cache search <package name>명령 을 수행 할 때 사용 가능한 패키지에 대해 로컬 시스템에 저장된 정보에 대해 쿼리를 수행합니다. "구독 한"리포지토리의 캐시입니다. 즉, 명령이 USC (Ubuntu Software Center) 또는 Synaptic에서 설정 한 리포지토리에 대해 쿼리를 수행하고 있습니다.

apt-cache매뉴얼 페이지 에 따르면 /etc/apt/sources.list쿼리에서 정보를 가져올 위치입니다. 다른 유형의 패키지 정보를위한 몇 가지 추가 위치가 있습니다. 자세한 내용 man apt-cache은 참조하십시오.

본질적으로 running apt-cache search git은 패키지 이름과 패키지 설명에 단어 "git"을 포함하는 사용 가능한 패키지의 모든 인스턴스를 반환합니다.

예를 들어, "di git al" 이라는 단어와 같이 "git"이라는 단어 시퀀스를 포함 할 수있는 모든 패키지 도 결과로 반환됩니다. 이전 문장에서 굵게 표시되어 있습니다.

소스 제어 관리자 인 git과 특별히 관련된 패키지에만 관심이있는 경우 검색 결과를보다 제한적으로 만들려면 쿼리를 정규식을 사용하도록 제한해야합니다.

예를 들면 다음과 같습니다.

sudo apt-cache search ^git$

패키지 이름에 "git"이라는 문구 만 포함 된 결과를 반환합니다.

예를 들면 다음과 같습니다.

sudo apt-cache search ^git$
git - fast, scalable, distributed revision control system

명령 : sudo apt-cache search ^git

"git"문구로 시작하는 패키지에 대한 결과를 반환합니다 :

예를 들면 다음과 같습니다.

sudo apt-cache search ^git
git - fast, scalable, distributed revision control system
git-core - fast, scalable, distributed revision control system (obsolete)
git-doc - fast, scalable, distributed revision control system (documentation)
git-man - fast, scalable, distributed revision control system (manual pages)
gitk - fast, scalable, distributed revision control system (revision tree visualizer)
easygit - git for mere mortals
gforge-plugin-scmgit - Git plugin for FusionForge (transitional package)
git-all - fast, scalable, distributed revision control system (all subpackages)
git-annex - manage files with git, without checking their contents into git
git-arch - fast, scalable, distributed revision control system (arch interoperability)
...

즉, 패키지 캐시의 쿼리를 원하는대로 더 구체적으로 조정해야합니다. 도움이 되었기를 바랍니다.


" apt-cache search ^git$는 패키지 이름에"git "이 포함 된 결과 만 반환합니다." 예를 들어 git-man(당신이 게시 한 두 번째 출력의)에도 포함되어 있기 때문에 이것을 이해하지 못합니다 git. 캐럿과 $ 기호의 의미를 설명 할 수 있습니까? 캐럿이 "시작"을 의미한다는 것을 알고 있지만, 이것은 두 번째 출력 (의 출력 ^git) 과 모순됩니다 easygit. =를 반환하기 때문 입니다.
Alaa Ali

우우 로 시작 ^하는 패키지 및 설명 을 의미합니다 git. 좋아, 두 번째 출력이 이해됩니다. 그래서 무엇이 ^git$돌아 옵니까? git그리고 ...로 시작하는 패키지
Alaa Ali

@Alaa "^"및 "$"문자를 쿼리의 앵커로 생각하십시오. apt-cache search ^git$특히 git 패키지를 반환합니다. apt-cache search ^git"git"이라는 문구로 시작하고 덜 구체적인 패키지를 반환합니다.
Kevin Bowen

apt-cache search ^ git?`쿼리를 실행하면보다 일반적인 검색 결과를 얻을 수 있습니다.
Kevin Bowen

보다 다채로운 출력을 apt-cache search ^git | grep --color git
얻기

0

이것은 귀하의 질문에 대한 간접 답변이지만 패키지 관리에 관한 것이므로 여전히 관련이 있습니다. 나는 개인적으로 apt-get 대신 적성을 사용합니다. 적성은 터미널과 시냅스에 해당합니다.

검색하기,

sudo aptitude search $keyword

다른 명령들

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

적성을 설치하려면

sudo apt-get install aptitude

적성 시스템에서는 적성이 여전히 문제가 될 수 있으므로 쿼리 / 검색에는 사용하지만 패키지 설치 / 제거에는 사용하지 않는 것이 좋습니다.
guntbert

help.ubuntu.com/community/MultiArch다단계 문제에 적성을 사용할 수있는 방법을 설명합니다
llt

그 페이지는 aptitude why내가 "쿼리에 사용"이라고 말한 것처럼 페이지가 너무 오래되었다고 (2012-02-08 편집) 언급 했으므로 경고는 여전히 유효합니다.
guntbert

내가 참조. 나는 적성 사용자이므로 다중 아치 시스템에서 문제가있는 기사를 가리킬 수 있습니까? 그런 다음 apt-get으로 다시 전환해야 할 수도 있습니다.
llt

bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768 , 최근에 수정 된 것으로 보입니다. 나는 여전히 조심합니다. 데비안은 apt-get도 추천합니다 (
wheezy

0

apt--cache 대신 검색 할 때 apt-xapian-index를 설치하고 axi-cache 검색을 사용하십시오. 더 나은 결과를 얻을 수 있습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.