第十一章 软件包管理

184 阅读5分钟

@[TOC](第十一章 软件包管理)

实验⼀:使⽤rpm命令安装和查询软件包

实验⽬的

掌握rpm命令安装rpm软件包和软件包的各种查询功能。

前提准备

linux系统,centos6、centos7或ubuntu,连接网络。

实验步骤

1、rpm命令安装软件

【例1】安装tree-1.6.0-10.el7.x86_64.rpm

[root@Magedu ~]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

注意:使⽤rpm命令安装软件包是不能⾃动解决依赖关系的。

2、rpm命令查询软件

【例2】查询nginx软件安装后⽣成的所有⽂件

[root@Magedu ~]# rpm -ql nginx

【例3】查看httpd软件提供哪些能⼒

[root@Magedu ~]# rpm -q --provides httpd

【例4】查看server.xml⽂件是安装哪个软件包后⽣成的

[root@Magedu ~]# rpm -qf /etc/tomcat/server.xml

【例5】查看系统是否安装reids软件

[root@Magedu ~]# rpm -q redis

【例6】查询系统上安装的所有rpm软件包

[root@Magedu ~]# rpm -qa

实验⼆:使⽤虚拟机的光盘配置yum仓库源并使⽤yum命令安装软件包

实验⽬的

掌握使用虚拟机的光驱,添加光盘镜像文件后,配置为本地光盘为yum仓库源并使用yum命令安装rpm软件包,以及实现开机自动挂载。

前提准备

在这里插入图片描述

Vmware workstaton虚拟机软件及可用的Centos7系统、centos7系统ISO安装包,连接教室网络。

实验步骤

1、使⽤vmware workstation虚拟机的光盘,配置yum仓库源

先把centos7系统的iso镜像文件,放入虚拟机的虚拟光驱中。

2、在centos7上挂载光盘,配置yum仓库源

本地挂载光盘:

[root@Magedu ~]# mount -r /dev/cdrom /mnt
[root@Magedu ~]# ls -d /mnt/Packages/
/mnt/Packages/

设置yum仓库源的配置⽂件:yum的配置⽂件在/etc/yum.repos.d/⽬录下,配置内容可以写在该⽬录下的任意⼀个,以.repo结尾的⽂件中,也可新建⼀个以.repo结尾的⽂件。本例采⽤后者即新建⼀个create.repo⽂件。

[root@Magedu ~]# vim /etc/yum.repos.d/create.repo
[create]
name=create
baseurl=file:///mnt/
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7
enabled=1

3、使⽤yum仓库源

[root@Magedu ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: create
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from
disabled or removed repos
Cleaning up list of fastest mirrors
[root@Magedu ~]# cd /etc/yum.repos.d/
[root@Magedu yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@Magedu yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
create | 3.6 kB 00:00 
(1/2): create/group_gz | 166 kB 00:00 
(2/2): create/primary_db | 5.9 MB 00:00 
repo id repo name status
create create 9,911
repolist: 9,91

安装tree命令:

[root@Magedu yum.repos.d]# yum install tree

4、实现开机⾃动挂载光盘

[root@Magedu ~]# vim /etc/fstab
在文件末尾添加内容:
/dev/cdrom /mnt iso9660 defaults,loop 0 0 
检查挂载成功:
[root@Magedu ~]# mount -a

实验三:使⽤⽹络上的开源yum镜像源配置yum仓库源并使⽤yum命令安装软件包

实验⽬的

掌握通过网络上开源的yum仓库镜像源,配置服务器yum仓库,并使用yum命令安装rpm软件包。

前提准备

可用的Centos7系统,连接网络。

实验步骤

1、通过⽹络,搜索开源的yum镜像

在这里插入图片描述

1.1选择阿⾥云的进⾏站,点击进⼊:

1.2选择centos并点击进⼊:

在这里插入图片描述

1.3因为我们使⽤的centos7的iso镜像版本是7.6.1810,所以选择该版本。

在这里插入图片描述

1.4进⼊后,选择os,点击进⼊:

在这里插入图片描述

1.5选择x86_64,(只有⼀个项⽬)点击进⼊:

在这里插入图片描述 1.6点击进⼊后,看到有repodata⽬录即可,复制当前浏览器的地址,即url地址。该地址就为yum配置⽂件中baseurl的 地址。 在这里插入图片描述 1.7此页⾯还有内容为RPM-GPG-KEY-CentOS-7,需要⽤url完整地址表⽰即 mirrors.aliyun.com/centos/7.6.… yum配置⽂件中gpgkey部分设置。

2、设置yum仓库配置⽂件

[root@Magedu yum.repos.d]# vim base.repo
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

3、使⽤yum安装软件包

[root@Magedu yum.repos.d]# yum repolist
[root@Magedu yum.repos.d]# yum install tree

实验四:使⽤iso⽂件源配置yum仓库源并使⽤yum命令安装软件包

实验⽬的

掌握通过把centos7的光盘iso系统安装文件拷贝到服务器,利用这个iso文件配置服务器yum仓库,及使用yum命 令安装rpm软件包。

前提准备

可用的Centos7系统,centos7的iso安装文件已经拷贝到linux主机上,连接网络。

实验步骤

1、创建iso挂载点并挂载

Centos7的iso⽂件在/home/CentOS-7-x86_64-Everything-1804.iso

[root@Magedu ~]# mkdir /home/mnt/{iso,vcdrom}
[root@Magedu ~]# mv /home/CentOS-7-x86_64-Everything-1804.iso /home/mnt/iso
[root@Magedu ~]# mount -r -o loop /home/mnt/iso/CentOS-7-x86_64-Everything-1804.iso
/home/mnt/vcdrom/

2、配置yum⽂件

Centos7的iso⽂件在/home/CentOS-7-x86_64-Everything-1804.iso

[root@Magedu ~]# vim /etc/yum.repos.d/base.repo
[base]
name=CentOS-$releasever - Base
baseurl=file:///home/mnt/vcdrom/
gpgcheck=0
enabled=1

实验五:centos7上编译安装httpd2.4

实验⽬的

掌握编译安装源代码软件的步骤和方法,如编译安装httpd2.4.39。

前提准备

Centos7系统、下载httpd2.4源代码、安装编译前的软件环境;连接教室物理网络。

实验步骤

1、下载httpd2.4.39源码

[root@Magedu ~]# wget http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.bz2

2、安装编译前的环境即安装

#编译前检查你的编译环境
[root@Magedu ~]# yum install gcc gcc-c++ glibc gilbc-devel pere pcre-devel openssl openssl-devel

3、解压到/home/source/⽬录

[root@Magedu ~]# tar xvf httpd-2.4.39.tar.bz2 -C /home/source/

4、预编译config配置

[root@Magedu ~]# cd /home/source/httpd-2.4.39
[root@Magedu httpd-2.4.39]# ./configure --prefix=/app/apache24 

编译apache出现的问题:

configure: error: APR not found . Please read the documentation

解决方法:

#以指定的关键字搜索程序包名、如:APR包
yum search APR

5、编译

[root@Magedu httpd-2.4.39]# make -j 4 
注意:使用-j 4表示编译时,使用4个cpu同时工作。

6、安装

[root@Magedu httpd-2.4.39]# make install

7、添加全局环境变量即将执⾏命令和帮助⽂档的路径写⼊PATH

#添加全局变量
方法1:
[root@Magedu httpd-2.4.39]# echo 'export PATH=/app/apache24/bin:$PATH' > /etc/profile.d/env.sh
方法2:
[root@Magedu httpd-2.4.39]# vim /etc/profile.d/env.sh
export PATH=/app/apache24/bin:$PATH  #添加
[root@Magedu httpd-2.4.39]# source /etc/profile.d/env.sh 使其立即生效:
[root@Magedu httpd-2.4.39]# vim /etc/man_db.conf 配置帮助文档路径:
MANDATORY_MANPATH /app/apache24/man

8、启动服务

[root@Magedu ~]# apachectl start
#提示是因为ServerName没有定义,不影响httpd启动。解决方法看下图
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using centos7.localdomain. Set the 'ServerName' directive globally to suppress this message
[root@Magedu ~]# vim /app/apache24/conf/httpd.conf
去除下行'#'号、保存退出
#ServerName www.example.com:80

[root@Magedu ~]# apachectl -t	#检查语法
Syntax OK
[root@Magedu ~]# apachectl start	#重新加载即可

在这里插入图片描述

关闭防⽕墙

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
vi /etc/selinux/config
把SELINUX=enforcing 改成 SELINUX=disabled