Impossibile trovare ack nei repository di Ubuntu 17.10

13

Sto cercando di installare ack tramite apt ma sembra che non sia più disponibile nei repository. Entrambi:

sudo apt install ack
sudo apt install ack-grep

indica il seguente errore:

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

Non è più disponibile nei repository 17.10?

    
posta Cimm 02.11.2017 - 12:24
fonte

5 risposte

3

Come @muru indicato nei commenti sopra il pacchetto è stato rimosso dal momento che è rotto in 17.10, quindi sì, no ack nei repository 17.10 per ora.

Suppongo che dovrei tenere d'occhio link per sapere quando sarà di nuovo disponibile.

    
risposta data Cimm 02.11.2017 - 16:04
fonte
9

Ack ha un test fallito in Ubuntu 17.10 Artful ed è stato escluso da Ubuntu fino a quando non passa. Perl viene aggiornato su Artful e la vecchia versione ack non è supportata dal nuovo Perl. La nuova versione non ha superato tutti i test. Il fallimento del test è causato da problemi con il framework di test eseguito su Ubuntu (anche quando funziona correttamente con Debian.) Una nuova versione che verrà rilasciata sarà presto disponibile .

Nel frattempo, una soluzione alternativa è installarlo tramite CPAN come suggerito nella homepage di ack . Se non hai ancora installato CPAN, devi prima installarlo:

sudo apt install cpanminus

Quindi puoi usarlo per installare ack:

sudo cpanm install App::Ack

Lo costruirà e testerà, quindi ci vorranno circa 2 minuti, ma dopo averlo fatto sarà nel tuo percorso a /usr/local/bin/ack .

Mi piace questa opzione di installazione perché usa repository apt e cpan standard. Usa librerie Perl che verranno aggiornate con strumenti automatici. Può essere facilmente implementato in strumenti automatici come Ansible.

    
risposta data Stephen Ostermiller 04.12.2017 - 10:58
fonte
6

Purtroppo ack non è nei repository 17.10. Una soluzione alternativa è installarlo manualmente come da istruzioni sul suo sito Web .

Ecco cosa ho fatto:

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

I pacchetti che non riescono il test automatico dei pacchetti installati da Ubuntu non sono inclusi in una versione, almeno quelli non provenienti dall'archivio dell'universo ( che viene importato regolarmente e automatizzato da Debian Unstable).

A causa di un cambiamento durante il ciclo di rilascio Artful di Ubuntu 17.10 qualcosa ha rotto autopkgtest di ack in Ubuntu e quindi ha smesso di essere accettato incluso nelle versioni di Ubuntu. Non puoi nemmeno trovarlo nell'istantanea di sviluppo attuale bionic , ma puoi installarlo se aggiungi una riga per bionic-proposed alla tua sources.list .

Non è ancora chiaro quale sia esattamente quel cambiamento, rispettivamente quale sia la ragione (forse un bug nell'infrastruttura di autopkgtest di Ubuntu) e quale sia l'innesco. (Forse il passaggio a Perl 5.26 ha mostrato un problema nell'infrastruttura autopkgtest di Ubuntu.)

Ciò che è chiaro però è che questo problema è specifico di Ubuntu poiché autopkgtest di ack in Debian passa senza problemi. E eseguire autopkgtest localmente su un'istantanea di sviluppo di Ubuntu 18.04 Bionic non mostra questi test errori . (E sembra costruire su Ubuntu, e anche la stessa suite di test viene eseguita in fase di costruzione e, se non fosse passata, il pacchetto non sarebbe stato costruito e considerato un problema molto più grave.)

Un altro suggerimento che il problema è nascosto da qualche parte nella infrastruttura autopkgtest di Ubuntu è il fatto che la maggior parte dei fallimenti di test riguardano il loro inserisci improvvisamente come STDIN invece dei file previsti .

Qualsiasi suggerimento sui motivi alla base di questi strani errori di test ubuntu-autopkgtest-specifici è molto apprezzato in in base alla segnalazione di bug del launchpad o nel secondo il rapporto bug a monte .

    
risposta data Axel Beckert 13.12.2017 - 02:27
fonte
1

Sono stato in grado di installare il pacchetto Ubuntu 18.04 sulla mia casella 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 il comando dpkg fallisce per te, è probabilmente perché ti manca qualche dipendenza che ho già. Prova a apt install eventuali dipendenze mancanti e quindi esegui nuovamente la riga dpkg .

Mi piace questo approccio meglio dell'uso di CPAN, perché APT / dpkg può ancora vedere questo pacchetto installato e sarà in grado di aggiornarlo più tardi una volta che Ubuntu avrà risolto la situazione di costruzione.

(Grazie Axel Beckert per aver postato il link al bug report di Launchpad, che è dove ho avuto questa idea.)

    
risposta data Mark E. Haase 09.01.2018 - 17:24
fonte

Leggi altre domande sui tag