软件管理

​ 目前流行的软件包格式: 可直接执行的RPM与DEB、源代码形式的gzip与bzip2压缩包

RPM软件包管理

rpm

rpm [选项] *.rpm

  • -i --install install packages
  • -h --hash print hash marks as package installs (good with -v)
  • -v --verbose provide more detailed output
  • -e --erase=<package>+ erase(uninstall) package
  • -U --upgrade=<packagefile>+ upgrade package(s) 会删除旧版本软件(仅保留配置文件)在安装新的软件版本
  • -q    查询指定软件包是否已经安装
  • -qa   查询系统中已经安装的所有软件
  • -qi   查询指定安装软件包的详细信息
  • -ql   查询指定软件的安装路劲与文件列表
  • -qc   查询指定软件的配置文件
  • -qf   查询指定文件为那个软件所安装

rpm -vih xxx.rpm

rpm -q ftp

rpm -qa

rpm -qi bash

rpm -ql bash

rpm -qc bash

rpm -qf /etc/inittab

rpm -V bash 安全验证,可以查看软件是否被人篡改过

YUM安装软件包

YUM Yellow dog Update Modified ,RPM安装软件包可能会有依赖,需要你解决依赖安装,大量的依赖会让RPM成为恶魔

​ YUM 是解决了RPM所面临的软件包依赖问题,YUM可以从很多源中搜素软件以及他们的依赖包,并自动安装相应的依赖软件。

​ 使用YUM安装软件时至少需要一个YUM源,YUM源就是存放很多RPM软件的文件夹,用户可以使用HTTP、FTP或本地文件夹的方式访问YUM源。

设置YUM源

[] []中填写YUM源唯一的ID,可以任意
name 指定YUM源名称,可以任意字符串
baseurl 指定YUM源的URL地址(可以是HTTP、FTP或本地路径)
mirrorlist 指定镜像站点
enabled 是否激活该YUM源(0禁用,1激活,默认激活
gpgcheck 安装软件时是否检查签名(0禁用,)
gpgkey 检查签名的秘钥文件
  1.  
    [base]
  2.  
    name=CentOS-$releasever - Base
  3.  
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
  4.  
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
  5.  
    gpgcheck=1
  6.  
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  1.  
    # 配置国内阿里源
  2.  
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  3.  
    # CentOS 6
  4.  
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  5.  
    # CentOS 7
  6.  
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

$releasever 代表系统发行版本号 $arch代表CPU架构$basearch代表系统架构$YUM0-9 使用Shell对应的0-9个同名变量替换

YUM

  • -y 执行非交互式安装,假定安装过程中出现所有的提示回答为YES

  • install package1 [package2] 使用yum安装软件包
  • remove|erase package1.. 卸载软件包
  • list [...] 列出系统中已经安装的已经yum源中所有可用的软件包
  • info [...] 查看软件包信息
  • clean all 清空所有缓存信息
  • groupinstall group1 [...] 使用yum源安装租宝
  • grouplist 列出系统已经安装的已经yum源中所有可用的组包
  • groupremove [..] 卸载组包
  • search [...] 根据关键词查软件
  • localinstall rpmfile1... 通过本地rpm文件安装软件
  • history 查看历史记录

源码编译安装软件

  • 下载
  • 编译configure .configure --help
  • 运行 make
  • 安装 make install

常见问题分析

--nodeps 忽略依赖关系

使用rpm安装时,系统提示软件之间有相互依赖关系,但当没有相互依赖包的情况下,可以使用

--nodeps 选项忽略依赖关系 卸载软性可以用

2、RPM数据库损坏
RPM 软件包的相关数据存放在/var/lib/rpm/ 目录下

rpm -rebuiddb 修复数据资料

3、软件安装的时间问题
系统提示"warning:clock skew detected."错误

通过date -s "2018-12-02 14:40" 修改系统时间,并通过hwclock -w 更新写入CMOS时间

4、YUM 繁忙
kill pid

GCC编译器问题
安装gcc就ok

运维yum语法的更多相关文章

  1. 运维ldd语法--》ldconfig

    Linux:ldd命令详解   ldd 用于打印程序或者库文件所依赖的共享库列表. 语法 ldd(选项)(参数) 选项 --version:打印指令版本号: -v:详细信息模式,打印所有相关信息: - ...

  2. 运维ps语法---》ps、pstree、top、htop、nice、renice、kill、ulimit、w 和 who 和 whoami、pgrep、fg 和 bg、ipcs

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  3. 运维chroot语法

    chroot命令 chroot命令用来在指定的根目录下运行指令.chroot,即 change root directory (更改 root 目录).在 linux 系统中,系统默认的目录结构都是以 ...

  4. 运维yum搭建zabbix

    前言:           zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.           zabbix能监视各种网络参数,保证 ...

  5. 运维rpm语法

    Linux软件包分类 rpm 常用命令1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.卸载一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文 ...

  6. 运维ip语法,DNS配置方法

    修改配置文件: /etc/resolv.conf nameserver DNS_IP_1 nameserver DNS_IP_2 nameserver 指定本机解析: /etc/hosts 主机IP ...

  7. 运维seq语法

    seq-print a sequence of numbers 用于产生从某个数到另外一个数之间的所有整数 语法:seq 开始列  指定步长  结束列 参数: -f :指定输出格式,允许使用print ...

  8. 运维grep语法

    grep的语法和用法 grep命令的格式: grep   [options]   PATTERN  [FILE] 其中:1,pattern是用正则表达式书写的模式.2,FILE是要查找的文件,可以是用 ...

  9. 运维nslookup语法

    nslookup 查询域名DNS信息的工具 补充说明 nslookup命令 是常用域名查询工具,就是查DNS信息用的命令. nslookup4有两种工作模式,即“交互模式”和“非交互模式”.在“交互模 ...

随机推荐

  1. Git笔记整理

    git 分支:   &.创建分支      创建分支很简单:git branch <分支名>       &.切换分支      git checkout <分支名& ...

  2. flutter -------- GridView的使用

    使用GridView将widget放置为二维列表. GridView提供了两个预制list,或者您可以构建自定义网格.当GridView检测到其内容太长而不适合渲染框时,它会自动滚动. GridVie ...

  3. C#数组--(一维数组,二维数组的声明,使用及遍历)

    数组:是具有相同数据类型的一组数据的集合.数组的每一个的变量称为数组的元素,数组能够容纳元素的数称为数组的长度. 一维数组:以线性方式存储固定数目的数组元素,它只需要1个索引值即可标识任意1个数组元素 ...

  4. decode函数解决oracle报错"除数为0"的问题

    公司的网站在运行的时候突然报错打不开了,打开一看发现报了一个错:ORA-01476:除数为0. 网上一搜发现还是挺多人遇到这个问题的,解决办法就是用decode函数. decode是oracle内置的 ...

  5. 简易OA漫谈之工作流设计(四,怎么支持会签)

    会签:就是一个步骤要所有人都审批完成才能完成. 上一步提交到会签步骤时,该步骤的每个人都能收到一条待办任务, 会签审批人每次提交时都检查该步骤所有会签人是否已经审批,如果全部审批就产生下一手任务. 演 ...

  6. vue2.0自学笔记

    前言: 一.优点: 轻量级.高效率.上手快.简单易学.文档全面而简洁 二.功能: 1.模板渲染 2.模块化 3.扩展功能:路由.Ajax 三.课程包含: 1.Vue实例 2.Vue组件 3.Vue指令 ...

  7. Spring实现WebSocket通信

    WebSocket是两个应用之间全双工的通信通道.WebSocket最常见的应用场景是实现服务器和基于浏览器的应用之间的通信. 浏览器中的javascript客户端开启一个到服务器的连接,服务器通过这 ...

  8. learning makefile ?=

  9. Spring Boot:定时任务

    在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容, Spring Boot 默认已经帮我们实行了,只需要添加相应的注解就可以实现 1.pom 包配置 pom 包里面只需要引入 Spring ...

  10. vue兄弟组件传递信息

    bus方式的组件间传值其实就是建立一个公共的js文件,专门用来传递消息 新建一个Bus.js两个组件都需要引用 组件A 通过$emit传递信息 组件B $on接收