1-8-rhel7-软件包管理


时间: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 镜像的位置):

  • 9181524-ec991e5fb8452dbf.png
    设置挂载DVD镜像
  • 点击确定以后,在虚拟机右下角的 DVD光盘图标 中,右键点击连接,linux中就能看到光盘了。

  • 9181524-93491583442957a0.png
    VMware中关盘图标
  • 使用 df -l 查看一下挂载点,默认挂载到了 /media/CentOS_6.9_Final/ 目录下:

  • 9181524-fa04ae13c34ef49a.png
    查看挂载点

一、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包名]

  • 9181524-a030f946e10a9c94.png
    查看已安装包
  • 查看一个未安装包的安装后将生成的文件: rpm -qpl [rpm包名]

  • 9181524-ee55fc8a9d85295e.png
    查看未安装软件

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

  • 9181524-e34ce380521a0250.png
    验证结果

导入密钥: 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/

  • 9181524-0bb88cfba91f8e4b.png
    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源一般由开源镜像站提供,开源镜像站一般会提供一个配置文件,比如阿里镜像站:

http://mirrors.aliyun.com/repo/

或者网易镜像站:

http://mirrors.163.com/.help/

找到对应的 .repo 文件,下载放入 /etc/yum.conf.d/ 这个目录下就可以了。每一个 .repo 文件都配置了一个源,所以如果原来的 .repo 文件,你不想用了,将它从 /etc/yum.conf.d/ 这个目录删除就可以了。然后执行 yum clean allyum makecache 更新一下就可以了。

三、源码编译安装软件包

  • 解压源代码包。
  • 进入解压后的目录,用 ./configure [--prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)。
  • 编译:make -j 4
  • 安装:make install

源码方式安装nginx服务器:

  • 需要 pcre-develzlib-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

  • 9181524-70d19952d18e66c2.png
    启动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!

  • 9181524-86b2ef814faba7c8.png
    查看网页源代码

四、使用 | 管道命令

管道命令: | 。将前面命令的输出信息,最为后面命令的输入信息。比如,执行rpm -qa 这个命令时,终端会打印很多信息。如果将这些输出信息,作为grep命令的输入,grep命令通过这些输入字符,找到包含 httpd 字符的字符串。

  • 9181524-b8a1ed959b50a74a.png
    管道应用
  • 可以进行分页查看: 打印信息太多时,追加上 | more 进行分页查看,例如 rpm -qa | more

Xshell与远程机器通信

  • rz命令: 在使用Xshell这个SSH工具登陆Linux时,如果想 向linux系统传文件,可以使用 rz 命令。使用这个工具,需要安装lrzsz这个工具包:yum -y install lrzsz注意:在其它终端执行这个命令会使终端卡死。

猜你喜欢

转载自blog.csdn.net/weixin_33974433/article/details/87425349
今日推荐