Questo è il seguito del nostro precedente articolo intitolato "come installare i pacchetti da un repository specifico" . Come dice il titolo, questa guida descrive come rimuovere i pacchetti installati da un repository specifico dalla riga di comando nei sistemi operativi Linux. In modalità GUI, potremmo farlo con un paio di clic del mouse. Poiché preferisco principalmente la modalità CLI, ho fornito le istruzioni solo per la modalità CLI. Continua a leggere.
Rimuovi i pacchetti installati da un repository specifico
Su RHEL, CentOS, Scientific Linux:
Nei sistemi basati su YUM come Red Hat e i suoi cloni come CentOS e Scientific Linux, possiamo rimuovere i pacchetti installati da un repository specifico usando il comando come utente root:
$ yum remove $(yum list installed | grep epel | awk '{ print $1 }')
Risultato di esempio:
Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package dnf.noarch 0:0.6.4-2.el7 will be erased ---> Package dnf-conf.noarch 0:0.6.4-2.el7 will be erased ---> Package dnf-plugins-core.noarch 0:0.1.5-3.el7 will be erased ---> Package epel-release.noarch 0:7-9 will be erased ---> Package libcomps.x86_64 0:0.1.6-13.el7 will be erased ---> Package python-dnf.noarch 0:0.6.4-2.el7 will be erased ---> Package python-libcomps.x86_64 0:0.1.6-13.el7 will be erased --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Removing: dnf noarch 0.6.4-2.el7 @epel 652 k dnf-conf noarch 0.6.4-2.el7 @epel 29 k dnf-plugins-core noarch 0.1.5-3.el7 @epel 167 k epel-release noarch 7-9 @epel 24 k libcomps x86_64 0.1.6-13.el7 @epel 202 k python-dnf noarch 0.6.4-2.el7 @epel 1.8 M python-libcomps x86_64 0.1.6-13.el7 @epel 140 k Transaction Summary ========================================================================================== Remove 7 Packages Installed size: 3.0 M Is this ok [y/N]:
Il comando precedente rimuoverà tutti i pacchetti installati dal repository EPEL insieme a tutte le dipendenze. Inoltre, rimuoverà il repository EPEL stesso.
Se vuoi rimuovere solo i pacchetti, non le dipendenze, inserisci il seguente comando come utente root:
$ rpm -e --nodeps `yum list installed | grep epel | awk '{ print $1 }'`
Tieni presente che il comando sopra non chiederà alcuna conferma durante la rimozione dei pacchetti.
Su Fedora:
In Fedora, puoi disinstallare tutti i pacchetti da un repository specifico usando il seguente comando come root utente:
# dnf repository-packages <repo-id> remove
Esempio:
# dnf repository-packages zyga-snapcore remove
Risultato di esempio:
Last metadata expiration check: 0:05:43 ago on Fri Jun 23 15:37:20 2017. Dependencies resolved. ========================================================================================== Package Arch Version Repository Size ========================================================================================== Removing: lz4 i686 r131-1.fc23 @fedora 322 k snap-confine i686 1.0.40-1.fc23 @updates 80 k snapd i686 2.14-1.fc23 @zyga-snapcore 17 M squashfs-tools i686 4.3-11.fc23 @fedora 405 k Transaction Summary ========================================================================================== Remove 4 Packages Installed size: 18 M Is this ok [y/N]:
Qui, zyga-snapcore è il repository del repository Copr per snapcore di proprietà di zyga.
Il comando precedente rimuoverà anche le dipendenze installate da altri repository. Se vuoi rimuovere solo i pacchetti, non le dipendenze, esegui semplicemente:
$ sudo rpm -e --nodeps `dnf list installed | grep zyga-snapcore | awk '{ print $1 }'`
Per scoprire l'ID del repository, esegui:
$ dnf repolist
Esempio di output dal sistema Fedora:
Last metadata expiration check: 0:07:39 ago on Fri Jun 23 15:37:20 2017. repo id repo name status *fedora Fedora 23 - i386 38,811 *updates Fedora 23 - i386 - Updates 18,174 zyga-snapcore Copr repo for snapcore owned by zyga 11
Leggi la guida seguente per scoprire l'ID del repository in varie distribuzioni Linux.
- Come trovare l'elenco dei repository installati dalla riga di comando in Linux
E questo è tutto. Spero che questo sia stato utile.