Ubuntu 17.10リポジトリでackが見つかりません


14

ack経由でインストールしようとしてaptいますが、リポジトリで使用できなくなっているようです。どちらも:

sudo apt install ack
sudo apt install ack-grep

次のエラーを出します:

E: Package 'ack-grep' has no installation candidate

17.10リポジトリでは使用できなくなりましたか?


まず、試してみてくださいsudo apt update
-arupgsh

1
@muruのおかげで、それはだあなたのリンクを示していないので、利用可能artful一覧に表示されていない、正しいですか?packages.ubuntu.com/search?suite=artful&keywords=ack

3
はい、うーん、launchpad.net/ubuntu/+source/ack/2.14-5/+publishinghistoryはそれが原因破壊されるのに削除されたことを示す
muru

3
こんにちは、ackの作成者です。私は状況を知っていますが、私が個人的に何ができるかはわかりません。詳細はackバグトラッカーのチケットをご覧ください:github.com/beyondgrep/ack2/issues/652
Andy Lester

回答:


12

AckはUbuntu 17.10 Artfulでテストに失敗し合格するまでUbuntuから除外されました。PerlはArtfulでアップグレードされ、古いackバージョンは新しいPerlではサポートされていません。新しいバージョンはすべてのテストに合格しません。テストの失敗は、Ubuntuの下で実行されるテストフレームワークの問題が原因です(Debianで正常に動作する場合でも)。 合格した新しいバージョンはまもなくリリースされます。

それまでの間、回避策は、ackホームページで提案されているようにCPANを介してインストールすることです。CPANがまだインストールされていない場合は、最初にインストールする必要があります。

sudo apt install cpanminus

次に、それを使用してackをインストールできます。

sudo cpanm install App::Ack

ビルドとテストが行​​われるため、約2分かかりますが、実行後はのパスに移動し/usr/local/bin/ackます。

標準のaptおよびcpanリポジトリを使用するため、このインストールオプションが気に入っています。自動化ツールによってアップグレードされるPerlライブラリを使用します。Ansibleなどの自動化ツールに簡単に実装できます。


2
おそらく、cpanminusをインストールする場合は、実際にそれを使用してインストールする必要がありますsudo cpanm App::Ack
ジョエルバーガー

3
実際のところ、現在のところ、PerlまたはAckの問題ではありません(テストは、ほぼ同一のDebianビルドシステムで同じバージョンで合格します)。現在、Ubuntuビルドシステムのバグであると想定されています。
mniess

6

悲しいことackに17.10リポジトリにはありません。回避策は、そのWebサイトの指示に従って手動でインストールすることです。

私がやったことは次のとおりです。

$ sudo su
# curl https://beyondgrep.com/ack-2.18-single-file > /usr/local/bin/ack && chmod 0755 /usr/local/bin/ack

2
ランダムなウェブサイトからソフトウェアをインストールすることは一種の疑わしいように見えますが、beyondgrep.comは公式のackウェブサイトです。
スティーブンオステルミラー

1
ackの単一ファイルバージョンは、必要なライブラリの独自のコピーを使用しますが、セキュリティ上の欠陥が見つかった場合、自動的に更新されません。ackがビルドされた時点のライブラリバージョンを使用しているため、インストール時でも最新バージョンではない可能性があります。このソリューションを使用する場合、単一ファイルのインストールには追加のセキュリティ上の懸念があることに注意する必要があります。
スティーブンオステルミラー

使用する代わりに1つのライナーsudo suack="/usr/local/bin/ack" && curl -s https://beyondgrep.com/ack-2.18-single-file | sudo tee "$ack" > /dev/null && sudo chmod 0755 "$ack"
スティーブンオステルミラー

しないでください。むしろ、別のUbuntuリリース(またはDebian)のack .debパッケージを使用してください。したがって、少なくともすべての使用済みライブラリのセキュリティ更新プログラムを入手できます。
アクセルベッカート

これは私のために働いた唯一の方法でした。
セオドアR.スミス

4

Ubuntuのインストール時の自動パッケージテストに失敗したパッケージは、少なくともユニバースアーカイブ(定期的にインポートされ、Debian Unstableから自動化されたもの)以外のリリースには含まれません。

Ubuntu 17.10 Artfulリリースサイクル中の変更により、Ubuntuでackのautopkgtestが破損し、Ubuntuリリースにackが含まれなくなりました。あなたは現在の開発スナップショットbionicでそれを見つけることさえできませんがbionic-proposed、あなたのsources.list

その変化が正確に何であったか、それぞれ理由(Ubuntuのautopkgtestインフラストラクチャのバグかもしれません)およびトリガーが何であるかは、まだ不明です。(Perl 5.26への切り替えは、Ubuntuのautopkgtestインフラストラクチャに問題を示した可能性があります。)

ただし、Debianのackのautopkgtestは問題なく通過するため、この問題はubuntu固有のものであることが明らかです。また、Ubuntu 18.04 Bionicの開発スナップショットでautopkgtestをローカルで実行しても、これらのテストエラーは発生しません。(また、Ubuntu上でビルドするようです。ビルド時にも同じテストスイートが実行されます。パスしない場合、パッケージはビルドされず、より深刻な問題と見なされます。)

Ubuntuのautopkgtestインフラストラクチャのどこかに問題が隠されているというもう1つのヒントは、ほとんどのテストの失敗が、入力を予期されたファイルではなくSTDINと見なすという事実です

これらの奇妙なubuntu-autopkgtest固有のテストエラーの根本的な理由に関するヒントは、ランチパッドのバグレポートまたはアップストリームのバグレポートのいずれかで非常に高く評価されています。


2

上記のコメントで@muruが示したように、パッケージは17.10で破損しているため削除されackました。そのため、今のところ17.10リポジトリではいいえです。

https://packages.ubuntu.com/search?suite=artful&keywords=ackに注目して、いつ再び利用可能になるかを把握する必要があると思います。


1
おそらくないでしょう。まだリポジトリにないパッケージがバックポート経由で利用可能になることは非常にまれです。あなたは目を保つことができるlaunchpad.net/ubuntu/bionic/+source/ackそれは18.04のカットを作るかどうかを確認するために(つまりはLTS、おそらく多くの努力が、それが動作することに置かれる可能性がありますので)
muruを

私が知る限り、この問題を引き起こした「壊れた」のは、Debianパッケージをつまずいたスペルミスでした。
アンディレスター

1
@AndyLester:いいえ、そのスペルミスはそれとは何の関係もありませんでした。Debian PerlチームによるLintian Overrideを介して誤検知としてマークされました。
アクセルベッカート

「壊れた」(Cc @muru)は、この場合、インストールされたままの自動パッケージテストに失敗したことを意味します(短い:autopkgtest)。注目すべき関連ページはautopkgtest.ubuntu.com/packages/ackとそのサブページです。ackはDebianのautopkgtestをパスするため、これは明らかにUbuntu固有の問題です
アクセルベッカート

@AxelBeckert私は知っています。これについては、チケットページで説明しました。6週間前にそのスペルのコメントを書きました。
アンディレスター

1

Ubuntu 17.10ボックスにUbuntu 18.04パッケージをインストールできました。

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=17.10
DISTRIB_CODENAME=artful
DISTRIB_DESCRIPTION="Ubuntu 17.10"
$ sudo apt install libfile-next-perl
...snip...
$ wget https://launchpad.net/ubuntu/+archive/primary/+files/ack_2.18-2_all.deb
...snip...
$ sudo dpkg -i ack_2.18-2_all.deb
...snip...
$ ack --version
ack 2.18
Running under Perl 5.26.0 at /usr/bin/perl

Copyright 2005-2017 Andy Lester.

This program is free software.  You may modify or distribute it
under the terms of the Artistic License v2.0.

場合はdpkg、コマンドがあなたのために失敗したあなたは、私がすでに持っているいくつかの依存関係が欠落しているので、それはおそらくです。apt install欠落している依存関係をすべて試し、そのdpkg行を再度実行してください。

APT / dpkgはまだこのパッケージがインストールされていることを認識でき、Ubuntuがビルド状況を整理したら後でアップグレードできるため、私はこのアプローチがCPANを使用するよりも優れています。

(Launchpadバグレポートへのリンクを投稿してくれたAxel Beckertに感謝します。ここでこのアイデアを得ました。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.