一、包管理
- 包管理系统利用一个数据库来记录各种相关内容
- 系统上安装了什么软件包
- 每个包安装了什么文件
- 每个已安装软件包的版本
- 包管理系统会检测依赖关系,并在安装需要的包之前,先安装好所依赖的软件包
- 基于Debian的发行版使用
dpkg
命令与包管理系统交互,基于Red Hat的发行版使用rpm
命令
二、基于Debian系统
- dpkg是底层的包管理工具,
apt
是基于dpkg
的高级工具。
- 更新包管理器的源列表
apt update
- 作用:同步系统中的软件源列表,确保从服务器获取最新的软件包信息。
- 执行时不会真正安装或更新软件,只更新包索引。
- 升级所有包
apt upgrade
- 更新所有已安装的软件包到当前源中最新版本,但不移除现有软件或安装新软件。
- 完整升级
apt full-upgrade
,除了升级包,还会根据需要移除或安装其他依赖。
- 搜索软件包
apt search 包名
- 安装软件
apt install 包名
- 安装指定的软件包,并处理相关依赖。
- 安装指定版本
apt install <包名>=<版本号>
- 普通卸载
apt remove 包名
- 删除软件本身,但保留配置文件和数据。
- 完全卸载:
apt purge <包名>
- 列出可用的包
apt list
- 列出指定的包
apt list 包名
- 列出已安装的软件
apt list --installed
- 列出可升级的软件
apt list --upgradable
- 显示详细包信息
apt show 包名
- 删除不需要的依赖
apt autoremove
三、基于Red Hat的系统
rpm
是底层的包管理工具,yum
等是基于rpm
的高级工具。
3.1 yum使用
- 列出已安装包
yum list installed
- 列出某个包的具体信息
yum list 包名
- 查看包是否安装
yum list installed 包名
- 找出系统上的某个特定文件属于哪个软件包
yum provides file_name
- yum会分别查找三个仓库:base、updates和installed,然后寻找匹配项。
- 安装软件
yum install 包名
- 手动下载rpm安装文件并用yum安装
yum localinstall 包名.rpm
- 列出所有已安装包的可用更新
yum update 包名
- 只删除软件包但是保留配置文件和数据文件
yum remove 包名
- 损坏的包依赖关系:在安装多个软件包时,某个包的依赖关系可能会被另一个包的安装覆盖。
- 第一种方法:先
yum clean all
,然后yum update
,有时,是文件放错了位置。
- 第二种方法:
yum deplist 包名
查看指定包依赖关系。通过这条命令,可以了解一个软件包在安装时需要的其他库或工具,以及哪些软件包可以提供这些功能。
- 第三种方法:
yum update --skip-broken
,这可能救不了损坏的包,但是可以更新其他的包
四、从源码安装包
- 先下载包,通常是
包.tar.gz
- 解压包
tar -zxvf 包.tar.gz
- 然后cd进入解压后的目录
- 其中通常有README文件,通常会介绍软件安装的操作
./configure
,检查依赖
- 使用make命令构建各种二进制文件
- make命令会编译源码,然后链接器会为这个包创建最终的可执行文件
- 然后使用
make install
,这个命令的作用是将当前生成的各种二进制文件拷贝一份到/usr/bin
中,又因为/usr/bin
通常是在PATH
中的,所以在任何路径下,都可以直接使用可执行程序了。
- 使用这个命令后,就可以把当前的文件夹删除了
- 不使用这个命令也ok,但是每次使用命令时,都要带上路径才能使用(因为不在
PATH
环境变量中)。
« 上一篇:
文件系统
» 下一篇:
vim编辑器
posted @
2024-11-23 11:03
ouyangxx
阅读(
23)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理