GNU/Linux >> Linux Esercitazione >  >> Linux

Come modificare un pacchetto deb?

La procedura che utilizzo è questa:

Ottieni il sorgente (tramite apt-get src).

Applica una patch o fai qualsiasi cosa debba essere modificata.

eseguire debchange --nmu e digita una descrizione della modifica apportata. Questo incrementerà automaticamente il numero di versione in modo che il sistema non tenti di "aggiornare" il tuo pacchetto personalizzato a quello standard.

Esegui debuild .

Goditi i tuoi file deb.


Ho trovato la seguente guida sui forum di Ubuntu per ricostruire il pacchetto del gestore di rete qui

Ri:come applicare una patch al sorgente di un deb

Citazione:Inserito originariamente da cord

Voglio fondamentalmente ricostruire il pacchetto del gestore di rete con una sorta di patch personalizzata per testare qualcosa. Quindi voglio:1. ottieni il codice sorgente per la "versione" Ubuntu del gestore di rete

Codice:

sudo apt-get source network-manager

Citazione:2. correggilo con la mia patchI file sorgente verranno scaricati nella directory di lavoro. Vedi questo per ulteriori informazioni.

Citazione:3. crea un file deb che posso installare al posto dell'attuale gestore di rete.

Esegui codice:

dpkg-buildpackage -rfakeroot -uc -b
nella directory creata.

È stato trovato anche questo articolo:Debian New Maintainers' GuideChapter 6 - Building the package

Per quanto riguarda le tue modifiche perse a causa di un aggiornamento dai repository ufficiali, non ne sono sicuro. Puoi sempre inviare la tua patch a monte ai manutentori del pacchetto compiz-gnome o creare il tuo repository per il pacchetto aggiornato.


La risposta ai punti 3 e 4 è che dovresti mettere il pacco in hold stato dopo aver installato la tua versione. Questo dice al sistema di gestione dei pacchetti Debian di "bloccare" eventuali modifiche future a questo pacchetto, in effetti ti consente di gestire il pacchetto manualmente.

Dalle FAQ Debian:

7.11 Cosa si intende per sconosciuto, installa, rimuovi, elimina e trattieni lo stato del pacchetto?

Questi flag "want" indicano ciò che l'utente voleva fare con un pacchetto (come indicato dalle azioni dell'utente nella sezione "Select" di dselect o dalle invocazioni dirette dell'utente a dpkg).

I loro significati sono:

  • unknown - l'utente non ha mai indicato se vuole il pacchetto>

  • install - l'utente desidera che il pacchetto sia installato o aggiornato

  • remove - l'utente vuole che il pacchetto venga rimosso, ma non vuole rimuovere alcun file di configurazione esistente.

  • purge - l'utente desidera che il pacchetto venga rimosso completamente, inclusi i suoi>file di configurazione.

  • hold - l'utente desidera che questo pacchetto non venga elaborato, ovvero desidera mantenere la>versione corrente con lo stato corrente qualunque esso sia.

7.12 Come faccio a mettere in attesa un pacco?

Ci sono tre modi per trattenere i pacchetti, con dpkg, aptitude o con dselect.

Con dpkg, devi esportare l'elenco delle selezioni dei pacchetti, con:

dpkg --get-selections *> selections.txt

Quindi modifica il file selections.txt risultante, modifica la riga contenente il pacchetto che desideri conservare, ad es. libc6, da questo:

installazione di libc6

a questo:

libc6 attesa

Salva il file e ricaricalo nel database dpkg con:

dpkg --set-selections

Con aptitude, puoi tenere un pacco usando

aptitude mantiene nome_pacchetto

e rimuovi la sospensione con

aptitude sblocca nome_pacchetto

Con dselect, devi entrare nella schermata [S]elect, trovare il pacchetto che desideri conservare nel>suo stato attuale e premere il =' key (or H'). Le modifiche verranno applicate immediatamente>dopo che sarai uscito dalla schermata [S]eletti.

Nota: Le persone hanno riscontrato problemi con il blocco attitudinale comando, quindi imho dovresti preferire il comando dpkg per contenere il pacchetto. In alternativa, puoi conservare il pacchetto tramite l'interfaccia GUI del gestore di pacchetti Synaptic (Pacchetto> Blocca versione). La mia preferenza è usare dpkg perché ha funzionato bene per me.

Hai già una buona risposta per il resto, quindi non azzarderò la mia opinione su quelli.


Linux
  1. Come estrarre i file dall'archivio dei pacchetti Debian DEB

  2. Come elencare i file installati da un pacchetto RPM o DEB in Linux

  3. Come controllare i dettagli di un pacchetto software in Ubuntu Linux

  4. Come controllare l'elenco delle dipendenze per un pacchetto Deb?

  5. Debian:come installare o rimuovere i pacchetti DEB usando dpkg

Come installare il pacchetto Debian (.deb).

Come installare i pacchetti Deb in Ubuntu, Debian e Mint

Come installare il pacchetto Deb su OpenSUSE Leap o Tumbleweed

Come creare un pacchetto in WHM?

Come modificare i pacchetti di account cPanel nei piani dei rivenditori cPanel?

Come installare il filato su Ubuntu 18.04