美文网首页
Centos7软件包的管理与安装

Centos7软件包的管理与安装

作者: 白色衬衫_f48d | 来源:发表于2018-11-25 20:50 被阅读0次

    Centos7软件包的管理与安装

    一、linux网络相关的调试命令

    查看IP相关信息

    ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。

    [root@localhost ~]# ifconfig

    修改网卡IP地址

    修改网卡配置文件

    [root@localhost ~] # vim /etc/sysconfig/network-scripts/ifcfg-ens33

    TYPE=Ethernet                         #设置类型是以太网设备,如图:

    PROXY_METHOD=none

    BROWSER_ONLY=no

    BOOTPROTO=none                                       # 参数:static静态IP 或dhcp 或none无(不指定),如是none,配上IP地址和static效果一样

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=no

    IPV6INIT=yes

    IPV6_AUTOCONF=yes

    IPV6_DEFROUTE=yes

    IPV6_FAILURE_FATAL=no

    IPV6_ADDR_GEN_MODE=stable-privacy

    NAME=ens33                     #网卡名字

    UUID=c713acec-674b-411d-9e61-646482a292ca                #网卡UUID,全球唯一

    DEVICE=ens33                           #设备名字,在内核中识别的名字

    ONBOOT=yes                             #启用该设备,如果no,表示不启动此网络设备IPADDR=192.168.1.63                #IP地址

    PREFIX=24                                 #子网掩码,24相当于255.255.255.0

    GATEWAY=192.168.1.1             #默认网关

    案例:给虚拟机再添加一个网卡,并手动成生网卡配置文件

    [root@localhost ~]# init 0                        #关机添加一块网卡新加的网卡,使用桥接模式。[root@localhost ~]# ifconfig -a               # -a查看所有网络设备,包括没有启动的网卡设备ens33: flags=4163mtu 1500。。。

    ens37: flags=4163 mtu 1500

    注:我这里显示第二块网卡名字是ens38,你那边可能不是。这是由内核实别出来的

    默认新增加的网卡没有配置文件,现在手动添加一个

    [root@localhost network-scripts]# vim ifcfg-ens38 #修改内容

    一、自动化获取IP地址

    原版:

    改如下:

    二、静态配置ip地址

    IPADDR=192.168.1.63                         #IP地址

    PREFIX=24                                         #子网掩码,24相当于255.255.255.0 GATEWAY=192.168.1.1                     #默认网关

    BOOTPROTO=none                     # 参数:static静态IP 或dhcp 或none无(不指定),如是none,配上IP地址和static效果一样

    配置DNS地址:

    [root@localhost ~]# service network restart                 #重启网络服务生效 

    案例:临时配置IP地址

    [root@localhost ~]# ifconfig ens38 192.168.1.90

    查看端口的监听状态

    netstat 命令:                  查看系统中网络连接状态信息,

    常用的参数格式 : netstat -anutp 

    -a, --all            显示本机所有连接和监听的端口 

    -n, --numeric don't resolve names                   以数字形式显示当前建立的有效连接和端口 

    -u                    显示udp协议连接 

    -t                     显示tcp协议连接 

    -p, --programs     显示连接对应的PID与程序名

    扩展:watch

    作用:实时监测命令的运行结果,可以看到所有变化数据包的大小

    -d, --differences ['dɪfərəns]                             #高亮显示指令输出信息不同之处;

    -n, --interval seconds [ˈɪntəvl]                         #指定指令执行的间隔时间(秒);

    例1:每隔1秒高亮差异显示ens33相关信息

    [root@localhost ~]# watch -d -n 3 "ifconfig ens33"                 Ctrl+c 就可以退出~

    二、软件包的管理

    软件包的类型

    RPM概述:RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、SUSE以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

    rpm软件包的管理

    作用:rpm的作用类似于windows上的电脑管家中“软件管理”、安全卫士里面“软件管家”等产品,

    主要作用是对linux服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装。

    ①查询某个软件的安装情况

    #rpm -qa|grep 关键词

    选项:

    -q:查询,query               -a:全部,all

    案例:查询linux上是否安装firefox

    ②卸载某个软件

     #rpm -e 软件的名称(建议写完整的名称)

    案例:卸载火狐浏览器

    #rpm -qa | grep ‘firefox’

    [root@localhost ~]# rpm -qa | grep firefox

    火狐卸载的时候是没有依赖关系的,所以可以直接卸载。

    ③软件的安装 要想装软件,和windows下一样,先得找到安装包。

     软件包的获得方式:

    a. 去官网去下载;

    b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;

    所有的软件包都存在光盘下的packages下

    安装软件的命令:

     #rpm -ivh 软件包完整名称

    选项:

    -i:install,安装

    -v:显示进度条

    -h:表示以  “#” 形式显示进度条

     挂载光盘

    命令:mount

    语法:#mount 设备原始地址 要挂载的位置路径 设

    备原始地址:地址统一都在/dev下,然后根据大小确定具体name值,拼凑在一起组成原始地址,

    例如当前:“/dev/sr0”

    要挂载的位置路径:挂载目录一般都在mnt下,也可以在mnt下建目录,此处以“/mnt/dvd”为例

    安装:

    查看是否安装成功:

    rpm包的获取方式:

    1、Centos系统镜像光盘

    2、网站rpmfind.net

    3、比如安装mysql、nginx软件,我们可以去它的官方网站下载:http://www.mysql.com rpm包格式的说明

    挂载:

    [root@localhost ~]# mount /dev/cdrom /mnt/

    例1:[root@localhost#ls /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm /mnt/Packages/zsh-5.0.2-28.el7.x86_64.rpm zsh               -5.          0.            2-                   28.                        el7.                      x86_64.rpm

    软件名    主版本号  次版本号  修订  release(第几次发布版本) 操作系统版本   软件包是64位包

    #修订指是的第几次修改bug。 发布指的是:第几次发布。 发布时,可能只是对软件安装的默认参数做了修改,而没有其它改动。

    安装rpm软件

    RPM工具使用分为安装、查询、验证、更新、删除等操作

    命令格式:rpm [参数] 软件包

    参数:

     -i 是install的意思, 安装软件包

    -v 显示附加信息,提供更多详细信息

    -V 校验,对已经安装的软件进行校验

    -h --hash 安装时输出####标记

    互动:rpm使用时,什么情况下使用软件包全名,什么时候使用软件包名?

    全名:在安装和更新升级时候使用

    包名:对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等 ,使用包名。它默认是去目录/var/lib/rpm下面进行搜索。 当一个 rpm 包安装到系统上之后,安装信息通常会保存在本地的 /var/lib/rpm/目录下。

    从本地安装

    挂载:

    [root@localhost ~]# mount /dev/cdrom /mnt/

    从网上下载直接安装centos epel扩展源

    前提自己虚拟机能上网:

    例:

    rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    #安装centos epel扩展yum源。 注:epel源是对centos7系统中自带的 base源的扩展。

    ivh表示安装

    rpm查询功能

    用法:rpm -q(query) 常与下面参数组合使用

    -a(all) 查询所有已安装的软件包

    -f(file)系统文件名(查询系统文件所属哪个软件包),反向查询

    -i 显示已经安装的rpm软件包信息,后面直接跟包名

    -l(list) 查询软件包中文件安装的位置

    -p 查询未安装软件包的相关信息,后面要跟软件的命名

    -R 查询软件包的依赖性

    例:

    [root@localhost ~]# rpm -q zsh                         --->查询指定的包是否安装

    [root@localhost ~]# rpm -qa                              --->查询所有已安装包

    [root@localhost ~]# rpm -qa | grep vim             --->查询所有已安装包中带vim关键字的包 [root@localhost ~]# which find                           #查看find命令的路径 /usr/bin/find [root@localhost ~]# rpm -qf /usr/bin/find            #查询文件或命令属于哪个安装包

    查询已经安装的rpm包的详细信息或作用

    rpm -qi rpm包名

    [root@localhost ~]#rpm -qi lrzsz

    rpm包卸载和升级

    用法:rpm -e(erase) 包名

    [root@localhost ~]# rpm -qa zsh                     # 查询              zsh-5.0.2-28.el7.x86_64

    参数: --nodeps 忽略依赖,建议在卸载时不要用rpm去卸载有依赖关系的包,应该用yum

    [root@localhost ~]# rpm -e zsh                    #卸载

    [root@localhost ~]# rpm -e --nodeps lrzsz                  忽略依赖关系直接卸载

    升级:

    [root@localhost ~]# rpm -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm                #因为升级时会有一些依赖包要解决。 所以一般我们使用yum update 包 来升级。

    手动解决rpm依赖关系:

    [root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm

    警告:/mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

    错误:依赖检测失败:

    解决:

    [root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-5.5.56-2.el7.x86_64.rpm

    [root@localhost ~]# rpm -ivh /mnt/Packages/perl-DBD-MySQL-4.023-5.el7.x86_64.rpm

    [root@localhost ~]# rpm -ivh /mnt/Packages/mariadb-server-5.5.56-2.el7.x86_64.rpm (最后安装)

    三、YUM包的使用

    yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

    YUM:解决依赖关系问题,自动下载软件包,它是基于C/S架构

    C=client                  S=ftp\http\file

    配置yum源

    配置本地yum源

    1、挂载镜像: 先确定虚拟机光驱中有加载系统镜像

     [root@localhost ~]# mount /dev/cdrom /mnt/                       #先挂载

    [root@localhost ~]# ls /mnt/

    2、配置yum源文件:

    [root@localhost ~]# vim /etc/yum.repos.d/centos7.repo         #必须以.repo结尾,插入以下内容

    [centos7]

    name=CentOS7

    baseurl=file:///mnt

    enable=1

    gpgcheck=0

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

    注:

    [centos7]                         #yum源名称,在本服务器上唯一的,用来区分不同的yum源

    name= CentOS7            #对yum源描述信息

    baseurl=file:///mnt           #yum源的路径,本地(file:///... 光盘挂载目录所在的位置)

    enabled=1                      #为1,表示启用yum源;0为禁用

    gpgcheck=0                    #为1,使用公钥检验rpm包的正确性;0为不校验

    注意:yum list #检查yum源是否配置好

    网络yum源

    Centos 7 配置网络yum源

    [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    #wget 下载文件 ,-O 将wget下载的文件,保存到指定的位置,保存时可以重新起一个名字,或者直接写一个要保存的路径,这样还用原来的文件名。

    查看:

    [root@localhost ~] # vim /etc/yum.repos.d/CentOS-Base.repo

    找到这一条:baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

    注:$releasever系统的版本的值等于

    [root@localhost ~]# cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)

    $basearch 等于:x86_64

    排错: 如果下载Centos-7.repo后,不用能

    解决:打开阿里云链接:http://mirrors.aliyun.com/centos/ 找到centos7最新版本号,如:

    然后执行:sed进行全文替

    [root@localhost ~]# sed -i 's/$releasever/7.5.1804/g' /etc/yum.repos.d/CentOS-Base.repo

    [root@localhost ~]# yum clean all                        #清空一下yum缓存

    [root@localhost ~]# yum list                                 #查看列表

    yum使用

    yum常用操作:

    [root@localhost ~]# yum install -y httpd               #安装软件包, -y 直接安装

    [root@localhost ~]# yum -y update                   #升级软件包,改变软件设置和系统设置,系统版本内核都升级

    [root@localhost ~]# yum -y upgrade                 #升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变

    [root@localhost ~]# yum -y update                    # 不加任何包,表示整个系统进行升级 [root@localhost ~]# yum info httpd                    #查询rpm包作用

    [root@localhost ~]# yum provides /usr/bin/find     #查看命令是哪个软件包安装的 [root@localhost ~]# yum -y remove 包名              #卸载包

    [root@localhost ~]# yum search keyword             #按关键字搜索软件包

    yum报错,注意的几个小问题:

    1、确定光盘是否链接,光盘是否挂载

    2、配置文件中格式是否正确,字母,符号有没有少写,挂载点和配置文件中设置的是否一致

    3、网络源需要联网,操作和RPM类似,只是会自动安装依赖项。

    yum安装开发工具软件包组

    # yum grouplist #查看有哪些软件包组

    语法:yum groupinstall GROUPNAME

    案例:安装开发工具组

    [root@localhost ~]# yum groupinstall "开发工具"

    注意:已经安装了

    切到英文环境:

    yum grouplist                       #显示中文,如果想变成英文,则执行以一下命令

    [root@bogon Packages]# echo $LANG               zh_CN.UTF-8

    [root@localhost ~]#LANG=en_US.UTF-8                 # 切换英文环境

    [root@localhost ~]# yum grouplist

    测试:

    [root@localhost ~]# yum remove gcc -y #卸载开发工具软件组中的gcc包

    [root@localhost ~]# yum groupinstall 'Development tools' -y #安装开发工具软件包组,安装这组软件包时,把gcc再安装上了

    相关文章

      网友评论

          本文标题:Centos7软件包的管理与安装

          本文链接:https://www.haomeiwen.com/subject/splmqqtx.html