分享

msys2软件包管理工具pacman经常使用命令

 托尼虎 2022-04-20

pacman是arclinux中的软件管理工具,也是widows上msys2默认的软件管理工具。pacman能够直接从网络上的软件仓库下载安装及删除软件,自动处理依赖关系,相似ubuntu中的apt-get。php

安装软件

  • pacman -S 软件名: 安装软件。也能够同时安装多个包,只需以空格分隔包名便可。
  • pacman -S --needed 软件名1 软件名2: 安装软件,但不从新安装已是最新的软件。
  • pacman -Sy 软件名:安装软件前,先从远程仓库下载软件包数据库(数据库即全部软件列表)。
  • pacman -Sv 软件名:在显示一些操做信息后执行安装。
  • pacman -Sw 软件名: 只下载软件包,不安装。
  • pacman -U 软件名.pkg.tar.gz:安装本地软件包。
  • pacman -U http://www./repo/example.pkg.tar.xz: 安装一个远程包(不在 pacman 配置的源里面)。

更新系统

  • pacman -Sy: 从服务器下载新的软件包数据库(实际上就是下载远程仓库最新软件列表到本地)。
  • pacman -Su: 升级全部已安装的软件包。

pacman 能够用一个命令就能够升级整个系统。花费的时间取决于系统有多老。这个命令会同步非本地(local)软件仓库并升级系统的软件包:linux

pacman -Syu

在msys2中 pacman -Syu后须要重启一下msys2(关掉shell从新打开便可)。web

在Arch linux中,只支持系统完整升级,不支持部分升级。因此即便在msys2中,pacman -Syu也会升级整个系统。能够观察一下,即便新安装的msys2,pacman -Syu后,msys2安装目录占用空间立马变大不少。shell

若是升级时,网络比较慢,以为既浪费时间又浪费硬盘,实在不想升级那么多东西,能够逐个软件包升级。用下面命令能够升级核心包:数据库

pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl

卸载软件

  • pacman -R 软件名: 该命令将只删除包,保留其所有已经安装的依赖关系
  • pacman -Rv 软件名: 删除软件,并显示详细的信息
  • pacman -Rs 软件名: 删除软件,同时删除本机上只有该软件依赖的软件。
  • pacman -Rsc 软件名: 删除软件,并删除全部依赖这个软件的程序,慎用
  • pacman -Ru 软件名: 删除软件,同时删除再也不被任何软件所须要的依赖

搜索软件

  • pacman -Ss 关键字: 在仓库中搜索含关键字的软件包(本地已安装的会标记)
  • pacman -Sl <repo>:
    • 显示软件仓库中全部软件的列表
    • 能够省略,一般这样用:pacman -Sl | 关键字
  • pacman -Qs 关键字: 搜索已安装的软件包
  • pacman -Qu: 列出全部可升级的软件包
  • pacman -Qt: 列出不被任何软件要求的软件包

参数加q能够简洁方式显示结果,好比pacman -Ssq gcc会比pacman -Ss gcc显示的好看一些。ubuntu

pacman -Sl | gccpacman -Ssq gcc很接近,可是会少一些和gcc有关但软件名不包含gcc的包。缓存

查询软件信息bash

  • pacman -Q 软件名: 查看软件包是否已安装,已安装则显示软件包名称和版本
  • pacman -Qi 软件名: 查看某个软件包信息,显示较为详细的信息,包括描述、构架、依赖、大小等等
  • pacman -Ql 软件名: 列出软件包内全部文件,包括软件安装的每一个文件、文件夹的名称和路径

软件包组

  • pacman -Sg: 列出软件仓库上全部的软件包组
  • pacman -Qg: 列出本地已经安装的软件包组和子包
  • pacman -Sg 软件包组: 查看某软件包组所包含的全部软件包
  • pacman -Qg 软件包组: 和pacman -Sg 软件包组彻底同样

不少人建议经过安装软件组来安装工具链,例如:服务器

  • pacman -S mingw-w64-x86_64-toolchain
  • pacman -S mingw-w64-i686-toolchain
  • pacman -S mingw-w64-x86_64-qt5
  • pacman -S base-devel

可是这样比较浪费空间。实际上若是把gcc, qt, clang等安装上,msys2就要占掉超过10G的硬盘空间,因此我的不多直接安装软件组。网络

清理缓存

  • pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录。
  • pacman -Scc:清理全部的缓存文件。

最经常使用的pacman命令小结

pacman命令较多,做为新手,将我的最经常使用的命令总结以下:

  • pacman -Syu: 升级系统及全部已经安装的软件。
  • pacman -S 软件名: 安装软件。也能够同时安装多个包,只需以空格分隔包名便可。
  • pacman -Rs 软件名: 删除软件,同时删除本机上只有该软件依赖的软件。
  • pacman -Ru 软件名: 删除软件,同时删除再也不被任何软件所须要的依赖。
  • pacman -Ssq 关键字: 在仓库中搜索含关键字的软件包,并用简洁方式显示。
  • pacman -Qs 关键字: 搜索已安装的软件包。
  • pacman -Qi 软件名: 查看某个软件包信息,显示软件简介,构架,依赖,大小等详细信息。
  • pacman -Sg: 列出软件仓库上全部的软件包组。
  • pacman -Sg 软件包组: 查看某软件包组所包含的全部软件包。
  • pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录。
  • pacman -Scc:清理全部的缓存文件。

参考文章

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多