Come posso "conservare" in modo affidabile un pacchetto in Debian?


14

Ho un pacchetto in Debian che è stato patchato manualmente (non è l'ideale, lo so) che devo conservare alla sua versione attuale in modo che gli aggiornamenti non sovrascrivano le modifiche patchate (ispezionerò manualmente e applicherò gli aggiornamenti di sicurezza). A quanto ho capito, ci sono alcuni modi per affrontare questo:

  • apt-pinning (vedi apt_preferences(5))
  • aptitude hold
  • dpkg --set-selections
  • impostandolo con dselect?

Ho letto che una sospensione non influirà su un'altra (quindi, ad esempio, l'utilizzo aptitude holdnon impedirà apt-geto dselectaggiornerà il pacchetto). Cosa bisogna fare per garantire al 100% che gli strumenti di Debian non aggiorneranno mai il pacchetto se non rimuovo il blocco?


1
Solo un commento, 9 anni fa qualcuno ha creato un bug nel sistema di bug di Debian su come davvero può contenere un pacchetto, e sembra che ci siano (o esistessero) alcuni problemi usando aptitude hold (LINK: bugs.debian.org/cgi-bin/ bugreport.cgi? bug = 146207 )
Luciano Facchinelli il

1
Quel qualcuno sarei io. :-). È ancora un bug aperto, anche se le persone che hanno recentemente ripreso l'attitudine hanno detto che avrebbero dato un'occhiata.
Faheem Mitha,

1
Daniel Hartwig mi ha scritto: "Sono stato consapevole di questo problema con le prese da quando ho iniziato a lavorare su aptitude. Al momento non l'ho dato uno sguardo approfondito poiché il mio focus è stato sul far funzionare il multi-arco. È l'età e il significato intimidiscono un po '. C'è anche la questione che aptitude in qualche modo "interpreta" gli stati di dpkg all'avvio per determinare cosa, se del caso, cambia e come dovrebbero essere integrati nel suo modello di stato interno. Assicurati che questo non sarà lasciato da solo - - Ne sono sempre consapevole quando osservo le aree correlate del codice ".
Faheem Mitha,

1
bugs.debian.org/146207 è apparentemente corretto nella versione di aptitude caricata su unstable.
Faheem Mitha,

Risposte:


7

aptitudee purtroppo dpkghanno funzioni di mantenimento separate che non si rispettano a vicenda. Quindi devi impostare entrambi se usi entrambi gli strumenti:

apt / dpkg: echo $PACKETNAME hold | dpkg --set-selections

attitudine: aptitude hold $PACKETNAME


1
Sembra che ora ci sia quello apt-mark holdche, secondo help.ubuntu.com/community/… , fa la stessa cosa di dpkg --set-selections.
Andyg0808,

1

Un approccio migliore in questo caso particolare (pacchetto con patch) potrebbe essere quello di installare la versione con patch /usr/local. Debian non lo toccherà.


0

Per quanto ne so, aptitude hold <package>sarà onorato dagli altri a meno che tu non lo ordini esplicitamente aggiornato (come colpire + mentre il cursore si trova sul campo "Pacchetti aggiornabili" in aptitude).


3
Sembra che questo non sia vero, vedi i commenti sopra.
jrdioko,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.