1.apt命令详解
2.debian系如何把已经安装的命令码某个程序还原为deb?
3.debian(deepin)编译内核支持中文显示
4.理解树莓派软件源与 apt,一篇文章就够了
5.debian9的源码源代sources.list的配置
6.实例讲解Debian系的Linux中软件包的安装与管理命令用法
apt命令详解
apt, Debian和Ubuntu的得力助手,它是命令码一套强大的Shell包管理工具,用于操控系统的源码源代软件安装、升级和卸载。命令码进行这些操作时,源码源代snappy 源码系统需要root权限。命令码核心配置文件<strong>/etc/apt/sources.list</strong>存储了默认的源码源代镜像源,但对于海外用户来说,命令码国内的源码源代镜像源如、阿里云等通常更为便捷。命令码 要切换镜像源,源码源代有两种方案可供选择:利用sed命令,命令码替换原有的源码源代源地址,例如:
<strong>sed -i 's/deb \/.../deb \/.../' /etc/apt/sources.list</strong>
直接编辑sources.list,命令码添加新的镜像源,如源:
<strong>deb /debian/ [发行版名称] main non-free contrib ...</strong>
理解镜像源的结构至关重要:deb/deb-src:分别对应安装包和源代码包。
第二、三个字段定义了软件库位置和操作系统版本,售后服务app源码如stretch, bullseye等。
Debian版本包括bookworm、buster和stretch等,旧版本可能存档但仍可供选择。
apt通常以apt-get命令为基础,但apt封装了更多实用功能。比如,apt install安装软件,可以指定参数如-y自动确认,视频编解码源码分析-f用于修复依赖。卸载包用remove --purge,清理缓存则用clean。保持源的更新用update,推荐仅升级已安装包的install --only-upgrade。 更换源后,确保执行update以获取新的软件包。安装特定版本的软件,例如包名,提取安装包源码可以这样操作:apt-get -y install 包名 [{ =pkg_version_number | /target_release}]。想深入了解apt-get的详细命令和用法,查阅man apt-get是不二之选。 想获取更多技术文章和实用技巧,不妨关注我们的公众号“程序员麻辣烫”(<strong>ponent软件仓库类型main - 包含符合DFSG标准的软件,不依赖外界软件包,是Debian唯一默认的一部分。
contrib - 包含符合DFSG标准的软件,但不具有主要的租房带源码的模式依赖关系(可能为非免费的Debian打包)。
non-free - 包含不符合DFSG的软件。
安装版本为测试版,配置官方源和中国科技大学源,也可根据实际需求配置源。首先注销或删除从CD获取的源,配置sources.list前备份一份。配置代码网上可随意搜索。以下是我配置的所有内容。
实例讲解Debian系的Linux中软件包的安装与管理命令用法
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 mysql2024-11-27 19:59
2024-11-27 19:57
2024-11-27 19:56
2024-11-27 19:54
2024-11-27 19:20
2024-11-27 19:19
2024-11-27 18:11
2024-11-27 17:57