Linux学习(五)
-----------本blog是2017年编写,因审核未过,刚发现,现重新排版及发布---------
目录:
5、配置花生壳80端口到Linux虚拟机中Apache服务器
1、yum运行原理及常用命令
- rpm是由红帽公司开发的软件包管理方式,由于rpm的软件包之间的依赖性问题,卸载时因为要卸载相关依赖,很繁琐,所以一般使用yum。
- yum运行原理:yum的工作需要yum服务器以及客户端的yum工具。
- yum服务器:所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。yum服务器只要提供简单的下载就可以了,ftp或者httpd的形式都可以。yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单""就是描述每个rpm包的spec文件中信息。
- yum客户端:client每次调用yum install或者search的时候,都会去解析/etc/yum.repos.d下面所有以.repo结尾的配置文件,这些配置文件指定了yum服务器的地址。yum会定期去"更新"yum服务器上的rpm包"清单",然后把"清单"下载保存到yum自己的cache里面,根据/etc/yum.conf里配置(默认是在/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找"清单",根据"清单"里的rpm包描述从而来确定安装包的名字,版本号,所需要的依赖包等,然后再去yum服务器下载rpm包安装。(前提是不存在rpm包的cache)
- 查看本地yum cache:cd var/cache/yum
- 查看repomd.xml配置信息:
- 配置本地光盘镜像文件中rpm包作为yum源:
- cd etc/yum.repo.d(后缀d是daemon,后台进程的缩写)
- touch local-source.repo
- vi local-source.repo
- 本地yum源,前面的ftp必须改成file:///,否则会报错。
- 说明:[ ]中的内容是Serverid,用于区分各个不同的repository,具有唯一性。
- name:是对repository仓库的描述,支持像$releaserver、$basearch等变量。
- baseurl:仓库的具体位置
- gpgcheck:为1时表示开启对软件包的验证。
- $releasever:发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断
- $arch:cpu体系,如i686,Athlon等
- $basearch:cpu的基本体系组,如i686和Athlon同属i386
- 配置远程源:配置网易开源镜像站
- [base_remote_163]
- name=CentOS-6-Base-163.com
- baseurl=http://mirrors.163.com/centos/6/os/$basearch
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
- 在浏览器上查看http://mirrors.163.com/centos/6/os/x86_64/Packages/
- 使用yum list *httpd*命令查找含有httpd字符的安装包,但是发现在本地仓库以及远程仓库中优先选用了远程仓库
- 为yum源配置优先级
- 首先查找相关的软件包
-
- 在安装过程中发现签名不匹配导致安装失败,
- GPG key retrieval failed,因此首先使用wget命令在更新源上下载一个RPM-GPG-KEY-CentOS
- wget http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6
- rpm --import RPM-GPG-KEY-CentOS-6
- GPG key retrieval failed,因此首先使用wget命令在更新源上下载一个RPM-GPG-KEY-CentOS
- 在安装过程中发现签名不匹配导致安装失败,
- GPG key retrieval failed,因此首先使用wget命令在更新源上下载一个RPM-GPG-KEY-CentOS
- wget http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-6
- rpm --import RPM-GPG-KEY-CentOS-6
-
- 安装 yum-plugin-priorities 插件
- yum install yum-plugin-priorities
-
- 确认配置文件内容:cat /etc/yum/pluginconf.d/priorities.conf
-
- 将本地仓库的优先级调高,priority 越小表示优先级越高
-
- yum clean all
- 使用yum install httpd优先从本地下载安装得知priority生效
-
- 清除缓存目录下的软件包及旧的headers:yum clean all,因为yum会把下载的软件包和header存储在cache中,而不自动删除,yum clean headers清除headers,yum clean packages清除rpm包,yum clean all则一键清除
-
- 导入每个repository的签名(gpg key),yum使用gpg对包进行校验,确保下载包的完整性。命令:rpm --import /etc/pki/rpm-gpg/RPM*
-
- 模糊查询仓库是否有指定的http软件,命令:yum list *httpd*
-
- 安装http服务:yum install httpd,由安装过程记录可知,其实从本地仓库中进行安装下载
-
- 查看http服务状态并开启http服务:service httpd status && service httpd start
-
- 删除http安装包,卸载http服务
-
- 查看httpd安装包信息:yum info httpd,可以查看到httpd所在仓库位置及其用途、版本、描述等等。
-
- GPG key retrieval failed,因此首先使用wget命令在更新源上下载一个RPM-GPG-KEY-CentOS
2、在命令行界面模式下配置网卡
(1)查看ip,发现命令行模式下网卡没有配置
(2)进入网卡配置文件目录
cd /etc/sysconfig/network-scripts
network-scripts:包含了系统启动时初始化网络的一些信息。
(3)对eth0网卡配置信息进行备份
- device:设备名
- hwaddr:hardware address,物理地址
- type:网卡类型
- onboot:系统启动时是否激活网卡
- nm_controlled:网络管理参数,配置实时生效,修改后无须重启网卡立即生效。
- bootproto:开机协议,最常见的三个参数:static(静态IP),dhcp(动态获取IP相关信息),none(不指定,设置固定IP的情况)
(4)修改ifcfg-eth0的文件,将onboot修改为yes,使得系统启动时激活网卡,网卡处于激活状态才能连接网络
(5)修改后重启网卡。
- 方式一:service network restart
- 方式二:ifdown ifcfg-eth0 && ifup ifcfg-eth0
(6)查看分得的IP地址:
3、将光盘在命令行模式中进行挂载
为什么要挂载光盘?因为光盘里有许多软件,我们可以从光盘里拿出这些软件,把它安装上。
(1)若使用VMware软件,则先右键虚拟机“设置”,在CD/DVD中勾选“已连接”
(2)查看设备所在位置:ls /dev/cdrom*
(3)创建文件夹:mkdir /mycdrom
(4)进行挂载:mount -t iso9660 /dev/cdrom /mycdrom
(5)查看挂载好的文件:cd /mycdrom
4、在命令行模式中开启并使用Apache服务器
(1)安装httpd软件包:yum install httpd,会在下载http服务的同时一并下载软件的依赖包
(2)开启httpd服务(apache服务器)
- 方式一:service httpd start
- 方式二:apachectl start
其中httpd:Could not reliably那句话是说我们没有配域名,不影响使用。
(3)查看本机的IP地址
(4)在外部主机进行访问,可以访问到Apache服务器的默认页面
(5)编辑一个简单网页:cd var/www/html,然后vi一个a.htm文件并输入hello world,在外部主机访问该网页,能够访问,说明Apache服务器启动成功
(6)Apache主要支持静态页面,把以前做过的静态海贼王主页放上去测试,查看结果
5、配置花生壳80端口到Linux虚拟机中Apache服务器
配置原因:因为想在笔记本中发布一个服务,因此通过花生壳软件,进行端口转发,把花生壳上的公网的域名对应到当前笔记本所在的局域网中的一台电脑的端口上。
(1)查看虚拟机IP地址
(2)登录进入花生壳,点击“内网穿透”
(3)在网页上输入域名进行访问,查看结果:
参考文献
[1]鸟哥.鸟哥的Linux私房菜基础学习篇(第三版) [M]北京:人民邮电出版社,2010.7;