前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux基础(day21)

linux基础(day21)

作者头像
运维小白
发布2022-01-06 13:49:54
2040
发布2022-01-06 13:49:54
举报
文章被收录于专栏:运维小白运维小白

7.1 安装软件包的三种方法

各系统中安装的文件

  • windows中,安装包双击的exe文件,也是二进制安装包,不能使用记事本或word这种文本文档工具去查看
  • linux中,安装包也是二进制文件,不能使用cat、less、head等工具去查看

安装软件包的方法

  • linux中安装软件包有三种方法
  1. rpm工具
    • 这种包就类似于windows中的exe比较相似,直接使用rpm工具就能将软件装上,不需要做过多的设置——>安装路径和文件名基本都是固定好的
  2. yum工具
    • 它是另外一种工具安装rpm包。
    • 在centos和redhat下,这种包就做 rpm包 。
    • yum属于使用python开发的工具,它实际操作的对象也是rpm包
    • yum工具比rpm工具有一个优势,支持自动安装依赖的包
  3. 源码包
    • 在windows下,几乎没有
    • 源码包,就是所谓的源代码,可以查看到各个语言开发的各种文件件,需要通过一种编辑器,把源码包编译一种可执行的文件

在三种方法中,源码包是最难的,yum工具是最简单的

7.2 rpm包介绍

rpm介绍概要

  • 设置光驱并挂载
  • rpm包格式,包名、版本名、发布版本号、平台

rpm包介绍

  • 要想使用rpm包,就需要先有rpm工具
代码语言:javascript
复制
[root@hf-01 mnt]# cd Packages/
[root@hf-01 Packages]# ls
yum-utils-1.1.31-24.el7.noarch.rpm
zenity-3.8.0-4.el7.x86_64.rpm
zip-3.0-10.el7.x86_64.rpm
zlib-1.2.7-13.el7.x86_64.rpm
zlib-devel-1.2.7-13.el7.x86_64.rpm
zsh-5.0.2-7.el7.x86_64.rpm
等等等 
  • 我们可以看到它是由 . 和 - 组成
代码语言:javascript
复制
yelp-3.8.1-7.el7.x86_64.rpm
yelp-libs-3.8.1-7.el7.x86_64.rpm
  • 从左到右可以将它们划分为几部分
  • 第一部分,字符串,这些字符串就是 包名 ,比如:yelp
    • 有时在包名中也会存在 - 或 数字 , 在包名后紧跟的是版本号
  • 第二部分,版本号 ,比如:3.8.1
    • 版本号里面又分为主版本号,次版本号,小版本号(小版本号又称之为修正版本)
      • 第1个数字就是版本号,第2个数字就是次版本号,第3个数字为小版本号
  • 第三部分,发布版本号 ,比如:7.el7
  • 第四部分,发布平台位数 ,比如:x86_64——>64位系统
    • 在centos7中,已经不再区分32位和64位,默认都是64位
    • 在centos6之前的版本(包括版本6),都是区分32位还是64位的
    • 64的平台可以安装32位的安装包的 (32位平台安装64位的包是不支持的)
  • 第五部分,后缀名 比如:.rpm

7.3 rpm工具用法

rpm使用目录概要

  • rpm -ivh rpm包文件 //安装
  • rpm -Uvh rpm包文件 //升级
  • rpm -e 包名 //卸载
  • rpm -qa //查询安装的包
  • rpm -q 包名 //查询指定包是否安装
  • rpm -qi 包名 //查询指定包的信息
  • rpm -ql 包名 //列出包安装的文件
  • rpm -qf 文件绝对路径 //查看一个文件是否是由哪个包安装的

1.安装rpm包

  • rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm //安装
    • i 表示安装
    • v 表示可视化
    • h 表示显示安装进度
代码语言:javascript
复制
[root@localhost Packages]# rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm        
准备中...                          ################################# [100%]
正在升级/安装...
   1:zsh-5.0.2-25.el7                 ################################# [100%]
代码语言:javascript
复制
这个文件在当前路径,可以加 ./zsh-5.0.2-25.el7.x86_64.rpm,或者可以使用相对路径,不用加 ./
安装rpm包的时候,也会存在依赖包

2.升级rpm包

  • rpm -Uvh zsh-5.0.2-25.el7.x86_64.rpm
    • 当发现新版本的时候,就可以直接升级

3.卸载rpm包

  • rpm -e zsh 卸载zsh包名的rpm包 //详细请看7.2rpm介绍
代码语言:javascript
复制
[root@localhost Packages]# rpm -e zsh
[root@localhost Packages]# 
代码语言:javascript
复制
直接删除,不会有任何提示。(若是有提示,很有可能是出现什么错误了)
  • 在卸载rpm包的时候,有可能会提示有依赖包存在,在去卸载依赖包的时候,会提示有更好的依赖包存在,所以rpm不太容易使用

4.查询安装包

  • rpm -qa //查看安装包
代码语言:javascript
复制
[root@localhost Packages]# rpm -qa    这里截取了前几行代码
trousers-0.3.13-1.el7.x86_64
filesystem-3.2-21.el7.x86_64
bind-license-9.9.4-37.el7.noarch
fxload-2002_04_11-16.el7.x86_64
nss-softokn-freebl-3.16.2.3-14.4.el7.x86_64
libthai-0.1.14-9.el7.x86_64
代码语言:javascript
复制
列出来的都是已经安装好的包,这些都可以直接卸载

5.查询指定包是否安装

  • rpm -q ppp 查看ppp包是否安装(ppp表示包名)
代码语言:javascript
复制
[root@localhost Packages]# rpm -q ppp
ppp-2.4.5-33.el7.x86_64
[root@localhost Packages]# 
代码语言:javascript
复制
若是已经安装的包,会直接显示出来;
若是未安装的包,则会提示未安装软件包。

查询指定包信息

  • rpm -qi vim-enhanced //查询指定包信息
    • q 表示 信息
代码语言:javascript
复制
[root@localhost Packages]# rpm -qi vim-enhanced
Name        : vim-enhanced        //包名
Epoch       : 2
Version     : 7.4.160            //版本
Release     : 2.el7                //发布版本
Architecture: x86_64            //架构
Install Date: 2017年11月02日 星期四 11时24分32秒        //安装时间
Group       : Applications/Editors            //属于哪个组
Size        : 2292098
License     : Vim
Signature   : RSA/SHA256, 2017年08月11日 星期五 04时15分38秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : vim-7.4.160-2.el7.src.rpm
Build Date  : 2017年08月02日 星期三 08时46分12秒
Build Host  : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.vim.org/
Summary     : A version of the VIM editor which includes recent enhancements
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor.  Vi was the first real screen-based editor for UNIX, and is
still very popular.  VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more.  The
vim-enhanced package contains a version of VIM with extra, recently
introduced features like Python and Perl interpreters.

Install the vim-enhanced package if you'd like to use a version of the
VIM editor which includes recently added enhancements like
interpreters for the Python and Perl scripting languages.  You'll also
need to install the vim-common package.
[root@localhost Packages]# 

列出包安装的文件

  • rpm -ql vim-enhanced //列出vim-enhanced包安装的文件
代码语言:javascript
复制
[root@localhost Packages]# rpm -ql vim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
[root@localhost Packages]# 

6.根据绝对路径去查询是由哪个包安装的

  • rpm -qf 文件绝对路径 //查看一个文件是否是由哪个包安装的
代码语言:javascript
复制
[root@localhost Packages]# rpm -qf /usr/bin/vim    根据文件的绝对路径来查看到是由哪个包安装的
vim-enhanced-7.4.160-2.el7.x86_64
[root@localhost Packages]# 

7.rpm特殊命令``

  • rpm -qf which cd
    • 特殊命令,反引号``
      • 举例:若是有一个命令 cd,但不知道它的路径在哪里
        • 使用 which cd 去查看
代码语言:javascript
复制
[root@localhost Packages]# rpm -qf `which cd`
bash-4.2.46-20.el7_2.x86_64
[root@localhost Packages]# which cd
/usr/bin/cd
[root@localhost Packages]# 

7.4 yum工具用法

yum工具目录概要

  • yum list //列出可用rpm包
  • ls /etc/yum.repos.d/
  • yum search vim //搜索包
  • yum install [-y] //安装包的命令
  • yum grouplist //搜索组的命令
  • yum groupinstall [-y] //安装组的命令
  • yum remove [-y] //卸载rpm包(直接卸载依赖包)
  • yum update [-y] //升级rpm包
  • yum provides "/*/vim" //查找命令缩依赖的包

列出可用的rpm包

  • yum工具可以解决包之间的依赖关系,只需输入包名
  • yum list //列出可用的rpm包
代码语言:javascript
复制
[root@localhost Packages]# yum list            //列出可用的rpm包(这里只截取了一点)
zziplib-devel.i686                         0.13.62-5.el7                       base     
zziplib-devel.x86_64                       0.13.62-5.el7                       base     
zziplib-utils.x86_64                       0.13.62-5.el7                       base     
代码语言:javascript
复制
最左侧是包的名字加相关信息
中间这一列是它的版本号以及平台版本号
最右侧是它仓库的名字

仓库名字的由来,可以从 /etc/yum.repos.d/ 看yum的配置文件,在 /etc/yum.repos.d/中最核心的就是CentOS-Base.repo文件

代码语言:javascript
复制
[root@localhost Packages]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@localhost Packages]# ls /etc/yum.repos.d/CentOS-Base.repo 
/etc/yum.repos.d/CentOS-Base.repo
[root@localhost Packages]# cat !$
cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@localhost Packages]# 
代码语言:javascript
复制
会看到其中 方括号中 的就是仓库的名字,把包放进容器中,而容器就是仓库,而仓库的地址上述有链接,rpm包就是在里面寻找

搜索一个包

  • yum search vim //搜索vim包
代码语言:javascript
复制
[root@localhost Packages]# yum search vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.163.com
=================================== N/S matched: vim ===================================
protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptions
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor
vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements
vim-filesystem.x86_64 : VIM filesystem layout
vim-minimal.x86_64 : A minimal version of the VIM editor

  名称和简介匹配 only,使用“search all”试试。
[root@localhost Packages]# 
代码语言:javascript
复制
会搜索到与vim相关的包,但也会搜索出来一些说明。(若想只要包,则可以过滤) 如下
  • 若想搜索的更加精准,则可以使用grep过滤下
  • yum list |grep 'vim' 搜索可用的vim包
代码语言:javascript
复制
[root@hf-01 Packages]# yum list |grep 'vim'
vim-common.x86_64                          2:7.4.160-2.el7             @base    
vim-enhanced.x86_64                        2:7.4.160-2.el7             @base    
vim-filesystem.x86_64                      2:7.4.160-2.el7             @base    
vim-minimal.x86_64                         2:7.4.160-1.el7             @anaconda
protobuf-vim.x86_64                        2.5.0-8.el7                 base     
vim-X11.x86_64                             2:7.4.160-2.el7             base     
vim-minimal.x86_64                         2:7.4.160-2.el7             base     
[root@hf-01 Packages]# 
代码语言:javascript
复制
只要包名带有vim的,就会显示出来,并且vim还会有颜色显示

安装包的命令

  • yum install [-y] 包名 ——>这里的 -y 表示加了就不在询问是否需要安装

列出可用组

  • yum grouplist //把可用的组全都列出来
代码语言:javascript
复制
[root@hf-01 Packages]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
Available environment groups:
   最小安装
   基础设施服务器
   计算节点
   文件及打印服务器
   基本网页服务器
   虚拟化主机
   带 GUI 的服务器
   GNOME 桌面
   KDE Plasma Workspaces
   开发及生成工作站
可用组:
   传统 UNIX 兼容性
   兼容性程序库
   图形管理工具
   安全性工具
   开发工具
   控制台互联网工具
   智能卡支持
   科学记数法支持
   系统管理
   系统管理工具
完成
[root@hf-01 Packages]# 
代码语言:javascript
复制
若选择其中的组就会安装组里面的rpm包,在安装完系统后,进入系统,使用yum工具安装这些组
  • 若想不想中文显示,可以输入 LANG=en

安装组的命令

  • yum groupinstall [-y] //安装可用组
    • 若安装的组是一个单词,可以不用加任何的字符
    • 若组之间是由几个单词构成(区别:就是有空格),那就加上单引号 ' '
代码语言:javascript
复制
[root@hf-01 Packages]# yum groupinstall 'Virtualization Host'

yum卸载包的命令

  • yum remove [-y] //卸载包的命令
    • yum卸载包的时候,会直接卸载依赖的包(比较危险)

yum升级包的命令

  • yum update [-y] //升级包的命令
    • 在升级包的时候,若是在该 yum update 命令后面不加载包名,则会把系统中所有的rpm包升级(包括系统、内核都会升级)
    • 一般升级的时候,都是在刚安装完系统的时候去做;若是已经安装了一些服务等,然后去升级,则会有可能出现问题

yum搜索命令是由哪个包组成

  • yum provides "/*/vim" //查找vim命令是由哪个包构成

7.5 yum搭建本地仓库

yum本地仓库目录概要

  • 挂载镜像到/mnt/目录
    • 先将光驱连接起来
    • 然后在挂载 mount /dev/cdrom /mnt/
    • 切换到/etc/yum.repos.d目录下
  • cp -r /etc/yum.repos.d /etc/yum.repos.d.bak 将文件和目录一同拷贝到另一个位置
  • vim /etc/yum/repos.d/dvd.repo //内容如下
    • [dvd]
    • name=install dvd
    • baseurl=file:///mnt
    • enable=1
    • gpgcheck=0
  • yum clean all
  • yum list

搭建yum本地仓库

  • 假设在centos中,却不能联网,而默认的yum仓库则需要远程连接资源网站下载的的,而我们则可以搭建一个yum的本地仓库,在本地的路径中安装rpm包

在做本地仓库的时候,首先需要一个光驱或光盘(镜像文件)

然后挂载,访问到其中的rpm包

并将一下文件添加到 vi dvd.repo 中去

清除之前的缓存 yum clean all

使用yum list查看,或者翻屏查看命令 yum list |less

yum本地仓库,方便使用本地的光盘作为他的仓库,做为它的依赖的包

扩展

    1. yum保留已经安装过的包
    • 设置yum保留已经下载的rpm包,供以后升级或重新安装时使用
    • 修改/etc/yum.conf文件
      • [main]
      • cachedir=/home/soft1/yumcache
      • keepcache=1
      • debuglevel=2
    • cachedir是设置下载包的地方,可以修改为自己想存放的位置
    • keepcashe为1 时,表示已经保存下载的rpm包了
代码语言:javascript
复制
[root@hf-01 ~]# vim /etc/yum.conf

[main]
cachedir=/home/soft1/yumcache
keepcache=1
debuglevel=2
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/11/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 7.1 安装软件包的三种方法
    • 各系统中安装的文件
      • 安装软件包的方法
      • 7.2 rpm包介绍
        • rpm介绍概要
          • rpm包介绍
          • 7.3 rpm工具用法
            • rpm使用目录概要
              • 1.安装rpm包
              • 2.升级rpm包
              • 3.卸载rpm包
              • 4.查询安装包
              • 5.查询指定包是否安装
              • 查询指定包信息
              • 列出包安装的文件
              • 6.根据绝对路径去查询是由哪个包安装的
              • 7.rpm特殊命令``
          • 7.4 yum工具用法
            • yum工具目录概要
              • 列出可用的rpm包
              • 搜索一个包
            • 安装包的命令
              • 列出可用组
              • 安装组的命令
              • yum卸载包的命令
              • yum升级包的命令
              • yum搜索命令是由哪个包组成
          • 7.5 yum搭建本地仓库
            • yum本地仓库目录概要
              • 搭建yum本地仓库
              • 扩展
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档