what-source(what-utils의 일부)는 패키지 이름을 두 번 반환합니다.

what-source(what-utils의 일부)는 패키지 이름을 두 번 반환합니다.

내 Ubuntu 14.04.2에서는 what-source패키지 이름의 두 배를 반환합니다.일부패키지, 예:

~$ what-source openssl
openssl
openssl

또는

~$ what-source firefox
firefox
firefox

이것이 정상적인 행동입니까?

매뉴얼의 예여기하나만 반환합니다(내 컴퓨터에서도 동일: 이름이 하나만 반환됨).

~$ what-source sl
sl

무슨 일이야?

답변1

다음과 같이맨페이지what-source에 대한 간단한 래퍼입니다 apt-cache show | grep. 실제 코드는 다음과 같습니다:

#!/bin/sh
# [....]
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

apt-cache show "$1" | grep "^Filename:" | sed -e "s:\(.*\)/\(.*\)/\(.*\)/\(.*\)/.*:\4:"

apt-cache show리포지토리에서 사용 가능한 각 소프트웨어 버전에 대한 설명이 표시됩니다. 예를 들어:

$ apt-cache policy firefox
firefox:
  Installed: 38.0+build3-0ubuntu0.14.04.1
  Candidate: 38.0+build3-0ubuntu0.14.04.1
  Version table:
 *** 38.0+build3-0ubuntu0.14.04.1 0
        500 http://mirror.cse.iitk.ac.in/ubuntu/ trusty-security/main amd64 Packages
        500 http://mirror.cse.iitk.ac.in/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     28.0+build2-0ubuntu2 0
        500 http://mirror.cse.iitk.ac.in/ubuntu/ trusty/main amd64 Packages

세 개의 저장소에서 두 가지 버전을 사용할 수 있으며 apt-cache이 두 버전에 대한 설명이 표시됩니다.

$ apt-cache show firefox | grep -i -e version -e filename
Version: 38.0+build3-0ubuntu0.14.04.1
Filename: pool/main/f/firefox/firefox_38.0+build3-0ubuntu0.14.04.1_amd64.deb
Version: 28.0+build2-0ubuntu2
Filename: pool/main/f/firefox/firefox_28.0+build2-0ubuntu2_amd64.deb

그렇습니다. 그 행동은 지극히 정상적입니다.

관련 정보