软件包管理

在Linux中,不同的发行版软件管理的方式可能不一样,具体来说,主要分为两大派:

RPM: Rpm Package Manager

CentOS系统软件安装三种方式

  1. rpm:安装简单,可定制性差,一台机器上不能装多个相同的软件,稳定性高源码包
  2. 编译安装:安装复杂,可定制性好,一台机器上可安装多个相同的软件
  3. 二进制包:安装简单,可定制性差,一台机器可安装多个相同的软件,稳定性较高

怎样获取rpm包

  1. 在网络上下载rpm包: http://rpmfind.net/ //下载不常见的rpm包
  2. 网络yum源中获取 //基础源CentOS,扩展源epel
  3. 镜像中获取:在光盘镜像sr0中的Packages目录下

怎样查看光盘的内容

  1. 1.将光盘连接上
  2. 2.将光盘挂载到相应的挂载点
  3. # mount /dev/sr0 /mnt
  4. 3.通过挂载点访问光盘内容
  5. # ls /mnt

rpm包介绍

  1. zsh-5.8.2-25.el7.x86_64.rpm 包全名
  2. zsh 包名
  3. 5.8.2:主版本号.次版本号.源程序的发行号
  4. 25: rpm发行号
  5. el7:平台一般来说,不同平台的包不兼容
  6. x86_64:架构
  7. x86_64: 64
  8. i686: 32
  9. noarch:通用

RPM包管理

rpm工具

  1. 安装
  2. # rpm -ivh 包全名 //安装软件包
  3. # rpm -Uvh 包全名 //升级安装包,如果本来没有安装,则安装
  4. 卸载
  5. # rpm -e 包名
  6. --nodeps //只卸载当前软件,不检查依赖关系
  7. 查询
  8. 查询已安装的:
  9. 查询指定软件包有没有安装: # rpm -q包名
  10. 查询所有已安装的软件包: # rpm -qa //可以配合grep命令
  11. 查询已安装的软件包安装的所有文件: # rpm -ql 包名
  12. 查询已安装的软件包安装的配置文件: # rpm -qc 包名
  13. 通过文件名反查文件是由哪个包安装的: # rpm -qf文件的绝对路径
  14. 查询未安装的:
  15. 查询未安装的软件包将会安装的所有文件: # rpm -qpl 包全名
  16. 查询未安装的软件包将会安装的配置文件: # rpm -qpc 包全名
  17. 扩展:
  18. ``反引:等价于$(),引用命令的输出结果,``内部一定是命令
  19. 例:
  20. #rpm -qf `which useradd`
  21. shadow-utils-4.1.5.1-24.el7.x86_64
  22. # rpm -qf $(which useradd)
  23. shadow-utils-4.1.5.1-24.el7.x86_64
  1. rpm包无法自动解决依赖性问题,需要手动解决,非常麻烦..
  2. yum可以解决软件包之间的依赖问题

YUM工具

yum仓库

  1. 1.多个rpm
  2. 2.记录这些包及包之间的依赖关系- repodata目录

配置yum源

本地源

  1. 要使用yum仓库,需要先进行配置
  2. 主配置文件:/etc/yum.conf
  3. [root@localhost mnt]# tail -2 letc/yum.conf
  4. # PUT YOUR REPOS HERE OR IN separate files named file.repo
  5. # in /etc/yum.repos.d//仓库可以定义在这里或/etc/yum.repos.d目录下以.repo结尾的单独的文件中
  1. 实验:配置本地yum仓库
  2. 配置过程:
  3. 1、将系统光盘sr0挂载到/mnt
  4. 2、关闭或者备份其他仓库
  5. # cd /etc/yum.repos.d/
  6. # mkdir repo
  7. # mv *.repo repo/
  8. 3、创建yum配置文件
  9. # vim local.repo
  10. [local] //仓库ID
  11. name=local disk //仓库名称(描述)
  12. baseurl=file://mnt //仓库的URl 或者来源
  13. enabled=1 //开关,0为关 1为开
  14. gpgcheck=0 //秘钥是否检查
  15. 4、检验
  16. # yum repolist
  17. 【注意编写yum源文件】
  18. 1、一定要写在/etc/yum.repos.d/目录下
  19. 2、一定要以.repo 结尾,否则不生效

网络源

常用的网络源:centos官方源,epel源

国外源下载比较慢,建议使用国内镜像源:如阿里云,清华大学,网易... 直接搜索xxx开源镜像站

  1. 例如:
  2. # cat /etcyum.repos.d/base.repo
  3. [base]
  4. name=centos http base
  5. baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
  6. enabled=1
  7. gpgcheck=0
  8. # cat /etc/yum.repos.d/epel.repo
  9. [epel]
  10. name=centos http epel
  11. baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
  12. enabled=1
  13. gpgcheck=0
  14. 或者通过阿里云镜像站给的命令:
  15. # wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  16. # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

YUM命令的使用

  1. 清理yum缓存:
  2. # yum clean all
  3. 缓存软件包信息:
  4. 提高搜索/安装软件的速度
  5. # yum makecache
  6. 查询yum源信息:
  7. # yum repolist
  8. 查找软件:
  9. # yum search mysql
  10. 此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用
  11. 查看软件依赖性关系:
  12. # yum deplist httpd
  13. 查看文件属于哪个软件
  14. # yum provides rz
  15. 查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
  16. # yum list
  17. 查看系统已经安装好的软件组和没有安装的软件组(源里存在即可查到):
  18. # yum grouplist
  19. 查看软件组包含的具体软件:
  20. # yum groupinfo
  21. 安装软件组:
  22. # yum groupinstall ‘软件组名称’
  23. 如果软件或者软件组名称内有空格,要给空格转义或者加引号
  24. 安装软件:
  25. # yum install 软件名称
  26. # yum install mysql mysql-server -y //-y跳过确认提示直接安装
  27. 重装:
  28. # yum reinstall 软件名
  29. 卸载软件:
  30. # yum erase mysql-server
  31. # yum remove mysql-server
  32. # yum -y remove mysql-server
  33. 打开Yum缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)
  34. # vim /etc/yum.conf 修改下面参数的值为1,软件会被保存到cachedir指定的目录下
  35. keepcache=1
  36. 自己制作yum
  37. #mkdir /myyum
  38. 把想用yum安装的软件包拷贝到目录下
  39. #createrepo /myyum //此目录就可以作为yum源了。

Linux系统管理实战-软件包管理的更多相关文章

  1. 【one day one linux】linux下的软件包管理工具

    Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...

  2. Linux 系统管理04--账号管理

    Linux系统管理04--账号管理 一.用户账号管理 1.用户账号概述 (1)用户账号的常见分类: 1>超级用户:root uid=0 gid=0 权限最大. 2>普通用户:uid> ...

  3. Linux 系统管理06--磁盘管理

    Linux系统管理06——磁盘管理 一.磁盘结构 1.硬盘的物理结构 盘片:硬盘有多个盘片,每个盘片2面 磁头:每面一个磁头 2.硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇形区存放512字节 ...

  4. Linux常用命令——软件包管理

    Linux常用命令--软件包管理 Linux 模块依赖查询网址http://www.rpmfind.net/ ISO挂载 将所需ISO文件添加到虚拟机 建立挂载文件夹mkdir /mnt/cdrom ...

  5. 【Linux学习】Linux系统管理1—进程管理

    Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...

  6. linux 学习6 软件包管理 资料链接

    软件包管理 这一章看得比较随意 先大概记点东西. RPM安装很繁琐,因为依赖性,手动安装太麻烦. ______我觉得直接yum在线安装就好了,很直接方便. 但是要特别注意的地方 在用yum升级或者卸载 ...

  7. linux操作系统4 软件包管理

    知识内容: 1.软件包介绍 2.基本软件包安装 3.yum软件包管理 4.apt软件包管理 5.源码安装 一.软件包介绍 1.软件包分类 压缩包形式:类似.tar.gz结尾的文件(源码) rpm: r ...

  8. Linux常用命令-软件包管理工具-rpm

    命令简介 rpm(RPM Package Manager)是一个强大的命令行驱动的软件包管理工具,用来安装.卸载.校验.查询和更新 Linux 系统上的软件包. 语法格式 rpm [OPTION... ...

  9. linux的Yum软件包管理工具

    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...

  10. linux RPM(红帽软件包管理器)和Yum软件仓库中常见的命令

    RPM(红帽软件包管理器)常用命令 安装软件:rpm -ivh filename.rpm 升级软件:rpm -Uvh filename.rpm 卸载软件:rpm -e filename.rpm 查询软 ...

随机推荐

  1. 全国IP段列表

    http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest Linux下执行如下命令可将中国大陆ip格式化并导出 wget -c htt ...

  2. vue vant3上传图片文件以流的形式上传

    axios.post("/fjt_fast/sys/comm/upload", { file: param.file}, { headers: { 'Content-Type': ...

  3. Oracle之关于sql_load导入数据

    平时在工作当中经常需要统计数据,客户会提供文本或者列表,需要导入到数据库中进行数据统计碰撞等,这时候需要用到批量导入数据,之前用kettle或者plsqldeveloper的odbc导入工具,性能不行 ...

  4. Excel下载乱码

    1.前端:一定不可以以ajax的请求方式,不然会弹出乱码. 要使用<a href="../Ajax/AjaxPrint.ashx?action=PrintClick&Tid=& ...

  5. SAP abap外部断点

    如图所示:

  6. HttpWebResponse 四种accept-encoding解析(gzip, deflate, br,identity)

    HttpWebResponse 四种accept-encoding解析(gzip, deflate, br,identity[默认])            var hwrs = (HttpWebRe ...

  7. hashMap 获取里面value最大的值得key

    public static void main(String[] args) { Map<String, Integer> map = new HashMap(); map.put(&qu ...

  8. warmup --攻防世界

    题目: (1)有一张图片和一个压缩包 发现压缩包里面有一张相同的图片,应该是已知明文攻击(相同的CRC) (2)使用软件爆破 虽然没能得到密码,手动中断后得到新的压缩包,发现里面的图片已经解密. (3 ...

  9. TypeScript - 继承(extends) - 抽象类(abstract)

    (function () { /** * abstract 开头的是抽象类, * 抽象类和其他区别不大,只是不能用来创建对象 * 抽象类专门是让别人继承的的类 */ abstract class An ...

  10. URL Scheme获取

    支付宝链接或小程序获取URL Scheme 小程序(以行程卡小程序为例): URL解码https://c.runoob.com/front-end/695/ JS网址解码https://jsrun.n ...