GNU/Linux >> Linux Esercitazione >  >> Linux

Impostare le opzioni di apt-get per tollerare l'innocuo kludge "dpkg --force-conflicts"?

Poiché OP ha chiesto un elenco di comandi (con cui modificare i relativi metadati del pacchetto) nei commenti alla risposta di Gilles, eccolo qui:

# download .deb
apt download parallel
# alternatively: aptitude download parallel

# unpack
dpkg-deb -R parallel_*.deb tmp/

# make changes to the package metadata
sed -i \
  -e '/^Version:/s/$/~nomoreutconfl/' \
  -e '/^Conflicts: moreutils/d' \
  tmp/DEBIAN/control

# pack anew
dpkg-deb -b tmp parallel_custom.deb

# install
dpkg -i parallel_custom.deb

Ciò avviene presupponendo che la riga dei conflitti contenga solo moreutils come voce (e senza limitazioni di versione) come nel caso della mia installazione. Altrimenti, usa '/^Conflicts:/s/\(, \)\?moreutils\( [^,]\+\)\?//' come secondo sed script per rimuovere solo la parte pertinente della riga e supportare le restrizioni di versione.

Il tuo pacchetto installato non verrà sovrascritto dalle versioni più recenti dal repository e dovrai ripetere manualmente questa procedura per ogni aggiornamento al pacchetto parallelo GNU se vuoi mantenere questo pacchetto aggiornato.


Un conflitto tra pacchetti è dannoso in sé e per sé. Quando forzi dpkg per installare i pacchetti in conflitto, ciò potrebbe non causare alcun altro damage se il conflitto è stato dichiarato senza una buona ragione, ma i pacchetti sono ancora in conflitto. APT lavora duramente per risolvere i conflitti durante l'installazione dei pacchetti e non ha un elenco di conflitti da ignorare. Non puoi risolvere questo problema facendo passare diverse opzioni a dpkg :il problema è che i conflitti rendono impossibile il lavoro di APT.

Non installare mai pacchetti in conflitto a meno che non si tratti di uno stato temporaneo per uscire da una situazione in cui APT non funziona. Non eseguire APT finché non hai lavorato con dpkg per uscire dalla situazione conflittuale.

Se vuoi installare pacchetti in conflitto, prima modificali per rimuovere il Conflict: dichiarazione, oltre a risolvere eventuali problemi che hanno motivato la dichiarazione di conflitto.


Linux
  1. Opzioni usate di frequente per il comando debian/ubuntu dpkg

  2. Opzioni utili per ps

  3. Imposta un inoltro di posta

  4. Configura la replica della replica sorgente di MySQL

  5. Configura Python su IIS 7.5

Come gestire i pacchetti utilizzando i comandi apt-get, apt-cache, apt-file e dpkg (con 13 esempi pratici)

Come personalizzare le opzioni del salvaschermo in Gnome su CentOS/RHEL 7

Come posso impostare cron per eseguire un file solo una volta in un momento specifico?

Cos'è Opzioni +FollowSymLinks?

Rispondi automaticamente "Sì" quando usi apt-get install

Come posso impostare un nick predefinito per le nuove connessioni irssi?