Fedora – Gerenciando pacotes com o DNF (Guia Básico)
Neste tópico, tentaremos mostrar de uma forma simples e direta, como estar realizando o gerenciamento de pacotes usando a mais nova ferramenta do Fedora, o DNF, que tomou o lugar do YUM.
Mas, o que é e o que faz o DNF?
DNF é o gerenciador de pacotes O Projeto Fedora. Ele é capaz de consultar informações sobre os pacotes, obter pacotes de repositórios, instalar e desinstalar pacotes usando resolução de dependências automática, atualizar um sistema inteiro com os últimos pacotes disponíveis. O DNF pode executar a resolução de dependências automática de pacotes a atualizar, instalar ou remover, e, portanto, é capaz de determinar automaticamente, buscar e instalar todos os pacotes dependentes disponíveis. DNF pode ser configurado com novos repositórios adicionais, ou fontes de pacotes, e também fornece muitos plug-ins que melhoram e ampliam suas capacidades. O DNF é capaz de executar muitas das mesmas tarefas que o RPM pode; Além disso, muitas das opções de linha de comando são semelhantes. Também existe a questão da segurança, onde você estará baixando pacotes assinados via GPG. O DNF fornece gerenciamento de pacotes seguro, permitindo GPG (GNU Privacy Guard, também conhecido como GnuPG) verificação de assinatura de pacotes assinados que devem ser ativados para todos os repositórios de pacotes (fontes do pacote), ou para repositórios individuais. Quando a verificação de assinatura é habilitada, o DNF se recusará a instalar quaisquer pacotes não assinados com a chave correta para esse repositório. Isso significa que você pode confiar que os pacotes RPM você baixar e instalar no seu sistema são de uma fonte confiável, como o Projeto Fedora, e não foram modificados durante a transferência.
PS: Você deve ter privilégios de super usuário para atualizar, instalar ou remover pacotes no sistema. Os exemplos a seguir utilizarão o sudo ou root, diretamente.
1 – Checando por atualizações:
# dnf check-update
Last metadata expiration check performed 1:34:33 ago on Thu Jul 14 07:14:59 2016. NetworkManager-openvpn.x86_64 1:1.0.8-2.fc22 updates NetworkManager-openvpn-gnome.x86_64 1:1.0.8-2.fc22 updates expat.i686 2.1.1-2.fc22 updates expat.x86_64 2.1.1-2.fc22 updates expat-devel.x86_64 2.1.1-2.fc22 updates findutils.x86_64 1:4.5.14-7.fc22 updates gnumeric.x86_64 1:1.12.31-1.fc22 updates krb5-devel.x86_64 1.13.2-15.fc22 updates krb5-libs.i686 1.13.2-15.fc22 updates krb5-libs.x86_64 1.13.2-15.fc22 updates mate-themes.noarch 3.16.3-1.fc22 updates
(exemplo de saída acima)
2 – Atualizando pacotes:
# dnf upgrade
ou
# dnf update
Last metadata expiration check performed 1:38:15 ago on Thu Jul 14 07:14:59 2016. Dependencies resolved. ======================================================================================================================================================================== Package Arq. Versão Repo Tam. ======================================================================================================================================================================== Instalando: obs-studio-libs x86_64 0.15.0-1.fc22.R russianfedora-free-updates 564 k Atualizando: NetworkManager-openvpn x86_64 1:1.0.8-2.fc22 updates 193 k NetworkManager-openvpn-gnome x86_64 1:1.0.8-2.fc22 updates 70 k expat i686 2.1.1-2.fc22 updates 92 k expat x86_64 2.1.1-2.fc22 updates 86 k expat-devel x86_64 2.1.1-2.fc22 updates 63 k findutils x86_64 1:4.5.14-7.fc22 updates 523 k gnumeric x86_64 1:1.12.31-1.fc22 updates 13 M krb5-devel x86_64 1.13.2-15.fc22 updates 648 k krb5-libs i686 1.13.2-15.fc22 updates 855 k krb5-libs x86_64 1.13.2-15.fc22 updates 840 k mate-themes noarch 3.16.3-1.fc22 updates 5.2 M
(Exemplo de saída acima)
PS: A diferença entre os dois é que com o parâmetro “upgrade“, será realizada a atualização dos pacotes mesmo que haja dependências quebradas e com o parâmetro “update”, será realizada uma notificação caso existam dependências quebradas e a atualização não será realizada até que você realize algum outro procedimento visando solucionar tais dependências.
a) Para atualizar apenas um pacote por vez, você utiliza:
# dnf upgrade firefox
ou
# dnf update firefox
2 – Procurando pacotes:
# dnf search
Ex.
# dnf search webcam
Last metadata expiration check performed 1:42:21 ago on Thu Jul 14 07:14:59 2016. ========================================================================= N/S Matched: webcam ========================================================================== fswebcam.x86_64 : Tiny and flexible webcam program gallery2-webcam.noarch : Webcam module for Gallery 2 libwebcam-devel.i686 : Development libraries and headers for libwebcam libwebcam-devel.x86_64 : Development libraries and headers for libwebcam libwebcam.i686 : A library for user-space configuration of the uvcvideo driver libwebcam.x86_64 : A library for user-space configuration of the uvcvideo driver camorama.x86_64 : Gnome webcam viewer cheese-camera-service.x86_64 : Webcam D-Bus service cheese-libs.x86_64 : Webcam display and capture widgets cheese-libs.i686 : Webcam display and capture widgets uvcdynctrl.x86_64 : Command line interface to libwebcam gyachi.x86_64 : A Yahoo! chat client with Webcam and voice support cheese.x86_64 : Application for taking pictures and movies from a webcam kamoso.x86_64 : Application for taking pictures and videos from a webcam camE.x86_64 : Rewrite of the xawtv webcam app, which adds imlib2 support
(exemplo de saída acima)
a) Também pode ser realizada a busca por mais de um termo ou pacote:
# dnf search webcam dvd
========================================================================= N/S Matched: webcam ========================================================================== libwebcam.i686 : A library for user-space configuration of the uvcvideo driver libwebcam.x86_64 : A library for user-space configuration of the uvcvideo driver =========================================================================== N/S Matched: dvd =========================================================================== radvd.x86_64 : A Router Advertisement daemon ladvd.x86_64 : CDP/LLDP sender for UNIX texlive-advdate.noarch : Print a date relative to "today" ========================================================================= N/S Matched: webcam ========================================================================== camorama.x86_64 : Gnome webcam viewer cheese-camera-service.x86_64 : Webcam D-Bus service cheese-libs.x86_64 : Webcam display and capture widgets cheese-libs.i686 : Webcam display and capture widgets uvcdynctrl.x86_64 : Command line interface to libwebcam gyachi.x86_64 : A Yahoo! chat client with Webcam and voice support cheese.x86_64 : Application for taking pictures and movies from a webcam kamoso.x86_64 : Application for taking pictures and videos from a webcam camE.x86_64 : Rewrite of the xawtv webcam app, which adds imlib2 support =========================================================================== N/S Matched: dvd ===========================================================================
(exemplo de saída acima)
3 – Listando pacotes:
Para isso, utilizamos o parâmetro “list” ou relacionados. Inclusive utilizando caracteres coringa
Exemplos:
a) Listando todos os pacotes através de uma “glob expression”
# dnf list fedora-\*
Last metadata expiration check performed 0:24:00 ago on Thu Jul 14 09:14:48 2016. Pacotes instalados fedora-icon-theme.noarch 1.0.0-16.fc21 @koji-override-0 fedora-logos.x86_64 22.0.0-1.fc22 @koji-override-0 fedora-release.noarch 22-1 @koji-override-1 fedora-release-notes.noarch 22.02-1.fc22 @koji-override-0 fedora-repos.noarch 22-2 @updates
b) Listando todos os pacotes instalados e disponíveis
# dnf list all
Last metadata expiration check performed 0:27:36 ago on Thu Jul 14 09:14:48 2016. Pacotes instalados Cg.x86_64 3.1.0013-4.fc22 @rpmfusion-nonfree GConf2.x86_64 3.2.6-11.fc22 @koji-override-0 GeoIP.x86_64 1.6.5-1.fc22 @fedora GeoIP-GeoLite-data.noarch 2016.04-1.fc22 @updates GraphicsMagick.x86_64 1.3.24-1.fc22 @updates ImageMagick.x86_64 6.8.8.10-9.fc22 @fedora ImageMagick-c++.x86_64 6.8.8.10-9.fc22 @fedora ImageMagick-libs.x86_64 6.8.8.10-9.fc22 @fedora
(exemplo de saída acima)
c) Listando grupos de pacotes
# dnf group list
Last metadata expiration check performed 0:33:06 ago on Thu Jul 14 09:14:48 2016. Available environment groups: Instalação Mínima Servidor Fedora Estação de trabalho Fedora Servidor Fedora Cloud Ambiente de trabalho KDE Plasma Ambiente de Trabalho Xfce Ambiente de trabalho LXDE Ambiente de trabalho LXQt
d) Listando os repositórios com o ID, nome e o número de pacotes que são providos por cada repositório
# dnf repolist
Last metadata expiration check performed 0:34:44 ago on Thu Jul 14 09:14:48 2016. id do repo nome do repo status adobe-linux-x86_64 Adobe Systems Incorporated 2 *fedora Fedora 22 - x86_64 44.762 fedora-steam negativo17 - Steam 21 google-chrome google-chrome 3 google-talkplugin google-talkplugin 1 insync insync repo 122 intellinuxgraphics Intel Graphics for Linux 27
e) Listando pacotes de um repositório específico
# dnf repository-packages marmotte list
Last metadata expiration check performed 0:37:06 ago on Thu Jul 14 09:14:48 2016. Pacotes instalados emulationstation.x86_64 2.0.1a-1.fc22 @marmotte libretro-bnes.x86_64 1-2.86b2aafbda.fc21 @marmotte libretro-genesis_plus_gx.x86_64 1.7.4-2.c61817699d.fc21 @marmotte libretro-mame.x86_64 0.155-2.5074d3c409.fc21 @marmotte libretro-mupen64plus.x86_64 2.0-2.114ddec34a.fc21 @marmotte libretro-scummvm.x86_64 1.7.0-2.228def6913.fc21 @marmotte libretro-snes9x.x86_64 1.53-2.85ceb4bf4a.fc21 @marmotte libretro-snes9x_next.x86_64 1.52-2.d2aba49db2.fc21 @marmotte retroarch.x86_64 1.0.0.3-0.1.8b41762639.fc21 @marmotte retroarch-joypad-autoconfig.x86_64 0-0.2.34af70c2bb.fc21 @marmotte
4 – Exibindo informações sobre um pacote
# dnf info camorama
Last metadata expiration check performed 0:40:04 ago on Thu Jul 14 09:14:48 2016. Pacotes disponíveis Name : camorama Arq. : x86_64 Epoch : 0 Versão : 0.19 Release : 18.fc22 Tam. : 178 k Repo : updates Summary : Gnome webcam viewer URL : https://github.com/alessio/camorama License : GPLv2+ Description : A simple Gnome webcam viewer, with the ability to apply some video effects.
5 – Instalando pacotes
a) Instalado um pacote ou mais pacotes individualmente
# dnf install yakuake
Last metadata expiration check performed 0:43:57 ago on Thu Jul 14 09:14:48 2016. Dependencies resolved. ======================================================================================================================================================================== Package Arq. Versão Repo Tam. ======================================================================================================================================================================== Instalando: attica x86_64 0.4.2-4.fc22 fedora 235 k docbook-dtds noarch 1.0-63.fc21 fedora 376 k docbook-style-xsl noarch 1.78.1-3.fc21 fedora 2.0 M exiv2-libs x86_64 0.24-5.fc22 updates 981 k herqq x86_64 1.0.0-8.fc22 fedora 358 k kate4-part x86_64 4.14.3-14.fc22 updates 1.9 M kde-apps-rpm-macros noarch 6:4.14.17-1.fc22 updates 11 k kde-baseapps-common noarch 15.04.3-2.fc22 updates 27 k kde-l10n noarch 14.12.3-10.fc22 updates 8.6 k kdelibs x86_64 6:4.14.17-1.fc22 updates 12 M kdelibs-common x86_64 6:4.14.17-1.fc22 updates 1.9 M kdelibs-ktexteditor x86_64 6:4.14.17-1.fc22 updates 81 k kdelibs-webkit x86_64 6:4.14.17-1.fc22 updates 64 k konsole-part x86_64 4.14.3-10.fc22 updates 422 k libiodbc x86_64 3.52.7-8.fc22 fedora 187 k libkonq x86_64 15.04.3-2.fc22 updates 140 k polkit-qt x86_64 0.112.0-3.fc22 fedora 77 k qtsoap x86_64 2.7-9.fc22 fedora 80 k redland-virtuoso x86_64 1.0.17-3.fc22 fedora 33 k sgml-common noarch 0.6.3-42.fc22 fedora 59 k shared-desktop-ontologies noarch 0.11.0-3.fc21 fedora 113 k soprano x86_64 2.9.4-5.fc22 fedora 619 k strigi-libs x86_64 0.7.8-7.fc22 fedora 464 k yakuake x86_64 2.9.9-9.fc22 fedora 410 k Resumo da transação ======================================================================================================================================================================== Instalar 24 Packages Tamanho total do download: 22 M Tamanho depois de instalado: 93 M Correto? [s/N]:
b) Instalando grupos de pacotes:
# dnf group install "Aplicativos Médicos"
ou
# dnf group install medical
ou ainda
# dnf install @medical
6 – Removendo pacotes
a) Pacote individuais
# dnf remove soundconverter terminator
b) Grupos de pacotes
# dnf group remove "Aplicativos Médicos"
ou
# dnf group remove medical
ou ainda
# dnf remove @medical
Para ver mais opções e vê-las em ação, deixo abaixo um vídeo publicado em nosso canal no YouTube. Até o próximo!
Referências: https://docs.fedoraproject.org/en-US/Fedora/24/html/System_Administrators_Guide/ch-DNF.html
abrigado greyson eu acabei de migrar do ubuntu para o fedora e para minha felicidade eu me deparai com seu siti, já sabia quem você era pós acompanha a oficina do tux, fast e o tux gamer a muito tempo usava o ubuntu e o debian, então foi de grande alegria e satisfação encontrar o seu siti eu só tenho a agradecer a você por tirar um tempo para espalhar o conhecimento o meu sincero agradecimento.
Olá, obrigado por acessar e ter gostado do site. Está em andamento o desenvolvimento de um novo canal voltado SOMENTE a Fedora. Não faço mais parte do Oficina e com bastante apoio acredito que o novo projeto será ótimo. Assim que estiver pronto farei a divulgação em toda a rede. Grande abraço