what-source (what-utils の一部) はパッケージ名を 2 回返します。

what-source (what-utils の一部) はパッケージ名を 2 回返します。

私のUbuntu 14.04.2では、what-sourceパッケージ名が2回返されます。いくつかのパッケージ、例

~$ what-source openssl
openssl
openssl

または

~$ what-source firefox
firefox
firefox

これは正常な動作ですか?

マニュアルからの例ここ1 つだけ返されます (私のマシンでも同じです: 名前は 1 つだけ返されます):

~$ 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

3 つのリポジトリで 2 つのバージョンが利用可能であり、apt-cacheこれら 2 つのバージョンの説明が表示されます。

$ 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

ですから、はい、その動作はまったく正常です。

関連情報