2.linux安装与包管理
Linux 安装与软件包管理
1. 硬盘分区布局
1.1 标准目录结构
1 | /home # 普通用户文件存储目录 |
2. 引导加载程序(GRUB)
2.1 传统GRUB (GRUB Legacy)
1 | grub-install /dev/sda # 安装GRUB到指定设备 |
配置文件关键参数(/boot/grub/menu.lst):
1 | timeout # 等待用户选择的时间(秒) |
2.2 GRUB2 (现代Linux默认使用)
1 | update-grub2 # 更新GRUB2配置 |
配置文件(/etc/default/grub):
1 | GRUB_DEFAULT # 默认启动项 |
3. 共享库管理
3.1 基本概念
- 共享库(Shared Library): 通过动态链接方式被多个程序共同使用的库文件
- 命名规则:
lib*.so*
(如libc.so.6
)
3.2 常用命令
1 | ldd /bin/ls # 查看二进制文件依赖的共享库 |
3.3 共享库搜索顺序
- 可执行文件中的DT_RPATH或DT_RUNPATH段
- 环境变量
LD_LIBRARY_PATH
指定的路径 /etc/ld.so.cache
缓存中的路径(除非使用-z nodeflib
选项)- 默认路径
/lib
和/usr/lib
(除非使用-z nodeflib
选项)
3.4 添加自定义库路径
1 | # 临时添加(当前会话有效) |
4. Debian系包管理(Debian/Ubuntu等)
4.1 包命名格式
1 | tree_1.5.3-1_i386.deb |
4.2 dpkg命令(底层工具)
1 | dpkg -i package.deb # 安装包 |
4.3 apt-get命令(高级工具)
1 | apt-get update # 更新包数据库 |
4.4 软件源配置(/etc/apt/sources.list)
1 | deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse |
- 类型:
deb
(二进制包)或deb-src
(源代码包) - 组件:
main
: 官方支持的免费软件contrib
: 非自由软件但有自由依赖non-free
: 有分发限制的软件
4.5 apt-cache命令(查询工具)
1 | apt-cache search keyword # 搜索包 |
4.6 aptitude命令(交互式工具)
1 | aptitude update # 更新包列表 |
5. RedHat系包管理(RHEL/CentOS/Fedora)
5.1 rpm命令(底层工具)
1 | rpm -ivh package.rpm # 安装包(-v:详细,-h:进度条) |
5.2 rpm文件提取
1 | rpm2cpio package.rpm | cpio -idv # 提取rpm包内容 |
5.3 yum命令(高级工具)
1 | yum install package # 安装包 |
5.4 下载rpm包
1 | yumdownloader package # 下载rpm包不安装 |
5.5 zypper命令(SUSE系统)
1 | zypper install package # 安装包 |
6. 软件包管理对比
功能 | Debian系(apt) | RedHat系(yum) | SUSE系(zypper) |
---|---|---|---|
安装包 | apt-get install | yum install | zypper install |
移除包 | apt-get remove | yum remove | zypper remove |
更新系统 | apt-get upgrade | yum update | zypper update |
搜索包 | apt-cache search | yum search | zypper search |
显示包信息 | apt-cache show | yum info | zypper info |
清理缓存 | apt-get clean | yum clean | zypper clean |