Não é possível localizar o ack nos repositórios do Ubuntu 17.10

13

Estou tentando instalar ack via apt , mas parece que não está mais disponível nos repositórios. Ambos:

sudo apt install ack
sudo apt install ack-grep

indique o seguinte erro:

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

Não está mais disponível nos repositórios 17.10?

    
por Cimm 02.11.2017 / 12:24

5 respostas

3

Como @muru indicado nos comentários acima, o pacote foi removido desde que ele foi quebrado em 17.10, então sim, não há ack nos repositórios de 17.10 por enquanto.

Acho que devo ficar de olho no link para saber quando ele estará disponível novamente.

    
por Cimm 02.11.2017 / 16:04
9

Ack tem uma falha de teste no Ubuntu 17.10 Artful e foi excluída do Ubuntu até passar. O Perl é atualizado no Artful e a versão antiga do ack não é suportada pelo novo Perl. A nova versão não passa todos os seus testes. A falha do teste é causada por problemas com o framework de testes como executado no Ubuntu (mesmo quando ele funciona bem no Debian). Uma nova versão aprovada será lançada em breve .

Nesse meio tempo, uma solução alternativa é instalá-lo por meio do CPAN, conforme sugerido na página inicial do ack . Se você ainda não tem o CPAN instalado, você precisa instalá-lo primeiro:

sudo apt install cpanminus

Então você pode usá-lo para instalar o ack:

sudo cpanm install App::Ack

Ele criará e testará, por isso levará cerca de dois minutos, mas depois disso, o caminho estará em /usr/local/bin/ack .

Eu gosto desta opção de instalação porque ela usa repositórios apt e cpan padrão. Ele usa bibliotecas Perl que serão atualizadas por ferramentas automatizadas. Pode ser facilmente implementado em ferramentas automatizadas como o Ansible.

    
por Stephen Ostermiller 04.12.2017 / 10:58
6

Infelizmente ack não está em 17,10 repositórios. Uma solução alternativa é instalá-lo manualmente de acordo com as instruções em seu site .

Veja o que eu fiz:

$ sudo su
# curl https://beyondgrep.com/ack-2.18-single-file > /usr/local/bin/ack && chmod 0755 /usr/local/bin/ack
    
por Pēteris Caune 09.11.2017 / 13:20
3

Pacotes que falham Os testes de pacotes instalados automaticamente do Ubuntu não estão incluídos em um lançamento, pelo menos aqueles que não são do arquivo do universo ( que é importado regularmente e automatizado do Debian Unstable).

Devido a uma mudança durante o ciclo de lançamento Artful do Ubuntu 17.10, algo quebrou o autopkgtest do ack no Ubuntu e, portanto, parou o ack de ser incluído nos lançamentos do Ubuntu. Você não pode nem encontrá-lo no snapshot de desenvolvimento atual bionic , mas pode instalá-lo se adicionar uma linha para bionic-proposed ao seu sources.list .

Ainda não está claro, o que exatamente essa mudança foi, respectivamente, qual a razão (talvez um bug na infraestrutura do autopkgtest do Ubuntu) e qual é o gatilho. (Talvez a mudança para o Perl 5.26 exibisse um problema na infraestrutura do autopkgtest do Ubuntu.)

O que está claro é que esse problema é específico do Ubuntu, já que o autopkgtest do ack no Debian passa sem nenhum problemas. E rodando autopkgtest localmente em um snapshot de desenvolvimento do Ubuntu 18.04 Bionic não exibe estes testes falhas também. (E parece ser baseado no Ubuntu. E o mesmo conjunto de testes é executado em tempo de compilação também, e se não passasse, o pacote não seria compilado, o que é considerado um problema muito mais grave.)

Outra dica de que o problema está oculto em algum ponto da infra-estrutura do autopkgtest do Ubuntu é o fato de que a maioria das falhas de teste diz respeito à sua maioria das falhas de teste. entrada de repente como STDIN em vez dos arquivos esperados .

Qualquer dica sobre as razões subjacentes para essas falhas de teste específicas do ubuntu-autopkgtest é muito apreciada no de acordo com o relatório de bug da barra de ativação ou no relatório de bug do upstream .

    
por Axel Beckert 13.12.2017 / 02:27
1

Consegui instalar o pacote Ubuntu 18.04 na minha caixa Ubuntu 17.10:

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

Se o comando dpkg falhar para você, provavelmente é porque você está perdendo alguma dependência que eu já tenho. Tente apt install de todas as dependências ausentes e execute a linha dpkg novamente.

Eu gosto dessa abordagem melhor do que usar o CPAN, porque o APT / dpkg ainda pode ver que este pacote está instalado e poderá atualizá-lo mais tarde, uma vez que o Ubuntu tenha resolvido sua situação de construção.

(Obrigado Axel Beckert por postar um link para o relatório de bug do Launchpad, que é onde eu tive essa ideia.)

    
por Mark E. Haase 09.01.2018 / 17:24

Tags