软件包分类
源码包(提供开源软件代码)
脚本安装(为源码包写一个安装界面)
二进制包(经过编译后的rpm包、系统默认包——类似于Windows中的.exe)
red hat为.rpm; debian为.deb。
distribution代表 | 软件管理机制 | 使用命令 | 在线升级机制(命令) |
---|---|---|---|
red hat/fedora | RPM | rpm,rpmbuild | YUM(yum) |
Debian/Ubuntu | DPKG | dpkg | APT(apt-get)16.04 |
源码包的优点:
- 开源,可修改源代码
- 可自由选择所需功能
- 软件是编译安装,更加适合自己的系统,更加稳定
- 卸载方便(直接删除安装目录)
源码包的缺点:
- 安装过程步骤较多
- 编译时间比安装二进制包长
- 因为是编译安装,安装过程中一旦报错新手很难解决
二进制包的优点:
- 包管理系统简单,通过几个命令就可以实现安装、升级、查询、卸载
- 安装速度快
二进制包的缺点:
- 看不到源代码
- 功能选择不如源码包灵活
- 包依赖性问题解决繁琐
安装位置
rpm包安装位置(默认)
目录 | 注解 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行命令安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
源码包安装位置(一般)
目录 | 注释 |
---|---|
/usr/local/软件名 | 一般用户安装位置 |
安装位置不同带来的影响(服务的管理方法不同)
rpm包安装的服务可以使用系统服务管理,命令service来管理
如rpm安装的apache的启动方式:
- /etc/rc.d/init.d/httpd start
- service httpd start
源码包安装只能使用绝对路径来管理;service对其不起作用
RPM特性与安装命令
RPM包依赖性
- 树形依赖
- 环形依赖
- 模块依赖(查询网站:www.rpmfind.net)
rpm安装
1 | rpm -ivh 包全名 |
rpm升级
1 | rpm -Uvh 包全名 |
rpm卸载
1 | rpm -e 包名 |
others
1 | rpm -q 包名 查询是否安装 |
YUM在线管理
- 解决rpm包繁琐的依赖性问题
- 可在无网络环境下用cd解决yum源问题
查询
1 | yum list |
安装
1 | yum -y install 包名 -y自动回答yes |
升级
1 | yum -y update 包名 |
卸载
1 | yum -y remove 包名 |
yum软件组管理命令
1 | yum grouplist |
注:yum的问题
- yum -y install更新系统内核,会导致系统启动不了,不能在远程机上执行
- yum卸载若有系统相关依赖包,会导致系统异常(尽量不要卸载)
源码包安装
安装准备
- 安装gcc编译器
- 下载源码包
注意事项
- 源代码保存位置:/usr/local/src
- 软件安装位置:/usr/local/src
- 如何确定安装过程报错
- 安装过程停止
- 并出现error、warning、not提示
安装过程
make 编译
make clean 清空出错的编译文件
make install 编译安装源码包卸载
直接删除软件目录,如: rm -rf /usr/local/apache2/
Debian之Ubuntu软件安装
ubuntu16.04
版本后apt-get
可简化写为apt
在线安装apt-get
安装
1
sudo apt-get install 包名
卸载
1
sudo apt-get remove 软件名
软件列表的更新
1
2sudo apt-get update
ps:软件列表是ubuntu提供的可安装程序的所有链接;一般在安装之前先更新一下清空缓存
1
2sudo apt-get clean 清空在线安装缓存在本地的安装包
位置: /var/cache/apt/archives/
软件包的安装(*.deb格式)
安装
1
sudo dpkg -i 包全名
卸载
1
sudo dpkg -r 软件名