操作系统 
首页 > 操作系统 > 浏览文章

实例讲解Debian系的Linux中软件包的安装与管理命令用法

(编辑:jimmy 日期: 2024/12/27 浏览:3 次 )

apt-get
用法:apt-get [选项] 命令 
 apt-get [选项] install|remove pkg1 [pkg2 ...] 
 apt-get [选项] source pkg1 [pkg2 ...] 
 
apt-get 是一个下载安装软件包的简单命令行接口。 
最常用的命令是update(更新) 
和install(安装)。 
 
命令: 
 update - 重新获取软件包列表 
 upgrade - 进行更新 
 install - 安装新的软件包 
 remove - 移除软件包 
 autoremove - 自动移除全部不使用的软件包 
 purge - 移除软件包和配置文件 
 source - 下载源码档案 
 build-dep - 为源码包配置编译依赖 
 dist-upgrade - 发行版升级, 参见 apt-get(8) 
 dselect-upgrade - 依照 dselect 的选择更新 
 clean - 清除下载的归档文件 
 autoclean - 清除旧的的已下载的归档文件 
 check - 检验是否有损坏的依赖 
 
选项: 
 -h 本帮助文件。 
 -q 输出到日志 - 无进展指示 
 -qq 不输出信息,错误除外 
 -d 仅下载 - 不安装或解压归档文件 
 -s 不实际安装。模拟执行命令 
 -y 假定对所有的询问选是,不提示 
 -f 尝试修正系统依赖损坏处 
 -m 如果归档无法定位,尝试继续 
 -u 同时显示更新软件包的列表 
 -b 获取源码包后编译 
 -V 显示详细的版本号 
 -c=? 阅读此配置文件 
 -o=? 设置自定的配置选项,如 -o dir::cache=/tmp

例:

复制代码代码如下:apt-cache search packagename搜索包

复制代码代码如下:apt-cache show packagename获取包的相关信息,如说明、大小、版本等

复制代码代码如下:apt-get install packagename安装包

复制代码代码如下:apt-get install packagename - - reinstall重新安装包

复制代码代码如下:apt-get -f install 修复安装"-f = --fix-missing"

复制代码代码如下:apt-get remove packagename 删除包

复制代码代码如下:apt-get remove packagename - - purge删除包,包括删除配置文件等

复制代码代码如下:apt-get update 更新源

复制代码代码如下:apt-get upgrade 更新已安装的包

复制代码代码如下:apt-get dist-upgrade升级系统

复制代码代码如下:apt-get dselect-upgrade 使用 dselect 升级

复制代码代码如下:apt-cache depends packagename了解使用依赖

复制代码代码如下:apt-cache rdepends packagename 是查看该包被哪些包依赖

复制代码代码如下:apt-get build-dep packagename安装相关的编译环境

复制代码代码如下:apt-get source packagename下载该包的源代码

复制代码代码如下:apt-get clean清理无用的包

复制代码代码如下:apt-get autoclean 清理无用的包

复制代码代码如下:apt-get check检查是否有损坏的依赖


pacman
Pacman 是一个 软件包管理器, 作为 ArchLinux发行版的一部分. 它最早由 Arch Linux 的 Judd Vinet开发. Pacman 可以解决安装过程中的依赖问题,自动下载并且安装所有需要的软件包。Pacman包管理器是Arch Linux的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。Pacman使得简单的管理与自定义软件包成为了可能,而不论他们来自于官方的Arch软件库或是用户自己创建的

复制代码代码如下:
[zhangy@BlackGhost ~]$ pacman -h

用法:  pacman <操作> [...]
操作:
 pacman {-h --help}       //帮助
 pacman {-V --version}   //查看版本
 pacman {-D --database} <选项> <软件包>  //pacman管理数据库选项
 pacman {-Q --query}    [选项] [软件包]    //查询安装包
 pacman {-R --remove}   [选项] <软件包>  //删除安装包
 pacman {-S --sync}     [选项] [软件包]      //安装安装包
 pacman {-U --upgrade}  [选项] <文件>   //更新安装包

使用 'pacman {-h --help}' 及某个操作以查看可得的选项

复制代码代码如下:
[zhangy@BlackGhost ~]$ pacman -D --help

用法:  pacman {-D --database} <选项> <软件包> 
选项: 
 --asdeps         标记为非单独指定安装的软件包 
 --asexplicit     标记为单独指定安装的软件包 
 --config <路径>  指定另外的配置文件 
 --logfile <路径> 指定另外的日志文件 
 --noconfirm      不询问确认 
 --noprogressbar  下载文件时不显示进度条 
 --noscriptlet    不执行安装小脚本 
 -v, --verbose        循环执行 
 -- debug        显示除错信息 
 -r, --root <路径>    指定另外的安装根目录 
 -b, --dbpath <路径>  指定另外的数据库位置 
 --cachedir <目录> 指定另外的软件包缓存位置 
 --arch <架构>    设定另外的架构

复制代码代码如下:
[zhangy@BlackGhost ~]$ pacman -Q --help
 
用法:  pacman {-Q --query} [选项] [软件包] 
选项: 
 -c, --changelog      查看某软件包的更新日志 
 -d, --deps           列出所有作为依赖关系安装的软件包 [过滤器] 
 -e, --explicit       列出所有单独指定安装的软件包 [过滤器] 
 -g, --groups         查看某软件包组所属的所有软件包 
 -i, --info           查看软件包信息 (-ii 查看备份文件) 
 -k, --check          检查该软件包拥有的文件是否存在 
 -l, --list           列出被查询软件包的内容 
 -m, --foreign        列出没有在同步数据库时找到的已安装软件包 [过滤器] 
 -o, --owns <文件>     查询哪个软件包拥有  <文件> 
 -p, --file <软件包> 从某个软件包而不是数据库查询 
 -s, --search  搜寻符合指定字符串的已安装本地的软件包 
 -t, --unrequired     列出所有不被其他软件包要求的软件包 [过滤器] 
 -u, --upgrades       列出所有可升级的软件包 [过滤器] 
 -q, --quiet          在查询或搜索时显示较少的信息 
 --config <路径>  指定另外的配置文件 
 --logfile <路径> 指定另外的日志文件 
 --noconfirm      不询问确认 
 --noprogressbar  下载文件时不显示进度条 
 --noscriptlet    不执行安装小脚本 
 -v, --verbose        循环执行 
 -- debug        显示除错信息 
 -r, --root <路径>    指定另外的安装根目录 
 -b, --dbpath <路径>  指定另外的数据库位置 
 --cachedir <目录> 指定另外的软件包缓存位置 
 --arch <架构>    设定另外的架构

复制代码代码如下:
[zhangy@BlackGhost ~]$ pacman -R --help

用法:  pacman {-R --remove} [选项] <软件包> 
选项: 
 -c, --cascade        删除软件包及所有的依赖于此的软件包 
 -d, --nodeps         略过依赖关系检查 
 -k, --dbonly         只删除数据库记录,不删除文件 
 -n, --nosave         同时删除配置文件 
 -s, --recursive      同时删除 (不会破坏其他软件包的) 依赖关系(-ss·也包括单独指定安装的依赖关系) 
 -u, --unneeded       同时删除不需要的 (且不会破坏其他软件包的) 依赖关系 
 --print          仅打印目标而不执行操作 
 --print-format <字符串>指定如何打印目标 
 --config <路径>  指定另外的配置文件 
 --logfile <路径> 指定另外的日志文件 
 --noconfirm      不询问确认 
 --noprogressbar  下载文件时不显示进度条 
 --noscriptlet    不执行安装小脚本 
 -v, --verbose        循环执行 
 -- debug        显示除错信息 
 -r, --root <路径>    指定另外的安装根目录 
 -b, --dbpath <路径>  指定另外的数据库位置 
 --cachedir <目录> 指定另外的软件包缓存位置 
 --arch <架构>    设定另外的架构

复制代码代码如下:
[zhangy@BlackGhost ~]$ pacman -S --help

用法:  pacman {-S --sync} [选项] [软件包] 
选项: 
 --asdeps         作为非单独指定安装的软件包安装 
 --asexplicit     作为单独指定安装的软件包安装 
 -c, --clean          从缓存目录中删除旧软件包 (-cc 清除所有) 
 -d, --nodeps         略过依赖关系检查 
 -f,  -force          强制安装,覆盖存在冲突的文件 
 -g, --groups         查看某软件包组所属的所有软件包 
 -i, --info           查看软件包信息 
 -l, --list <软件库>    查看在该软件库中的软件包清单 
 -s, --search  按照指定字符串查询远端软件库 
 -u, --sysupgrade     升级所有已安装的软件包 (-uu 可启用降级) 
 -w, --downloadonly   下载但不安装/升级软件包 
 -y, --refresh        从服务器下载新的软件包数据库 
 --needed         不重新安装已经为最新的软件包 
 --ignore <软件包>   升级时忽略某个软件包 (可多次使用) 
 --ignoregroup <软件包组>升级时忽略某个软件包组 (可多次使用) 
 --print          仅打印目标而不执行操作 
 --print-format <字符串>指定如何打印目标 
 -q, --quiet          在查询或搜索时显示较少的信息 
 --config <路径>  指定另外的配置文件 
 --logfile <路径> 指定另外的日志文件 
 --noconfirm      不询问确认 
 --noprogressbar  下载文件时不显示进度条 
 --noscriptlet    不执行安装小脚本 
 -v, --verbose        循环执行 
 -- debug        显示除错信息 
 -r, --root <路径>    指定另外的安装根目录 
 -b, --dbpath <路径>  指定另外的数据库位置 
 --cachedir <目录> 指定另外的软件包缓存位置 
 --arch <架构>    设定另外的架构

复制代码代码如下:
[zhangy@BlackGhost ~]$ pacman -U --help

用法:  pacman {-U --upgrade} [选项] <文件> 
选项: 
 --asdeps         作为非单独指定安装的软件包安装 
 --asexplicit     作为单独指定安装的软件包安装 
 -d, --nodeps         略过依赖关系检查 
 -f,  -force          强制安装,覆盖存在冲突的文件 
 -k, --dbonly         添加数据库记录,不安装或保持现存文件 
 --print          仅打印目标而不执行操作 
 --print-format <字符串> 指定如何打印目标 
 --config <路径>  指定另外的配置文件 
 --logfile <路径> 指定另外的日志文件 
 --noconfirm      不询问确认 
 --noprogressbar  下载文件时不显示进度条 
 --noscriptlet    不执行安装小脚本 
 -v, --verbose        循环执行 
 -- debug        显示除错信息 
 -r, --root <路径>    指定另外的安装根目录 
 -b, --dbpath <路径>  指定另外的数据库位置 
 --cachedir <目录> 指定另外的软件包缓存位置 
 --arch <架构>    设定另外的架构

例1:
(1).安装或者升级单个软件包

复制代码代码如下:
pacman -S mysql

(2),有时候在不同的软件仓库中,一个软件包有多个版本(比如extra和community)。你可以选择一个来安装

复制代码代码如下:
pacman -S extra/mysql

(3),步包数据库并且安装一个软件包

复制代码代码如下:
pacman -Sy mysql

例2
删除包
(1),删除单个软件包,保留其全部已经安装的依赖关系

复制代码代码如下:
pacman -R mysql

(2),删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:

复制代码代码如下:
pacman -Rs mysql

例3
升级系统

复制代码代码如下:
pacman -Syu

例4
查询包
查询可用安装包

复制代码代码如下:
pacman -Ss mysql

要查询已安装的软件包:

复制代码代码如下:
pacman -Qs mysql

例5
其他用法
清理当前未被安装软件包的缓存

复制代码代码如下:
pacman -Sc

下载包而不安装

复制代码代码如下:
pacman -Sw mysql

上一篇:在Ubuntu系统中使用Git客户端来操作GitHub代码
下一篇:使用apt-mirror搭建Ubuntu软件源的实例教程