时间:2018-05-28
姓名:魏文应
准备工作:
练习的过程中,需要一些rpm软件包,供你尝试,我们把一会它下载下来。
因为 bin-DVD1 类型的系统镜像,自带有一些rpm软件包的。
比如我用的系统镜像是 CentOS-6.9-i386-bin-DVD1.iso (如果是其它,比如CentOS-6.9-i386-LiveDVD.iso,是不带Package的)。
VMware挂载DVD镜像(选择CentOS-6.9-i386-bin-DVD1.iso 镜像的位置):
- 设置挂载DVD镜像
点击确定以后,在虚拟机右下角的 DVD光盘图标 中,右键点击连接,linux中就能看到光盘了。
- VMware中关盘图标
使用
df -l
查看一下挂载点,默认挂载到了/media/CentOS_6.9_Final/
目录下:- 查看挂载点
一、rpm软件包管理
RPM: Redhat Package Manager 的简称。
rpm包说明: 比如 zsh-5.0.2-14.el7.x86_64.rpm
:
zsh | -5 | 0 | 2 | 14 | el7 | x86 | 64 |
---|---|---|---|---|---|---|---|
软件名 | 主版本号 | 次版本号 | 修订号 | 软件发布次数 | 发行商RHEL7 | CPU架构平台 | 支持系统位数 |
安装rpm软件:
参数 | 说明 |
---|---|
-i, --install | 安装软件包 |
--nodeps | 不验证软件包依赖 |
-v, --verbose | 提供更多的详细信息输出 |
-h, --hash | 软件包安装的时候列出哈希标记 |
到rpm包相关的网站上去下载软件包:
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
rpm查询功能
rpm查询功能(rpm –q 常与下面参数组合使用):
参数 | 说明 |
---|---|
-a | 查询所有已安装的软件包 |
-f | 查询文件所属软件包 |
-i | 显示已经安装的rpm软件包信息 |
-l | 和p搭配使用显示未安装软件包的相关文件列表和信息 |
查看某个软件是由哪个rpm包安装的:
rpm -qf `vim`
(查看vim是有哪个rpm包安装的)。查看已经安装的rpm包生成了哪些文件:
rpm -ql [rpm包名]
- 查看已安装包
查看一个未安装包的安装后将生成的文件:
rpm -qpl [rpm包名]
- 查看未安装软件
rpm软件包安装
-
软件包升级:
rpm -Uvh [rpm包名]
。
rpm软件包卸载
-
rpm卸载:
rpm -e [rpm包名]
。如果有依赖,导致无法卸载,可以使用--nodeps
参数忽略依赖强制卸载。
rpm包签名验证
MD5哈希签名验证,可以防止别人修改软件包:
查看签名: rpm -K [软件包名]
例如:rpm -K httpd-2.2.15-60.el6.centos.6.i686
。
- 验证结果
导入密钥: rpm --import [密钥文件]
例如:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
(系统密钥默认保存在 /etc/pki/rpm-gpg/ 这个目录下)。
二、yum的使用
yum(Yellow dog Update, Modified)安装时,自动处理依赖关系。yum基于C/S架构。
yum源的位置
配置文件在: cd /etc/yum.repos.d/
:
- yum源位置
手工书写yum源配置文件:
# 源的名称,你随意起一个
[7-soucre]
# 描述信息,随意写一些说明
name=rhel7-server
# 源的位置,也就是rpm软件包的位置,file://说明是本地源,
# /media 是本地存放软件包的目录。
# baseurl=file:///media
baseurl=file:///media/CentOS_6.9_Final
# 启用yum源:1
# 关闭yum源:0
enabled=1
# 签名验证,为1检验公钥的正确性,0不检验
gpgcheck=0
使用本地yum源
删除原来的源码配置文件:将 cd /etc/yum.repos.d/ 目录下的 .repo 文件进行备份,然后清空这个目录下的文件(yum将该目录下所有.repo结尾的文件,识别为yum源配置文件)。
创建一个以
.repo
结尾的文件,比如:vim CentOS-Base.repo
,然后写入手工配置文件的内容(注意修改挂载点)。保存配置文件后,执行下面命令,清空一下yum缓存:
yum clean all
。重新生成列表:
yum list
。安装软件:
yum install [软件名称]
(如果安装过程中,软件有需要用户输入yes或者no进行的确认的步骤,如果你想全部选择yes,则加上 -y 参数 :yum install -y [软件名称]
)。检测升级:
yum check-update
(本地yum源是不行的,远程网络才能升级)查看软件信息:
yum info [软件名称]
。卸载软件:
yum remove [软件名称]
。按组来安装:就是一下子可以安装一组软件。查看一下有哪些rpm组包:
yum grouplist
。安装某组软件:yum
使用远程yum源
远程yum源一般由开源镜像站提供,开源镜像站一般会提供一个配置文件,比如阿里镜像站:
或者网易镜像站:
找到对应的 .repo 文件,下载放入 /etc/yum.conf.d/ 这个目录下就可以了。每一个 .repo
文件都配置了一个源,所以如果原来的 .repo
文件,你不想用了,将它从 /etc/yum.conf.d/ 这个目录删除就可以了。然后执行 yum clean all
和 yum makecache
更新一下就可以了。
三、源码编译安装软件包
- 解压源代码包。
- 进入解压后的目录,用 ./configure [--prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)。
- 编译:
make -j 4
。 - 安装:
make install
。
源码方式安装nginx服务器:
需要 pcre-devel 、 zlib-devel 。查看一下这两个依赖包有没有:
rpm -q pcre-devel zlib-devel
。如果没有安装就安装它:yum install -y pcre-devel zlib-devel
。添加一个程序运行的系统用户:
useradd -s /sbin/nologin -M nginx
(-s指定shell,shell为/sbin/nologin,-M表示不生成宿主目录)。解压准备好的压缩包
tar -zxvf nginx-1.0.15.tar.gz
。-
解压完成上次一个 nginx-1.0.15 目录,进入这个目录。执行配置命令
# --prefix 指定安装的位置 # --user 指定运行的用户 # --group 指定运行的组 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
如果这一步出错,提示没有安装gcc:
./configure: error: C compiler gcc is not found
则安装GCC编译器:
yum install -y gcc
。再执行上面配置命令。如果你和我一样,使用了本地软件源,gcc可能因为版本问题,安装失败。可以先打开网络源,比如阿里源,安装gcc。 编译和编译安装:
make -j4 && make install
。如果安装成功,会有 /usr/local/nginx/sbin/nginx 可执行程序。另外可以执行netstat -anptu | grep nginx
命令查看nginx是否已经监听80端口。如果没有,启动nginx:/usr/local/nginx/sbin/nginx
。- 启动nginx并查看
然后用
ifconfig
命令查看一下你的ip地址,在浏览器中输入 [ip地址]:80 ,比如我的:192.168.154.133:80
。你会看到Welcome to nginx! 显示出来。
nginx 首页修改测试
打开任意一个网页,比如百度,通过浏览器查看网页源代码,将网页源代码复制到 /usr/local/nginx/html/index.xml 中(删除原来的内容)。然后通过浏览器,输入 [ip地址]:80 ,这时显示的就是百度首页了,而不是 Welcome to nginx! 。
- 查看网页源代码
四、使用 | 管道命令
管道命令: |
。将前面命令的输出信息,最为后面命令的输入信息。比如,执行rpm -qa
这个命令时,终端会打印很多信息。如果将这些输出信息,作为grep命令的输入,grep命令通过这些输入字符,找到包含 httpd
字符的字符串。
- 管道应用
-
可以进行分页查看: 打印信息太多时,追加上
| more
进行分页查看,例如rpm -qa | more
。
Xshell与远程机器通信
-
rz
命令: 在使用Xshell这个SSH工具登陆Linux时,如果想 向linux系统传文件,可以使用rz
命令。使用这个工具,需要安装lrzsz这个工具包:yum -y install lrzsz
。注意:在其它终端执行这个命令会使终端卡死。