Я пытаюсь установить ack
через, apt
но кажется, что он больше не доступен в репозиториях. И то и другое:
sudo apt install ack
sudo apt install ack-grep
выдайте следующую ошибку:
E: Package 'ack-grep' has no installation candidate
Он больше не доступен в репозиториях 17.10?
sudo apt update
.artful
нет в списке, правильно? packages.ubuntu.com/search?suite=artful&keywords=ackОтветы:
У Ack есть тестовый сбой в Ubuntu 17.10 Artful, и он был исключен из Ubuntu до его прохождения. Perl обновлен до Artful, и старая версия ack не поддерживается новым Perl. Новая версия не проходит все свои испытания. Сбой теста вызван проблемами со средой тестирования, работающей под Ubuntu (даже если она хорошо работает в Debian). Скоро будет выпущена новая версия, которая проходит успешно .
Тем временем, обходной путь должен установить это через CPAN, как предложено на домашней странице ack . Если у вас еще не установлен CPAN, вам нужно сначала установить его:
Затем вы можете использовать его для установки ack:
Он соберет и протестирует его, так что это займет около 2 минут, но после того, как это будет сделано, он будет на вашем пути в
/usr/local/bin/ack
.Мне нравится этот вариант установки, потому что он использует стандартные репозитории apt и cpan. Он использует библиотеки Perl, которые будут обновлены автоматизированными инструментами. Это может быть легко реализовано в автоматизированных инструментах, таких как Ansible.
источник
sudo cpanm App::Ack
.К сожалению
ack
, нет в 17.10 хранилищах. Обходной путь должен установить это вручную согласно инструкциям на его веб-сайте .Вот что я сделал:
источник
sudo su
:ack="/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 Unstable).
Из-за изменений во время цикла Ubuntu 17.10 Artful Release что-то сломало autopkgtest ack в Ubuntu и, следовательно, перестало включать ack в релизы Ubuntu. Вы даже не можете найти его в текущем снимке разработки
bionic
, но вы можете установить его, если добавите строку дляbionic-proposed
своегоsources.list
.До сих пор неясно, что именно это было за изменение, соответственно, в чем причина (возможно, ошибка в инфраструктуре autopkgtest в Ubuntu) и каков триггер. (Возможно, переход на Perl 5.26 показал проблему в инфраструктуре autopkgtest в Ubuntu.)
Что ясно, так это то, что эта проблема специфична для Ubuntu, так как autopkgtest ack в Debian проходит без проблем. А локальный запуск autopkgtest для моментального снимка Ubuntu 18.04 для разработчиков также не приводит к сбоям в тестировании . (И похоже, что он построен на Ubuntu. И тот же набор тестов также запускается во время сборки, и если он не пройдет, пакет не будет собран, что считается гораздо более серьезной проблемой.)
Еще один намек на то, что проблема спрятана где-то в инфраструктуре Ubuntu autopkgtest, заключается в том, что большинство неудачных тестов внезапно воспринимают свой ввод как STDIN вместо ожидаемых файлов .
Любой намек на основные причины этих странных убунт-autopkgtest-специфические ошибки тестирования очень ценится либо в соответствии отчете об ошибке Launchpad или в соответствии вверх по течению сообщения об ошибке .
источник
Как указано @muru в комментариях выше, пакет был удален, поскольку он не работает в 17.10, так что да, пока нет
ack
в репозиториях 17.10.Думаю, я должен следить за https://packages.ubuntu.com/search?suite=artful&keywords=ack, чтобы узнать, когда он снова будет доступен.
источник
Мне удалось установить пакет Ubuntu 18.04 на мою коробку Ubuntu 17.10:
Если
dpkg
команда не работает для вас, это, вероятно, потому, что вы пропустили некоторую зависимость, которая у меня уже есть. Попробуйтеapt install
все отсутствующие зависимости, а затемdpkg
снова запустите строку.Мне нравится этот подход лучше, чем использование CPAN, потому что APT / dpkg по-прежнему может видеть, что этот пакет установлен, и сможет обновить его позже, как только Ubuntu разберется со своей ситуацией сборки.
(Спасибо Акселю Бекерту за то, что он опубликовал ссылку на отчет об ошибке Launchpad, где я и получил эту идею.)
источник