Comandos Pacman para gerenciar pacotes no Arch Linux - Brasil Linux
Jσãσ Pє∂яσ
O pacman significa PaCkage MANager utility (pacman). O pacman é um utilitário de linha de comando para instalar, construir, remover e gerenciar pacotes do Arch Linux. Pacman usa libalpm (biblioteca Arch Linux Package Management (ALPM)) como back-end para executar todas as ações. Algumas outras utilidades de manjedoura de pacotes que estão sendo usadas amplamente no Linux são yum, dnf, apt-get, dpkg, rpm, Zypper, pacman, urpmi, etc.,
1 - Sintaxe/localização do arquivo pacman:
Veja abaixo a sintaxe/localização do arquivo Pacman que irá ajudá-lo se você quiser verificar mais sobre ele.
[Sintaxe geral do Pacman]
pacman [options] [targets]
[Arquivo de configuração do Pacman]
/etc/pacman.conf
[Localização do arquivo em cache do pacman]
/var/cache/pacman/pkg/
[Localização do arquivo de banco de dados do pacman]
/var/lib/pacman/sync
[Localização do arquivo do histórico do pacman]
/var/log/pacman.log
2) Instale um pacote ou pacotes
Use o comando abaixo para instalar qualquer pacote ou pacotes em seu sistema. Neste caso, vou instalar o apache & php.
[Instalando um pacote]
# pacman -S apache
[Instale mais de um pacote]
# pacman -S apache php
[Instale um pacote forçadamente]
# pacman -S --force apache
[Faça o download de um pacote sem instalação]
# pacman -Sw apache
[Instale um pacote local]
# pacman -U /package_path
[Instale um pacote on-line (Remote Path)]
# pacman -U http://xxxxxxx.com/xxxx.tar.xz
3) Remover um pacote ou pacotes
Use o comando abaixo para remover / apagar qualquer pacote ou pacotes no seu sistema. Neste caso, vou remover o apache & php.
[Remova um único pacote]
# pacman -R apache
[Remova mais de um pacote]
# pacman -R apache php
[Remova um pacote junto com suas dependências]
# pacman -Rs apache
[Remove alvos que não são exigidos por outros pacotes, use ao remover um grupo]
# pacman -Ru gnome
4) Atualizar um pacote ou vários pacotes
Use o comando abaixo para atualizar qualquer pacote ou pacotes no seu sistema. Neste caso, vou atualizar o apache & php para a versão mais recente. Se a atualização estiver disponível, ele atualizará o pacote para a versão mais recente caso contrário, reinstalará o atual.
[Atualize um único pacote]
# pacman -Syu apache
:: Synchronizing package databases...
core is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------------] 0%
extra is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------------] 0%
community is up to date 0.0 B 0.00B/s 00:00 [-------------------------------------] 0%
multilib is up to date 0.0 B 0.00B/s 00:00 [-----------------------------------------] 0%
warning: apache-2.4.18-1 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) apache-2.4.18-1
Total Installed Size: 5.41 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] n
[Atualize mais de um pacote]
# pacman -Syu apache php
5) Como listar pacotes
Use os comandos abaixo para listar todos os pacotes instalados. Levará muito tempo para listar, podemos usar comando grep | para ver página por página.
[Para recuperar uma lista de pacotes instalados]
# pacman -Q | more
a52dec 0.7.4-8
aalib 1.4rc5-11
accountsservice 0.6.40-1
acl 2.2.52-2
acpid 2.0.26-1
adwaita-icon-theme 3.18.0-1
alsa-firmware 1.0.29-1
alsa-lib 1.1.0-1
alsa-plugins 1.1.0-2
alsa-utils 1.1.0-1
apache 2.4.18-1
Para recuperar uma lista dos arquivos instalados por um pacote específico.
# pacman -Ql apache
apache /etc/
apache /etc/httpd/
apache /etc/httpd/conf/
apache /etc/httpd/conf/extra/
apache /etc/httpd/conf/extra/httpd-autoindex.conf
apache /etc/httpd/conf/extra/httpd-dav.conf
apache /etc/httpd/conf/extra/httpd-default.conf
apache /etc/httpd/conf/extra/httpd-info.conf
6) Verificar atualizações
Use o comando abaixo para verificar atualizações de pacotes disponíveis em seu sistema. Se estiver disponível, ele executará a atualização.
# pacman -Syu
:: Synchronizing package databases...
core is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------------] 0%
extra is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------------] 0%
community is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------] 0%
multilib is up to date 0.0 B 0.00B/s 00:00 [------------------------------------------] 0%
:: Starting full system upgrade...
7) Procure um pacote
Se você não conhece o nome exato do pacote que deseja instalar, use a opção de pesquisa, ele retornará a string correspondente. Neste caso, vou pesquisar chromium.
[Procure um pacote no banco de dados]
# pacman -Ss chromium
extra/chromium 48.0.2564.116-1
The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser
extra/qt5-webengine 5.5.1-9 (qt qt5)
Provides support for web applications using the Chromium browser project
community/chromium-bsu 0.9.15.1-2
A fast paced top scrolling shooter
community/chromium-chromevox latest-1
Causes the Chromium web browser to automatically install and update the ChromeVox screen reader extention. Note: This
package does not contain the extension code.
community/fcitx-mozc 2.17.2313.102-1
Fcitx Module of A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese
Input)
Você pode procurar o pacote já instalado adicionando a opção Q com o pacman.
# pacman -Qs apche
local/apache 2.4.18-1
A high performance Unix-based HTTP server
local/apr 1.5.2-1
The Apache Portable Runtime
local/apr-util 1.5.4-1
The Apache Portable Runtime
[Se você procura um pacote novo com a opção Q, você não receberá nenhum resultado]
# pacman -Qs chromium
8) Verificar informações do pacote
Se você deseja saber as informações detalhadas do pacote antes de continuar com a instalação. Use o comando abaixo, ele fornecerá informações completas sobre o pacote, como a versão do pacote, tamanho, nome do repo, etc.
[Para obter informações sobre determinado pacote]
# pacman -Si chromium
Repository : extra
Name : chromium
Version : 48.0.2564.116-1
Description : The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser
Architecture : x86_64
URL : http://www.chromium.org/
Licenses : BSD
Groups : None
Provides : None
Depends On : gtk2 nss alsa-lib xdg-utils bzip2 libevent libxss icu libexif libgcrypt ttf-font systemd dbus
flac snappy speech-dispatcher pciutils libpulse harfbuzz libsecret libvpx perl perl-file-basedir
desktop-file-utils hicolor-icon-theme
Optional Deps : kdebase-kdialog: needed for file dialogs in KDE
gnome-keyring: for storing passwords in GNOME keyring
kwallet: for storing passwords in KWallet
Conflicts With : None
Replaces : None
Download Size : 44.42 MiB
Installed Size : 172.44 MiB
Packager : Evangelos Foutras
Build Date : Fri 19 Feb 2016 04:17:12 AM IST
Validated By : MD5 Sum SHA-256 Sum Signature
Para obter informações sobre o pacote instalado
# pacman -Qi apache
Name : apache
Version : 2.4.18-1
Description : A high performance Unix-based HTTP server
Architecture : x86_64
URL : http://www.apache.org/dist/httpd
Licenses : APACHE
Groups : None
Provides : None
Depends On : zlib apr-util pcre
Optional Deps : lua: for mod_lua module [installed]
openssl: for mod_ssl module [installed]
libxml2: for mod_proxy_html, mod_xml2enc modules [installed]
nghttp2: for mod_http2 module
lynx: apachectl status
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 5.41 MiB
Packager : Anatol Pomozov
Build Date : Mon 14 Dec 2015 09:36:34 PM IST
Install Date : Thu 03 Mar 2016 12:52:34 PM IST
Install Reason : Explicitly installed
Install Script : Yes
Validated By : Signature
[If you grep about fresh package with Q option, you will get below error message]
# pacman -Qi chromium
error: package 'chromium' was not found
Exibir a lista de arquivos de backup e seus estados de modificação. Se você instalou o Apache 2.4.12, você atualizou para 2.4.18, ele mostrará estados de modificação.
# pacman -Qii apache
Backup Files :
UNMODIFIED /etc/httpd/conf/httpd.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-autoindex.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-dav.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-default.confUNMODIFIED /etc/httpd/conf/extra/httpd-info.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-languages.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-manual.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-mpm.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-multilang-errordoc.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-ssl.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-userdir.conf
UNMODIFIED /etc/httpd/conf/extra/httpd-vhosts.conf
UNMODIFIED /etc/httpd/conf/extra/proxy-html.conf
UNMODIFIED /etc/httpd/conf/mime.types
UNMODIFIED /etc/httpd/conf/magic
UNMODIFIED /etc/logrotate.d/httpd
9) Instale um pacote de um Repositório particular
Use o comando abaixo para instalar um pacote de Repositório específico. Neste caso, vou instalar o pacote mplayer do repositório extra do Manjaro.
# pacman -S extra/mplayer
10) Ver dependências do pacote
Use o comando abaixo para Ver dependências do pacote.
# pactree apache
or
# pactree -c apache
or
# pactree -sc apache
apache
├─zlib
│ └─glibc
│ ├─linux-api-headers
│ ├─tzdata
│ └─filesystem
│ └─iana-etc
├─apr-util
│ ├─apr
│ │ └─util-linux
│ │ ├─pam
│ │ │ ├─glibc
│ │ │ ├─cracklib
Para listar todos os pacotes não mais necessários como dependências.
$ pacman -Qdt
enca 1.18-1
farstream-0.1 0.1.2-5
gegl 0.3.4-5
gobject-introspection 1.46.0-1
lib32-curl 7.47.1-1
lib32-gconf 3.2.6-1
lib32-gperftools 2.4-1
lib32-libappindicator-gtk2 12.10.0-6
lib32-libcurl-gnutls 7.42.1-1
Para listar todos os pacotes explicitamente instalados e não necessários como dependências
$ pacman -Qet
acpid 2.0.26-1
apache 2.4.18-1
autoconf 2.69-2
automake 1.15-1
b43-fwcutter 019-1
bison 3.0.4-1
blueman 2.0.3-1
catfish 1.3.4-2
corebird 1.1-1
cpupower 4.4-1
cronie 1.5.0-1
dmraid 1.0.0.rc16.3-10
ecryptfs-utils 108-2
11) Sincronizar o banco de dados
Use os comandos abaixo para sincronizar o banco de dados. Faça isso antes de continuar a atualização completa do sistema.
[Sync o banco de dados]
# pacman -Sy
:: Synchronizing package databases...
core is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------------] 0%
extra is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------------] 0%
community is up to date 0.0 B 0.00B/s 00:00 [--------------------------------------] 0%
multilib is up to date
Forçar a sincronização do banco de dados
# pacman -Syy
:: Synchronizing package databases...
core 132.6 KiB 1524K/s 00:00 [####################] 100%
extra 1859.0 KiB 750K/s 00:02 [####################] 100%
community 3.5 MiB 149K/s 00:24 [####################] 100%
multilib 82.7 KiB 1363K/s 00:00 [####################] 100%
12) Instalar atualizações
Use os comandos abaixo para atualizar todos os pacotes do sistema para a versão mais recente. Também podemos atualizar o nosso sistema para a nova versão do Arch / Manjaro se estiver disponível.
[Atualize seu sistema]
# pacman -Su
:: Starting full system upgrade...
there is nothing to do
[Atualize seu sistema e sincronize o banco de dados]
# pacman -Syu
:: Synchronizing package databases...
core is up to dat 0.0 B 0.00B/s 00:00 [-------------------] 0%
extra is up to date 0.0 B 0.00B/s 00:00 [------------------] 0%
community is up to date 0.0 B 0.00B/s 00:00 [--------------] 0%
multilib is up to date 0.0 B 0.00B/s 00:00 [--------------] 0%
:: Starting full system upgrade...
there is nothing to do
13) Como instalar o pacote de um grupo
Nós podemos instalar o pacote do grupo, como se você quiser instalar um grupo de software de uma só vez. Quando você está instalando um grupo de pacotes, ele solicitará que você selecione os pacotes do grupo e você tenha opção para excluir o pacote específico ou os intervalos de pacotes na lista.
[Instale um grupo de pacotes]
# pacman -S mate
1) caja 2) marco 3) mate-backgrounds 4) mate-control-center 5) mate-desktop 6) mate-icon-theme 7) mate-menus 8) mate-notification-daemon 9) mate-panel 10) mate-polkit 11) mate-session-manager 12) mate-settings-daemon 13) mate-theme 14) mate-user-guide
[Para instalar todos os pacotes no grupo, basta pressionar enter]
Enter a selection (default=all):
[Isso irá instalar 1 a 12 e 44 do grupo]
Enter a selection (default=all): 1-12 13
[Isso irá instalar todos os pacotes do grupo, exceto 3 a 10 e 14]
Enter a selection (default=all): ^3-10 ^14
Para ver quais pacotes pertencem ao grupo
# pacman -Sg gnome
gnome adwaita-icon-theme
gnome baobab
gnome dconf-editor
gnome empathy
gnome eog
gnome epiphany
gnome evince
gnome gdm
gnome gnome-backgrounds
gnome gnome-calculator
gnome gnome-contacts
14) Função whatprovides
Este comando procura quais pacotes possuem um arquivo.
# pacman -Qo /etc/httpd/conf
/etc/httpd/conf/ is owned by apache 2.4.18-1
15) Limpar o cache de Pacman
Se quisermos limpar o cache do pacote pacman, podemos fazê-lo executando os comandos abaixo.
[Remova todos os pacotes em cache que não estão instalados no momento]
# pacman -Sc
Packages to keep:
All locally installed packages
Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove all other packages from cache? [Y/n] y
removing old packages from cache...
Database directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n] y
removing unused sync repositories...
Esvazie pacotes em cache.
# pacman -Scc
Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove ALL files from cache? [y/N] y
removing all files from cache...
Database directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n] y
removing unused sync repositories...
[Remova todos os pacotes em cache, exceto o pacote 3 mais recente]
# paccache -r
16) Leia mais sobre Pacman
Use os comandos abaixo para ler mais sobre as informações do comando pacman.
$ pacman -help
or
$ man pacman
Referencia: LINK
Comandos Básicos do Pacman e Yaourt: LINK
Telegram: @BrasilLinux