作为Linux系统入门的第一篇文章,本篇绝大多数内容对新手来说,确实是非常的不友好。但是我还是想以这种方式写下去,原因很简单,对于工科而言,不是要我们掌握多少基础理论知识,而是
重在实践!!!!-----bike
RPM包与Source Code
对于linux系统而言,我们以常用的开源centos为例。有RPM包和源码包两种。其中RPM(Redhat Package Manager)原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用,RPM包一般都是以.rpm结尾,是以二进制(binary)形式的包,可以直接安装进系统中;源码包就是我们常见的高级语言写成的项目代码,因为是高级语言写的,所以我们的计算机是完全看不懂的,需要我们自己进行编译安装。
详解RPM
1.关于RPM包,你需要知道
wget-1.14-15.el7.x86_64.rpm:这是一个linux下的一个比较常用的软件,功能类似迅雷。嗯嗯,重点现在不在功能上,我们来看这个包,它大致上分为5个部分:wget,软件包的名字;1.14-15,是软件的版本号el7,指的是发布版本enterprise linux 7;x86_64,系统位数;rpm,rpm包的后缀。
2.RPM包管理的两种方式:yum和rpm
2.1 yum工具
Yum(Yellow dog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
2.1.1 准备一个centos系统,关于如何安装centos请自行百度,因为过于简单,不做赘述。
2.1.2 开机之前请确保已经将虚拟机设置-->CD/DVD按下图设置成功
2.1.3 开机,并以root账号登入centos系统
2.1.4 配置本地yum源以及使用
# 进入yum源目录
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls -l
# 以下是ls -l命令查看到的系统初始yum源
# 总用量 32
# -rw-r--r--. 1 root root 1664 9月 5 2019 CentOS-Base.repo
# -rw-r--r--. 1 root root 1309 9月 5 2019 CentOS-CR.repo
# -rw-r--r--. 1 root root 649 9月 5 2019 CentOS-Debuginfo.repo
# -rw-r--r--. 1 root root 314 9月 5 2019 CentOS-fasttrack.repo
# -rw-r--r--. 1 root root 630 9月 5 2019 CentOS-Media.repo
# -rw-r--r--. 1 root root 1331 9月 5 2019 CentOS-Sources.repo
# -rw-r--r--. 1 root root 6639 9月 5 2019 CentOS-Vault.repo
[root@localhost yum.repos.d]# tar -cvf repo.tar * # 打包备份系统初始yum源,方便后续的恢复
[root@localhost yum.repos.d]# ls -l # 检查tar命令执行情况
# 总用量 52
# -rw-r--r--. 1 root root 20480 12月 6 00:21 repo.tar
[root@localhost yum.repos.d]# mv repo.tar /tmp/ # 移动到其他目录
[root@localhost yum.repos.d]# rm -rf * # 删除当前目录下的所有文件
[root@localhost yum.repos.d]# vim local.repo # 自定义本地yum源
# 写入以下内容:
[local]
name=LocalRepository
baseurl=file:///mnt/cdrom
gpgcheck=0
#### 对上述内容的解释 ####
[local] # yum源的名称
name=LocalRepository # 描述
baseurl=file:///mnt/cdrom # 下载地址
gpgcheck=0 # 关闭效验
#############################
[root@localhost yum.repos.d]# mkdir /mnt/cdrom # 新建系统光盘挂载目录
[root@localhost yum.repos.d]# vim /root/.bashrc
# 写入以下内容:
mount /dev/cdrom /mnt/cdrom
#############################
[root@localhost yum.repos.d]# reboot # 重启系统
[root@localhost ~]# ls /mnt/cdrom/
# 以下是ls命令查看到的系统盘内容
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
############################
[root@localhost ~]# yum -y install httpd # 安装Apache软件来证明yum命令没有错误
[root@localhost ~]# systemctl start httpd # 启动Apache软件
[root@localhost ~]# systemctl stop firewalld # 关闭防火墙
在虚拟机浏览器中输入127.0.0.1或在虚拟机联网情况下直接在本机浏览器输入虚拟机ip,如果可以看到如下画面,则Apache安装成功。
2.1.5 配置其他yum源(以163yum源为例)
请确保在进行此操作前虚拟机是联网状态
[root@localhost yum.repos.d]# yum install wget -y
[root@localhost yum.repos.d]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
[root@localhost yum.repos.d]# yum repolist
# 已加载插件:fastestmirror
# Loading mirror speeds from cached hostfile
# 源标识 源名称 状态
# base/7/x86_64 CentOS-7 - Base - 163.com 10,072
# extras/7/x86_64 CentOS-7 - Extras - 163.com 448
# updates/7/x86_64 CentOS-7 - Updates - 163.com 775
# repolist: 11,295
2.1.6 yum方式管理RPM包
安装:yum install [软件名]
查看:yum list [软件名] # 其中后面带@的为已安装的软件 || yum repolist # 查看yum源
卸载:yum remove [软件名]
更新:yum update [软件名] # 后面带软件名就是更新软件,不带就是更新系统
2.2 rpm工具
管理红帽系统/centos系统,rpm包的基本工具,与YUM功能相同。优点不需要配置,可以直接使用;缺点也很明显,无法解决依赖关系,无法自行下载软件包。 2.2.1 基本使用命令
安装:rpm -ivh [软件名] # 此处的软件名一定要是全名,以.rpm结尾的这种
查看:rpm -q [软件名] # 若没有安装不返回任何结果
卸载:rpm -evh [软件名]
3.源码包管理
安装之前,我们需要到对应软件的官网去下载源码包,下面以tengine为例,进行说明:
注意:tengine、httpd、nginx是同类型产品,不可以在一台机子上同时开启,所以装tengine前请先将其他web服务关闭!!!
[root@localhost ~]# wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz # 下载源码包
[root@localhost ~]# tar -xf tengine-2.3.2.tar.gz # 解压缩
[root@localhost ~]# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel # 为软件安装提供编译环境
[root@localhost ~]# cd tengine-2.3.2
[root@localhost tengine-2.3.2]# ./configure --prefix=/usr/local/tengine # 配置,指定安装目录
[root@localhost tengine-2.3.2]# make # 编译
[root@localhost tengine-2.3.2]# make install # 安装
[root@localhost sbin]# /usr/local/tengine/sbin/nginx # 启动
[root@localhost ~]# systemctl stop firewalld # 关闭防火墙
在虚拟机浏览器中输入127.0.0.1或在虚拟机联网情况下直接在本机浏览器输入虚拟机ip,如果可以看到如下画面,则Tengine安装成功。
后续会进行补充和修改