@[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