Come posso recuperare una versione specifica del pacchetto da un repository?

2

L'aggiunta di un PPA quindi l'esecuzione di apt-get update per il recupero sembra recuperare solo l'ultima versione dal PPA, ma vorrei installare una versione specifica.

Ad esempio: sto aggiungendo il ondrej/php5-5.6 ppa. Dopo un aggiornamento, apt-cache policy php5 mi mostra che le versioni disponibili sono:

  • 5.6.9+dfsg-1+deb.sury.org~trusty+2
  • 5.5.9+dfsg-1ubuntu4.9
  • 5.5.9+dfsg-1ubuntu4

Alcuni giorni fa, l'ultima versione del PPA era 5.6.8+dfsg-1+deb.sury.org~trusty+4 , ma ora è stata aggiornata. Ciò significa che non posso eseguire apt-get install e installare la versione specifica che desidero.

È possibile usare apt?

    
posta dannyw88 02.06.2015 - 22:02

4 risposte

2

Puoi installare l'ultima versione solo da un PPA, poiché le vecchie versioni vengono eliminate quando vengono create e pubblicate nuove versioni di un pacchetto in un PPA.

    
risposta data dobey 02.06.2015 - 22:59
1

Sembra che usare apt-get install php5=5.6.* per corrispondere al numero di versione risolva il problema.

Guardando sul launchpad, la versione 4.6.8 non esiste più, esiste solo la versione 4.6.9.

Allo stesso modo, il% p_de% PPA sul launchpad contiene solo le versioni 2.4.2 e 2.3.7. Sembra che sia mantenuta l'ultima versione di patch di ciascuna versione secondaria.

Usando questo significato posso legare l'installazione a una versione secondaria particolare, mentre continuo a ricevere aggiornamenti delle patch.

    
risposta data dannyw88 02.06.2015 - 22:53
1

@Dobey risposta sembra essere la soluzione migliore per la tua situazione. Anche se hai installato un pacchetto da un PPA specifico, ciò che puoi fare è contrassegnare quel pacchetto quando è installato in modo da mantenere quella versione. Ad esempio, esegui:

sudo apt-mark hold packagename
    
risposta data JoKeR 02.06.2015 - 23:06
1

A volte puoi ottenere versioni precedenti, a seconda della fonte. Per la maggior parte, quando un pacchetto viene aggiornato, sostituisce la versione aggiornata precedente (alcuni repository mantengono la prima versione per quella release, fino a che il rilascio non ha End Of Life). Ciò dipende anche dal fatto che le versioni più recenti includano aggiornamenti di sicurezza, oppure non è più supportato "upstream" (da dove il pacchetto proviene) .

Se la versione che desideri installare è ancora nel repository, puoi utilizzare questa sintassi per installare il pacchetto:

sudo apt-get install apache2=2.2.20-1ubuntu1

Se non è disponibile dal repository che stai utilizzando, potresti essere in grado di ottenere il pacchetto da altrove.

Con PPA sembra che tu stia usando, al momento puoi ottenere la versione 5.6.9. Ma c'è altro PPA del autore, da cui è possibile ottenere la versione 5.5.25. (C'è anche questo con 5.4.41, ma solo per la 12.04)

Ci sono anche siti di terze parti che hanno spesso versioni vecchie (e talvolta nuove). Per Ubuntu, Aggiornamenti di Ubuntu (ci sono anche altri siti - ad es. Per Fedora ecc. rpmfind (sì, RPMs .... - puoi usare alien (vedi sotto), o prendi lo src.rpm e usa il materiale per costruire qualcosa utilizzabile in non -RPM systems: D ).

Se tutto il resto fallisce, puoi provare a ottenere una versione sorgente della versione che desideri (per PHP, vedi qui ), quindi crea i pacchetti da quello. Puoi creare e installare direttamente , oppure compilare i pacchetti deb e installarli.

Puoi anche usare alien per installare pacchetti non nel formato deb ( questo sembra includere tar.gz ).

    
risposta data Wilf 03.06.2015 - 14:40

Leggi altre domande sui tag