案例1:为本机提供软件仓库
案例2:使用本机目录作为软件源
案例3:yum查询软件
案例4:yum安装/卸载软件
案例5:配置并访问本机FTP资源
案例6:访问远程FTP资源
1 案例1:为本机提供软件仓库 1.1 问题
本例要求为Linux主机配置本机可访问的yum软件源,完成下列任务:
1)挂载CentOS7光盘
2)创建仓库目录 /repo/cos7dvd
3)将光盘内的所有文档拷贝到 /repo/cos7dvd/ 目录下
4)确认仓库目录 1.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:挂载CentOS7光盘设备
1)创建临时挂载点 /mnt/dvd
[root@svr7 ~]# mkdir -p /mnt/dvd/ //建挂载点
2)挂载CentOS7光盘
[root@svr7 ~]# mount /dev/cdrom /mnt/dvd/ //挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
步骤二:拷贝CentOS7光盘中的文档资源
1)创建仓库目录 /repo/cos7dvd
[root@svr7 ~]# mkdir -p /repo/cos7dvd
2)将光盘内的所有文档拷贝到 /repo/cos7dvd/ 目录下
[root@svr7 ~]# cp -rf /mnt/dvd/* /repo/cos7dvd/
[root@svr7 ~]#
步骤三:确认本地仓库目录
[root@svr7 ~]# ls /repo/cos7dvd/
CentOS_BuildTag images repodata
EFI isolinux RPM-GPG-KEY-CentOS-7
EULA LiveOS RPM-GPG-KEY-CentOS-Testing-7
GPL Packages TRANS.TBL
2 案例2:使用本机目录作为软件源 2.1 问题
本例要求为Linux主机配置本机可访问的yum软件源,完成下列任务:
1)清理旧配置、不可用的配置
2)添加新的软件源,指向仓库目录 file:///repo/cos7dvd
3)清理yum缓存数据
4)列出软件仓库列表,确认结果 2.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:清理旧配置、不可用的配置
清理旧的配置,或者不可用/不使用的配置,避免干扰
[root@svr7 ~]# mkdir /etc/yum.repos.d/oldrepo
[root@svr7 ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/oldrepo/
步骤二:添加新的软件源,指向前一步准备的本地软件仓库
1)添加软件源
[root@svr7 ~]# yum-config-manager --add-repo file:///repo/cos7dvd/
.. ..
adding repo from: file:///repo/cos7dvd/
[repo_cos7dvd_]
name=added from: file:///repo/cos7dvd/
baseurl=file:///repo/cos7dvd/
enabled=1
2)确认结果
[root@svr7 ~]# ls /etc/yum.repos.d/ //确认自动添加的配置文件
oldrepo repo_cos7dvd_.repo
3)禁止检查软件签名
[root@svr7 ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
.. ..
gpgcheck = 0 //取消软件签名检查
.. ..
步骤三:清理yum缓存数据
[root@svr7 ~]# yum clean all
.. ..
正在清理软件源: repo_cos7dvd_
Cleaning up everything
Cleaning up list of fastest mirrors
步骤四:列出软件仓库列表,确认结果
[root@svr7 ~]# yum repolist
.. ..
repo_cos7dvd_ | 3.6 kB 00:00
(1/2): repo_cos7dvd_/group_gz | 155 kB 00:00
(2/2): repo_cos7dvd_/primary_db | 3.0 MB 00:00
Determining fastest mirrors
源标识 源名称 状态
repo_cos7dvd_ added from: file:///repo/cos7dvd/ 3,971
repolist: 3,971
3 案例3:yum查询软件 3.1 问题
本例要求学会使用yum命令查询软件包信息,完成下列任务:
1)列出软件包名称、版本信息
列出所有已安装的软件、所有未安装但软件源能提供的软件包
检查软件 httpd、firefox、rar 是否已经安装
2)查询软件包描述信息
了解软件包 kernel、bash、wireshark 的用途
3)查询哪些软件包能提供指定的程序/文件
查询命令程序 vim 由哪个软件包提供
查询文件 /etc/redhat-release 由哪个软件包提供
3.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:列出软件包名称、版本信息
1)列出所有已安装的软件
[root@svr7 ~]# yum list installed
.. ..
已安装的软件包
GConf2.x86_64 3.2.6-8.el7 @anaconda
GeoIP.x86_64 1.5.0-11.el7 @anaconda
ModemManager.x86_64 1.6.0-2.el7 @anaconda
ModemManager-glib.x86_64 1.6.0-2.el7 @anaconda
NetworkManager.x86_64 1:1.4.0-12.el7 @anaconda
NetworkManager-adsl.x86_64 1:1.4.0-12.el7 @anaconda
NetworkManager-glib.x86_64 1:1.4.0-12.el7 @anaconda
NetworkManager-libnm.x86_64 1:1.4.0-12.el7 @anaconda
NetworkManager-libreswan.x86_64 1.2.4-1.el7 @anaconda
.. ..
yum.noarch 3.4.3-150.el7.centos @anaconda
yum-langpacks.noarch 0.4.2-7.el7 @anaconda
yum-metadata-parser.x86_64 1.1.4-10.el7 @anaconda
yum-plugin-fastestmirror.noarch
1.1.31-40.el7 @anaconda
yum-utils.noarch 1.1.31-40.el7 @anaconda
zenity.x86_64 3.8.0-5.el7 @anaconda
zip.x86_64 3.0-11.el7 @anaconda
zlib.x86_64 1.2.7-17.el7 @anaconda
2)列出所有未安装但软件源能提供的软件包
[root@svr7 ~]# yum list available
.. ..
可安装的软件包
389-ds-base.x86_64 1.3.5.10-11.el7 repo_cos7dvd_
389-ds-base-libs.x86_64 1.3.5.10-11.el7 repo_cos7dvd_
ElectricFence.x86_64 2.2.2-39.el7 repo_cos7dvd_
ImageMagick.x86_64 6.7.8.9-15.el7_2 repo_cos7dvd_
ImageMagick-c++.x86_64 6.7.8.9-15.el7_2
repo_cos7dvd_
ImageMagick-perl.x86_64 6.7.8.9-15.el7_2 repo_cos7dvd_
.. ..
yum-plugin-aliases.noarch 1.1.31-40.el7 repo_cos7dvd_
yum-plugin-changelog.noarch
1.1.31-40.el7 repo_cos7dvd_
yum-plugin-tmprepo.noarch 1.1.31-40.el7 repo_cos7dvd_
yum-plugin-verify.noarch 1.1.31-40.el7 repo_cos7dvd_
yum-plugin-versionlock.noarch
1.1.31-40.el7 repo_cos7dvd_
zlib-devel.x86_64 1.2.7-17.el7 repo_cos7dvd_
zsh.x86_64 5.0.2-25.el7 repo_cos7dvd_
zziplib.x86_64 0.13.62-5.el7 repo_cos7dvd_
3)检查软件 httpd、firefox、rar 是否已经安装
[root@svr7 ~]# yum list httpd
.. ..
可安装的软件包 //未安装但可安装的软件
httpd.x86_64 2.4.6-45.el7.centos repo_cos7dvd
[root@svr7 ~]# yum list firefox
.. ..
已安装的软件包 //已安装的软件
firefox.x86_64 45.4.0-1.el7.centos @anaconda
[root@svr7 ~]# yum list rar
.. ..
错误:没有匹配的软件包可以列出 //未安装且没有源提供的软件
步骤二:查询软件包描述信息
1)了解软件包 kernel、bash 的用途
软件包kernel主要提供Linux的运行内核程序:
[root@svr7 ~]# yum info kernel
.. ..
已安装的软件包
名称 :kernel
架构 :x86_64
版本 :3.10.0
发布 :514.el7
大小 :148 M
源 :installed
来自源:anaconda
简介 : The Linux kernel
网址 :http://www.kernel.org/
协议 : GPLv2
描述 : The kernel package contains the Linux kernel
: (vmlinuz), the core of any Linux operating
: system. The kernel handles the basic functions
: of the operating system: memory allocation,
: process allocation, device input and output, etc.
软件包bash主要为Linux系统提供命令行解释器程序(/bin/bash):
[root@svr7 ~]# yum info bash
.. ..
已安装的软件包
名称 :bash
架构 :x86_64
版本 :4.2.46
发布 :20.el7_2
大小 :3.5 M
源 :installed
来自源:anaconda
简介 : The GNU Bourne Again shell
网址 :http://www.gnu.org/software/bash
协议 : GPLv3+
描述 : The GNU Bourne Again shell (Bash) is a shell or
: command language interpreter that is compatible
: with the Bourne shell (sh). Bash incorporates
: useful features from the Korn shell (ksh) and the
: C shell (csh). Most sh scripts can be run by bash
: without modification.
2)了解软件包 wireshark 的用途
软件包wireshark是非常著名的一款以太网分析工具(抓包):
[root@svr7 ~]# yum info wireshark
.. ..
可安装的软件包
名称 :wireshark
架构 :x86_64
版本 :1.10.14
发布 :10.el7
大小 :13 M
源 :repo_cos7dvd_
简介 : Network traffic analyzer
网址 :http://www.wireshark.org/
协议 : GPL+
描述 : Wireshark is a network traffic analyzer for
: Unix-ish operating systems.
:
: This package lays base for libpcap, a packet
: capture and filtering library, contains
: command-line utilities, contains plugins and
: documentation for wireshark. A graphical user
: interface is packaged separately to GTK+ package.
步骤三:查询哪些软件包能提供指定的程序/文件
1)查询命令程序 vim 由哪个软件包提供
可以获知对应的软件包名称是 vim-enhanced:
[root@svr7 ~]# yum provides "*bin/vim"
.. ..
2:vim-enhanced-7.4.160-1.el7.x86_64 : A version of the VIM
...: editor which includes recent enhancements
源 :repo_cos7dvd_
匹配来源:
文件名 :/usr/bin/vim
2:vim-enhanced-7.4.160-1.el7.x86_64 : A version of the VIM
...: editor which includes recent enhancements
源 :@anaconda
匹配来源:
文件名 :/usr/bin/vim
2)查询文件 /etc/redhat-release 由哪个软件包提供
可以获知对应的软件包名称是 centos-release:
[root@svr7 ~]# yum provides /etc/redhat-release
.. ..
centos-release-7-3.1611.el7.centos.x86_64 : CentOS Linux
: release file
源 :repo_cos7dvd_
匹配来源:
文件名 :/etc/redhat-release
centos-release-7-3.1611.el7.centos.x86_64 : CentOS Linux
: release file
源 :@anaconda
匹配来源:
文件名 :/etc/redhat-release
4 案例4:yum安装/卸载软件 4.1 问题
本例要求学会使用yum命令安装及卸载应用软件,完成下列任务:
-
安装/卸载软件
安装 httpd、wireshark-gnome 软件包,观察执行过程 检查这两个软件包的安装结果 卸载 httpd 软件包,检查卸载结果
-
通过重装软件修复误删的命令程序
删除文件 /usr/bin/vim ,检查 vim 编辑器是否还可用 使用 yum 重装 vim-enhanced 软件包,再次检查 vim 编辑器是否可用
4.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:安装/卸载软件
1)安装 httpd、wireshark-gnome 软件包,观察执行过程
[root@svr7 ~]# yum -y install httpd wireshark
[root@svr7 ~]# yum -y install httpd wireshark-gnome
.. ..
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-45.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-45.el7.centos,它被软件包 httpd-2.4.6-45.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-45.el7.centos.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-45.el7.centos.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-45.el7.centos.x86_64 需要
---> 软件包 wireshark-gnome.x86_64.0.1.10.14-10.el7 将被 安装
--> 正在处理依赖关系 wireshark = 1.10.14-10.el7,它被软件包 wireshark-gnome-1.10.14-10.el7.x86_64 需要
--> 正在处理依赖关系 libwsutil.so.3()(64bit),它被软件包 wireshark-gnome-1.10.14-10.el7.x86_64 需要
--> 正在处理依赖关系 libwiretap.so.3()(64bit),它被软件包 wireshark-gnome-1.10.14-10.el7.x86_64 需要
--> 正在处理依赖关系 libwireshark.so.3()(64bit),它被软件包 wireshark-gnome-1.10.14-10.el7.x86_64 需要
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-3.el7 将被 安装
---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装
---> 软件包 httpd-tools.x86_64.0.2.4.6-45.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
---> 软件包 wireshark.x86_64.0.1.10.14-10.el7 将被 安装
--> 正在处理依赖关系 libsmi.so.2()(64bit),它被软件包 wireshark-1.10.14-10.el7.x86_64 需要
--> 正在处理依赖关系 libcares.so.2()(64bit),它被软件包 wireshark-1.10.14-10.el7.x86_64 需要
--> 正在检查事务
---> 软件包 c-ares.x86_64.0.1.10.0-3.el7 将被 安装
---> 软件包 libsmi.x86_64.0.0.4.8-13.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
===========================================================
Package 架构 版本 源 大小
===========================================================
正在安装:
httpd x86_64 2.4.6-45.el7.centos repo_cos7dvd_ 2.7 M
wireshark-gnome
x86_64 1.10.14-10.el7 repo_cos7dvd_ 909 k
为依赖而安装:
apr x86_64 1.4.8-3.el7 repo_cos7dvd_ 103 k
apr-util x86_64 1.5.2-6.el7 repo_cos7dvd_ 92 k
c-ares x86_64 1.10.0-3.el7 repo_cos7dvd_ 78 k
httpd-tools
x86_64 2.4.6-45.el7.centos repo_cos7dvd_ 84 k
libsmi x86_64 0.4.8-13.el7 repo_cos7dvd_ 2.3 M
mailcap noarch 2.1.41-2.el7 repo_cos7dvd_ 31 k
wireshark x86_64 1.10.14-10.el7 repo_cos7dvd_ 13 M
事务概要
===========================================================
安装 2 软件包 (+7 依赖软件包)
总下载量:19 M
安装大小:96 M
Downloading packages:
-----------------------------------------------------------
总计 86 MB/s | 19 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在安装 : apr-1.4.8-3.el7.x86_64 1/9
正在安装 : apr-util-1.5.2-6.el7.x86_64 2/9
正在安装 : httpd-tools-2.4.6-45.el7.centos.x86_6 3/9
正在安装 : c-ares-1.10.0-3.el7.x86_64 4/9
正在安装 : mailcap-2.1.41-2.el7.noarch 5/9
正在安装 : libsmi-0.4.8-13.el7.x86_64 6/9
正在安装 : wireshark-1.10.14-10.el7.x86_64 7/9
正在安装 : wireshark-gnome-1.10.14-10.el7.x86_64 8/9
正在安装 : httpd-2.4.6-45.el7.centos.x86_64 9/9
验证中 : libsmi-0.4.8-13.el7.x86_64 1/9
验证中 : apr-1.4.8-3.el7.x86_64 2/9
验证中 : mailcap-2.1.41-2.el7.noarch 3/9
验证中 : wireshark-1.10.14-10.el7.x86_64 4/9
验证中 : apr-util-1.5.2-6.el7.x86_64 5/9
验证中 : c-ares-1.10.0-3.el7.x86_64 6/9
验证中 : httpd-tools-2.4.6-45.el7.centos.x86_6 7/9
验证中 : wireshark-gnome-1.10.14-10.el7.x86_64 8/9
验证中 : httpd-2.4.6-45.el7.centos.x86_64 9/9
已安装: //列出已成功安装的包
httpd.x86_64 0:2.4.6-45.el7.centos
wireshark-gnome.x86_64 0:1.10.14-10.el7
作为依赖被安装: //列出为解决依赖而安装的包
apr.x86_64 0:1.4.8-3.el7
apr-util.x86_64 0:1.5.2-6.el7
c-ares.x86_64 0:1.10.0-3.el7
httpd-tools.x86_64 0:2.4.6-45.el7.centos
libsmi.x86_64 0:0.4.8-13.el7
mailcap.noarch 0:2.1.41-2.el7
wireshark.x86_64 0:1.10.14-10.el7
完毕!
2)检查这两个软件包的安装结果
检查发现两个软件包都已经成功安装:
[root@svr7 ~]# yum list httpd wireshark-gnome
.. ..
已安装的软件包
httpd.x86_64 2.4.6-45.el7.centos @repo_cos7dvd_
wireshark-gnome.x86_64 1.10.14-10.el7 @repo_cos7dvd_
其中的wireshark-gnome提供了图形环境的抓包工具,通过“应用程序”--> “互联网”可以找到快捷方式,如图-1所示。
3)卸载 httpd 软件包,再次检查卸载结果
[root@svr7 ~]# yum -y remove httpd
.. ..
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-45.el7.centos 将被 删除
--> 解决依赖关系完成
依赖关系解决
============================================================
Package
架构 版本 源 大小
============================================================
正在删除:
httpd x86_64 2.4.6-45.el7.centos @repo_cos7dvd_ 9.4 M
事务概要
============================================================
移除 1 软件包
安装大小:9.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在删除 : httpd-2.4.6-45.el7.centos.x86_64 1/1
验证中 : httpd-2.4.6-45.el7.centos.x86_64 1/1
删除:
httpd.x86_64 0:2.4.6-45.el7.centos
完毕!
[root@svr7 ~]# yum list httpd
.. ..
可安装的软件包
httpd.x86_64 2.4.6-45.el7.centos repo_cos7dvd_
步骤二:通过重装软件修复误删的命令程序
1)删除文件 /usr/bin/vim ,检查 vim 编辑器是否还可用
[root@svr7 ~]# rm -rf /usr/bin/vim
[root@svr7 ~]# vim /root/a.txt //vim编辑器程序已缺失
-bash: /usr/bin/vim: 没有那个文件或目录
2)使用 yum 安装 vim-enhanced 软件包,再次检查 vim 编辑器是否可用
尝试正常安装vim-enhanced软件包,会发现vim仍然不可用(因为此软件包已经安装过,直接install不会做更改)。
[root@svr7 ~]# yum -y install vim-enhanced
.. ..
软件包 2:vim-enhanced-7.4.160-1.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@svr7 ~]# vim /root/a.txt
-bash: /usr/bin/vim: 没有那个文件或目录
3)使用 yum 重装 vim-enhanced 软件包,再次检查 vim 编辑器是否可用
[root@svr7 ~]# yum -y reinstall vim-enhanced
.. ..
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-1.el7 将被 已重新安装
--> 解决依赖关系完成
依赖关系解决
============================================================
Package 架构 版本 源 大小
============================================================
重新安装:
vim-enhanced x86_64 2:7.4.160-1.el7 repo_cos7dvd_ 1.0 M
事务概要
============================================================
重新安装 1 软件包
总下载量:1.0 M
安装大小:2.2 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 2:vim-enhanced-7.4.160-1.el7.x86_64 1/1
验证中 : 2:vim-enhanced-7.4.160-1.el7.x86_64 1/1
已安装:
vim-enhanced.x86_64 2:7.4.160-1.el7
完毕!
[root@svr7 ~]# vim /root/a.txt //vim已可用
[root@svr7 ~]#
5 案例5:配置并访问本机FTP资源 5.1 问题
本例要求在Linux主机上快速构建FTP网站服务器,首先在 CentOS7 虚拟机上搭建FTP服务,完成下列操作。
1)安装 vsftpd 软件包
2)将系统服务 vsftpd 设为开机自启,同时启动此服务
3)新建用户 vip2525,将密码设置为 1234567
然后通过 Firefox 浏览器访问本机FTP资源
1)本机 Firefox 浏览器访问 ftp://127.0.0.1/ ,确认FTP资源
2)在 /var/ftp/ 下新建文件 a.txt,刷新浏览器后确认FTP资源变化 5.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:在 CentOS7 虚拟机上搭建 FTP 服务
1)安装 vsftpd 软件包
[root@svr7 ~]# yum -y install vsftpd
.. ..
已安装:
vsftpd.x86_64 0:3.0.2-21.el7
完毕!
2)将系统服务 vsftpd 设为开机自启,同时启动此服务
[root@svr7 ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@svr7 ~]# systemctl restart vsftpd
3)新建用户 vip2525,将密码设置为 1234567
[root@svr7 ~]# useradd vip2525 //添加用户
[root@svr7 ~]# passwd vip2525 //根据提示设置密码1234567
步骤二:通过 Firefox 火狐浏览器访问本机FTP资源
1)本机 Firefox 浏览器访问 ftp://127.0.0.1/ ,确认FTP资源
能够顺利浏览到服务器 /var/ftp/ 目录下的内容,如图-1所示,
图-1
2)在 /var/ftp/ 下新建文件 a.txt,刷新浏览器后确认FTP资源变化
新建一个测试文件:
[root@svr7 ~]# touch /var/ftp/a.txt
[root@svr7 ~]# ls /var/ftp/ //确认目录内容
a.txt pub
刷新Firefox浏览器页面,可以看到新增加的文件也出现了,如图-2所示。
图-2
!!!! 注意,通过网页浏览器匿名访问FTP服务器时,一般只能下载不能上传,所能获取的文档资源对应vsftpd服务器上的 /var/ftp/ 目录。 6 案例6:访问远程FTP资源 6.1 问题
本例要求实现vsftpd服务器资源的远程访问,首先应在FTP服务器上关闭防火墙和SELinux保护机制。
1)关闭firewalld服务,并禁止其开机自启动
2)关闭SELinux保护机制,并阻止其开机自动生效
然后通过WinSCP客户端管理FTP资源
1)以用户vip2525登录 FTP 服务器
2)测试文件上传/下载功能 6.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:在FTP服务器上关闭防火墙和SELinux保护机制
1)关闭firewalld服务,并禁止其开机自启动
[root@svr7 ~]# systemctl stop firewalld //立即关闭
[root@svr7 ~]# systemctl disable firewalld //永久关闭
2)关闭SELinux保护机制,并阻止其开机自动生效
[root@svr7 ~]# setenforce 0 //使SELinux失效
[root@svr7 ~]# vim /etc/selinux/config //开机时禁用
SELINUX=disabled
步骤二:通过 WinSCP 客户端管理 FTP 资源
1)从Win客户机打开 WinSCP程序,以用户 vip2525 登录 FTP 服务器
在真机中打开WinSCP.exe程序,填写FTP登录信息,注意连接方式、服务器地址、端口、用户名及密码等信息要正确,如图-3所示。
图-3
成功登录以后,即可在右侧看到用户vip2525在服务器上的家目录下的数据,如图-4所示。
图-4
2)测试文件上传/下载功能
在WinSCP已连接到服务器的窗口中,左侧对应客户机的文档目录,右侧对应服务器的文档目录,只需选中文件或目录左右拖拽即可完成上传、下载功能,如图-5所示。
图-5