zoukankan      html  css  js  c++  java
  • linux系统学习(三)

    包管理器

    - RPM管理

    rpm命令

    [root@test ~]# rpm --help

    Usage: rpm [OPTION...]

    常用使用方式:

    rpm -ivh Package_file.rpm

    -i : Install 安装

    -v :打印调试信息

    -h : 包档如果没有破解,则打印50个破折号

    常用参数:

    --test : 测试安装,但不真正执行安装过程

    --nodeps : 忽略依赖关系

    --replacepkgs : 重新安装

    --nofiledigest : 不检查文件的来源完整性

    --nodigest : 忽略包的完整性校验

        --nosignature : 不检查包的来源合法性

     --noscripts: 不执行程序包脚本片段

    - 升级:

    常用使用方式:

    rpm -Uvh package_file.rpm

    rpm -Fvh package_file.rpm

    -U --upgrade=<packagefile>+: 升级软件包

    -F, --freshen=<packagefile>+ : 升级软件包

    - 查询:

    rpm -q [query-options]

    -a, --all 查询所有安装包

    -f, --file 查询安装包及其相关文件

    --whatprovides : 查询指定包由哪一个包所提供

    --whatrequires  :  查询指定包由哪个包所依赖

    --changelog : 查询rpm包的changelog

    -c : 查询软件包的配置文件

    -d : 查询软件包的文档

    -i : 查询软件包的信息

    -l : 查看指定软件包安装后生成的所有文件

    --scripts: 查询程序包自带的脚本片段

    -R : 查询指定的程序包所依赖的

    --provides: 列出指定程序包所提供的

    - 卸载:

    常用使用方式:

    rpm -e package_file.rpm

    -e : 卸载软件包

    - 校验:

    常用使用方式:

    rpm -V package_file.rpm

    Verify options (with -V or --verify):

      --nofiledigest  不验证文件的完整性

      --nofiles     不验证包中的文件

      --nodeps     不验证包的依赖

      --noscript     不验证包中执行片段

      

    YUM包管理: rpm包存在依赖;YUM管理能够很好的解决依赖关系(YUM包管理能够自动安装该

    包的所有依赖包)

    实例:

    [root@test ~]# rpm -q --whatrequires net-tools

    [root@test ~]# rpm -q --whatrequires python

    rpm -qi net-tools

    rpm -ql net-tools

    rpm -qd net-tools

    rpm -qa | more

    rpm -qc chrony-3.2-2.el7.x86_64

    YUM管理:

    配置文件:

    /etc/yum.conf : 为所有仓库提供公共配置

    /etc/yum.repos.d/*.repo : 为仓库的指定提供配置

    仓库:

    远程仓库: 阿里镜像仓库  163 ...

    本地仓库:  自建的镜像仓库

    仓库指定定义:

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

    [base] #仓库ID

    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/ # 仓库的URL(远程 本地)

    远程: http ftp

    本地: file:///

    gpgcheck=1 # gpg密钥验证 : 1: 开启验证 0: 不开启验证

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 # 指定gpg密钥文件的路径

    enabled=0 # 是否启用这个仓库  0:启用 1: 不启用

    常见变量说明:

    $releasever : 当前OS发行版本的主板本号

    $arch:   平台

    $basearch :  基础平台

    常用命令:

    [root@test ~]# yum --help

    Loaded plugins: fastestmirror

    Usage: yum [options] COMMAND

    安装软件包:

    yum install package_file....

    显示仓库列表:

    yum repolist [all|enabled|disabled] 显示所有仓库列表;显示启用的仓库列表;显示禁用的仓库列表

    显示软件包:

    yum list [all | glo_exp1 ....]

    yum list available [glo_exp1...]

    升级软件包:

    yum update [package_file...]

    降级软件包:

    yum downgrade [package_file...]

    检查可用升级:

    yum check-udate

    卸载软件包:

    yum remove | erase package_file...

    查看软件包信息:

    yum info package_file...

    查看指定的特性(可以是某个文件)是由哪个软件包所提供的

    yum provides | whatprovides  feature....

    实例:

    [root@test ~]# yum whatprovides netstat

    构建缓存:

    yum makecache

    清理缓存

    yum clean

    搜索

    yum search string....

    以指定的关键字搜索软件包名及其summary信息

    查看yum相关历史:

    yum history [info|list|........]

    常用参数:

    --nogpgcheck: 禁止进行gpg check

    -y: 自动回答为"yes"

    -q: 静默模式

    --disablerepo=repoID : 临时禁用此处指定的repo

    --enablerepo=repoID  :  临时启用此处指定的repo

    --noplugins: 禁止所有插件

    包仓库管理介绍

    - 使用远程仓库

    远程仓库: 阿里镜像仓库   网易  ....

    CentOS仓库: 包含基本使用的所有软件包

    EPEL仓库: 补充基本仓库中的软件包

    Centos仓库配置:

    http://tel.mirrors.163.com/.help/centos.html

    EPEL仓库配置:

    https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.7bf81b110F7hDy

    1. 备份

    2. /etc/yum.repo.d/下配置好相关文件

    3. 清除-生成缓存

    - 本地仓库配置(使用光盘)

    1. 备份

    [root@test ~]# mv /etc/yum.repos.d/* /mnt/

    2. 挂载本地光盘

    [root@test ~]# mkdir /media/cdrom

    [root@test ~]# mount /dev/cdrom /media/cdrom

    mount: /dev/sr0 is write-protected, mounting read-only

    3. 配置文件

    [root@test ~]# cat /etc/yum.repos.d/CentOS-7.repo

    [centos]

    name=centos-7

    baseurl=file:///media/cdrom  # 还可以使用ftp http;如果是在本地话需要配置ftp服务和httpd服务

    gpgcheck=0

    enabled=1

    4. 生成缓存并查看仓库列表

    [root@test ~]# yum clean all

    [root@test ~]# yum makecache

    [root@test ~]# yum repolist

    - 关于本地仓库的自建(同步远程仓库的软件包到本地来)

    #备份源文件,编辑新文件

    [root@node1 ~]# mv /etc/yum.repos.d/CentOS-Base.repo{,.bak}

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

    [centos7]

    name=Centos-7

    baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/

    enable=1

    gpgcheck=0

    #同步源 : reposync 命令可以去同步远程仓库中的软件包

    [root@node1 ~]# reposync --repoid=centos7

    #生成repodata

    [root@node1 ~]# createrepo centos7

    #验证并生成缓存

    [root@node1 ~]# yum repolist

    [root@node1 ~]# yum makecache

    #如果添加或者删除了个人的rpm包,不需要再次重新create,浪费时间,只需要--update就可以了

    [root@node1 ~]# createrepo --update  ./

    ## 以上步骤: 将远程仓库的软件包下载到本地,然后生成仓库配置文件;这样的话,我们可以拿着这些软件包

    再次构建本地仓库,这样可以提升安装速度,另一个获取更多的软件包

    日常使用的话:

    建议: 使用远程仓库(centosepel)就够用了

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    yum clean all

    yum makecache

    yum repolist

  • 相关阅读:
    windows10关闭更新,windowsUpdate禁用无效 windows无限重启 一分钟无限重启 win10无法连接到SENS服务
    Visual Studio项目/解决方案重命名
    关于Geometry中的一些简单形状
    无法打开http://localhost:6080/arcgis/manager/
    centOS无法联网
    FTP服务器搭建
    iFrame中dateGrid中数据不显示
    关于python的基础知识
    python中int str bool list dict数据操作方法汇总
    关于int str bool的讨论
  • 原文地址:https://www.cnblogs.com/panfei-ywg/p/12785205.html
Copyright © 2011-2022 走看看