General——各种包的管理总结


编程语言相关

Package client Language Package format Description
npm JavaScript package.json Node package manager
gem Ruby Gemfile RubyGems package manager
mvn Java pom.xml Apache Maven project management and comprehension tool
gradle Java build.gradle or build.gradle.kts Gradle build automation tool for Java
docker N/A Dockerfile Docker container management platform
nuget .NET nupkg NuGet package management for .NET
pip Python requirements.txt use pip install -r requirements.txt

操作系统

软件管理方式 线下安装命令 线上安装命令 distribution 操作系统
RPM rpm, rpmbuild yum Red Hat/Fedora
DPKG dpkg apt, apt-get Debian/Ubuntu

rpm和dpkg常用命令总结

操作描述 rpm dpkg
安装指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb
显示所有已安装的套件名称 rpm -qa dpkg -l
显示套件包含的所有档案 rpm -ql [softwarename] dpkg -L [softwarename]
显示特定档案所属套件名称 rpm -qf [/path/to/file] dpkg -S [/path/to/file]
显示制定套件是否安装 rpm -q [softwarename] dpkg -l [softwarename], -s或-p显示详细咨询, -l只列出简洁咨询
移除指定套件 rpm -e [softwarename] dpkg -r softwarename, -r 留下套件设定, -P完全移除

apt和yum常用命令总结

操作描述 yum apt
软件源配置文件路径 /etc/yum.conf /etc/apt/sources.list
安装软件包 yum install [package] apt-get install [package]
删除软件包 yum uninstall [package] apt-get remove [package]
删除有依赖关系的软件包和配置文件 yum uninstall [package] apt-get autoremove [package] –purge
查看安装包信息 yum info [package] apt-cache show [package]
更新软件包列表 yum update apt-get update
清空缓存 yum clean apt-get clean
搜索包名 yum apt-cahce search

一些特殊命令

apt

  • 列出所有可用包名

    1
    apt-cache pkgnames
  • 通过描述列出包名

    1
    apt-cache search [keys]
  • 指定包的版本号

    1
    apt-get install [package]=[version]

yum

  • 搜索包的可用版本

    1
    yum --showduplicates list [package] | expand
    • expand命令用于将文件的制表符tab转换成空格符space
      • 默认一个tab对应8个space
      • 若不指定文件名(或者文件名为-), 则expand会从标准输入读取数据
    • unexpand命令与expand相反
  • 安装时指定包的版本号

    1
    yum install [package]-[version]

yum和apt安装的常用参数

  • -y: 指定在询问是否安装时均选择yes
  • -q: quiet,安装途中不打印log信息