与Windows系统类似,Linux系统上也可以安装各种应用程序,称为软件包。Linux中软件包分为三类:
分类 | 安装 | 特点 |
---|---|---|
rpm包 | 预先编译打包,安装简单 | 通常软件的稳定版本会被官方做成rpm包,所以软件版本偏低 |
源码包 | 手动编译打包,安装繁琐 | 软件版本丰富,可选择性强 |
二进制包 | 解压即可使用 | 不能修改原代码 |
对于源码,如果是解释性语言(shell,python等)编写的源码包,需要:
如果是编译型语言(c,go等)编写的源码包,需要:
1. 下载源码包
1. 在自己的Linux主机上安装好编译器
1. 用编译器把源码包编译成可执行的命令
RPM包介绍
RPM 是Red-Hat Package Manager(RPM软件包管理器)的缩写,起源于RedHat,但其原始设计理念是开放式的,适用于 redhat / centos / redora / suse 。
RPM包的获取方式
安装
1 | rpm -ivh [RPM包名全称] |
升级
1 | rpm -Uvh [RPM包名] |
卸载
1 | rpm -e [RPM包名] |
查询
1 | rpm -q [包名] # 查询某个RPM包是否已安装 |
1 | rpm -qi [RPM包名] # 查询指定RPM包的描述信息 |
1 | 在上述命令中加上 -p 选项,能够查看未安装RPM软件包的信息 |
yum是一个存放了所有相关RPM软件包的文件夹,称为yum仓库。
查询
1 | yum repolist # 查看可用仓库 |
1 | yum repolist all # 查看所有仓库状态,包括启用和禁用状态的仓库 |
1 | yum list # 查看可用仓库中的所有软件包 |
1 | yum grouplist # 查看可用仓库中的所有软件包组 |
1 | yum provides [路径/命令名] # 查看命令所属的软件包 |
安装
1 | yum install [包名] # 安装软件包 |
1 | yum groupinstall [软件组名] -y # 非交互式安装软件包组 |
重装
1 | yum reinstall [包名] # 重装软件包,通常在配置文件损坏时重装,谨慎操作 |
更新
1 | yum check-update # 检查软件包是否有更新 |
1 | yum update -y # 更新所有已安装软件包,通常刚装完系统之后更新。 |
缓存
1 | yum makecache # 制作元数据缓存 |
yum的一个配置文件/etc/yum.conf
,在文件中设置keepcache=1,即开启了软件包缓存,缓存目录为cachedir指定的目录。
卸载
1 | yum remove [包名] -y # 非交互式卸载软件包 |
1 | yum groupremove [软件组名] -y # 非交互式卸载软件包组 |
历史记录
1 | yum history # 显示历史yum操作记录,会记录每条yum操作的id号、时间、具体操作、执行人和变更文件数 |
1 | yum history info [id] # 查看某条操作的详细信息 |
yum源有两种:
本地源:把本地的一个文件夹做成了yum源
网络源:
1 | vim /etc/yum.conf # 编辑yum配置文件添加以下内容 |
创建本地源方式1:
自己采集一系列软件包放在一个本地目录下
在此目录下创建仓库
1 | yum install createrepo # 安装createrepo命令 |
创建本地源方式2:
挂载
1 | mount /dev/sr0 /opt # 把一个含有rpm包的镜像文件或光驱挂载到一个目录下,此处镜像文件是/dev/sr0,挂载到了/opt目录下 |
进入本地目录/etc/yum.repos.d
,再次目录下创建文件local.repo
1 | cd /etc/yum.repos.d |
添加内容
1 | [local] # 本地yum源的名字 |
网上下载一个配置文件即可,比如:
1 | wget -0 /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
1 | yum install yum-plugin-priorities # 安装yum优先级插件 |
下载源码并解压
1 | wget [下载地址] |
预先安装编译器,安装依赖库
1 | yum -y install gcc gcc-c++ autoconf automake make |
生成配置文件
1 | cd [源码包目录] |
此过程中如果报错,需要执行make clean all
,清理出错文件,然后再安装好提示的依赖库,然后重新执行生成配置文件的步骤
编译安装
1 | make && make install |
清理安装包