pacman 指令

pacman 是 ArchLinux 用來管理套件的工具,相當於 RedHat / CentOS 的 yum / rpm 及 Debian / Ubuntu 的 apt-* / dpkg。
參考網站:pacman (正體中文) – ArchWiki
更新套件庫
# pacman -Syy
Debian / Ubuntu
# apt-get update
RedHat / CentOS
# yum update

更新已安裝的套件
# pacman -Syu
# pacman -S –refresh –sysupgrade
# pacman -S -y -u
Debian / Ubuntu
# apt-get upgrade
# apt-get dist-upgrade
RedHat / CentOS
# yum update[@more@]

尋找套件
# pacman -Ss ncftp
# pacman -S –search ncftp
extra/ncftp 3.2.5-4
    A set of free application programs implementing FTP
Debian / Ubuntu
# apt-cache search ncftp
RedHat / CentOS
# yum search ncftp

安裝套件
# pacman -S 套件名稱
Debian / Ubuntu
# apt-get install 套件名稱
# dpkg -i 套件檔案名稱
RedHat / CentOS
# yum install 套件名稱
# rpm -ivh 套件檔案名稱

查看套件群組包含的套件
# pacman -Sg gnome
# pacman -S –group gnome
gnome baobab
gnome empathy
gnome eog
gnome epiphany
gnome evince
gnome gdm
gnome gnome-backgrounds
gnome gnome-calculator
gnome gnome-contacts
gnome gnome-control-center
gnome gnome-desktop
gnome gnome-dictionary
gnome gnome-disk-utility
gnome gnome-font-viewer
gnome gnome-icon-theme
gnome gnome-icon-theme-extras
gnome gnome-icon-theme-symbolic
gnome gnome-keyring
gnome gnome-screenshot
gnome gnome-session
gnome gnome-settings-daemon
gnome gnome-shell
gnome gnome-shell-extensions
gnome gnome-system-log
gnome gnome-system-monitor
gnome gnome-terminal
gnome gnome-themes-standard
gnome gnome-user-docs
gnome gnome-user-share
gnome grilo-plugins
gnome gucharmap
gnome mousetweaks
gnome mutter
gnome nautilus
gnome sushi
gnome totem
gnome tracker
gnome vino
gnome xdg-user-dirs-gtk
gnome yelp
RedHat / CentOS
# yum groupinfo “PHP Support”
Loaded plugins: downloadonly, fastestmirror
Setting up Group Process
Loading mirror speeds from cached hostfile

Group: PHP Support
 Description: PHP web application framework.
 Mandatory Packages:
   php
 Default Packages:
   php-gd
   php-pdo
   php-pear
   php-xml
 Optional Packages:
   php-ldap
   php-mysql
   php-odbc
   php-pecl-apc
   php-pecl-memcache
   php-pgsql
   php-soap
   php-xmlrpc

移除套件
# pacman -Rc
# pacman -R –cascade   remove packages and all packages that depend on them
# pacman -Rd
# pacman -R –nodeps  skip dependency version checks (-dd to skip all checks)
# pacman -Ru
# pacman -R –unneeded  remove unneeded packages

# pacman -R 套件名稱
Debian / Ubuntu
# apt-get remove 套件名稱
# dpkg -r 套件名稱
RedHat / CentOS
# yum remove 套件名稱
# rpm -e 套件名稱

移除套件及其相依性套件
# pacman -R –recursive 套件名稱
# pacman -Rs 套件名稱

移除套件但不移除相依性的套件
# pacman -Rdd 套件名稱

移除套件也一併刪除設定檔
# pacman -Rn 套件名稱
# pacman -R –nosave 套件名稱
Debian / Ubuntu
# apt-get remove –purge 套件名稱
# dpkg -P 套件名稱

查詢已安裝的套件資訊
# pacman -Q –info dnsutils
# pacman -Qi dnsutils
Name           : dnsutils
Version        : 9.9.2.P2-2
Description    : DNS utilities: dig host nslookup
Architecture   : armv6h
URL            : http://www.isc.org/software/bind/
Licenses       : custom:ISC
Groups         : None
Provides       : None
Depends On     : openssl  krb5  idnkit  dnssec-anchors
Optional Deps  : None
Required By    : None
Optional For   : None
Conflicts With : None
Replaces       : bind-tools  host
Installed Size : 1857.00 KiB
Packager       : Arch Linux ARM Build System <builder+xu4@archlinuxarm.org>
Build Date     : Wed Jul 2 11:59:28 2014
Install Date   : Mon Sep 29 00:11:31 2014
Install Reason : Explicitly installed
Install Script : No
Validated By   : SHA256 Sum
RedHat / CentOS
# rpm -qi 套件名稱

套件安裝位置
# pacman -Q –list dnsutils
# pacman -Ql dnsutils
dnsutils /usr/
dnsutils /usr/bin/
dnsutils /usr/bin/dig
dnsutils /usr/bin/host
dnsutils /usr/bin/nslookup
dnsutils /usr/share/
dnsutils /usr/share/licenses/
dnsutils /usr/share/licenses/dnsutils/
dnsutils /usr/share/licenses/dnsutils/LICENSE
dnsutils /usr/share/man/
dnsutils /usr/share/man/man1/
dnsutils /usr/share/man/man1/dig.1.gz
dnsutils /usr/share/man/man1/host.1.gz
dnsutils /usr/share/man/man1/nslookup.1.gz
Debian / Ubuntu
# dpkg -L 套件名稱
RedHat / CentOS
# rpm -ql 套件名稱
# repoquery –verbose -l 套件名稱

列出系統中已安裝的套件
# pacman -Q –search
# pacman -Qs
# pacman -Qs | grep local | awk -F’/’ ‘{print $2}’
Debian / Ubuntu
# dpkg -l
# dpkg -l | grep ^ii | awk ‘{print $2}’
RedHat / CentOS
# rpm -qa

查詢系統有無安裝特定的套件
# pacman -Qs vim
# pacman -Qs vim | grep local | awk -F’/’ ‘{print $2}’
vim 7.4.473-1
vim-runtime 7.4.473-1
# pacman -Qs vim | grep local | awk -F’/’ ‘{print $2}’ | awk ‘{print $1}’
vim
vim-runtime
Debian / Ubuntu
# dpkg -l | grep vim
RedHat / CentOS
# rpm -qa | grep vim

查詢未安裝的套件資訊
# pacman -Si ncftp
Repository     : extra
Name           : ncftp
Version        : 3.2.5-4
Description    : A set of free application programs implementing FTP
Architecture   : armv6h
URL            : http://www.ncftp.com/
Licenses       : custom
Groups         : None
Provides       : None
Depends On     : ncurses
Optional Deps  : None
Conflicts With : None
Replaces       : None
Download Size  : 198.77 KiB
Installed Size : 997.00 KiB
Packager       : Arch Linux ARM Build System <builder+xu4@archlinuxarm.org>
Build Date     : Fri Mar 7 21:14:08 2014
Validated By   : MD5 Sum  SHA256 Sum  Signature
RedHat / CentOS
# rpm -qpi ncftp

查詢檔案是屬於哪一個套件
# pacman -Q –owns /etc/vimrc
# pacman -Qo /etc/vimrc
/etc/vimrc is owned by vim-runtime 7.4.459-1
RedHat / CentOS
# rpm -qf /etc/vimrc
Debian / Ubuntu
# dpkg-query -S /etc/vimrc

列出系統中用不到的套件
# pacman -Qdt
libgssglue 0.4-2

移除安裝或更新套件時下載的安裝檔
清除 /var/lib/pacman/var/cache/pacman/pkg 目錄
# 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…
Debian / Ubuntu
# apt-get clean all
# apt-get autoclean
RedHat / CentOS
# yum clean all

pacman 版本資訊
# pacman -V

 .–.                  Pacman v4.1.2 – libalpm v8.0.2
/ _.-‘ .-.  .-.  .-.   Copyright (C) 2006-2013 Pacman Development Team
  ‘-. ‘-‘  ‘-‘  ‘-‘   Copyright (C) 2002-2006 Judd Vinet
 ‘–‘
                       This program may be freely redistributed under
                       the terms of the GNU General Public License.