软件包管理

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

RPM: Rpm Package Manager

CentOS系统软件安装三种方式

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

怎样获取rpm包

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

怎样查看光盘的内容

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

rpm包介绍

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

RPM包管理

rpm工具

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

YUM工具

yum仓库

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

配置yum源

本地源

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

网络源

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

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

例如:
# cat /etcyum.repos.d/base.repo
[base]
name=centos http base
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0 # cat /etc/yum.repos.d/epel.repo
[epel]
name=centos http epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
enabled=1
gpgcheck=0 或者通过阿里云镜像站给的命令:
# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

YUM命令的使用

清理yum缓存:
# yum clean all 缓存软件包信息:
提高搜索/安装软件的速度
# yum makecache 查询yum源信息:
# yum repolist 查找软件:
# yum search mysql
此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用 查看软件依赖性关系:
# yum deplist httpd 查看文件属于哪个软件
# yum provides rz 查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
# yum list 查看系统已经安装好的软件组和没有安装的软件组(源里存在即可查到):
# yum grouplist 查看软件组包含的具体软件:
# yum groupinfo 安装软件组:
# yum groupinstall ‘软件组名称’
如果软件或者软件组名称内有空格,要给空格转义或者加引号 安装软件:
# yum install 软件名称
# yum install mysql mysql-server -y //-y跳过确认提示直接安装 重装:
# yum reinstall 软件名 卸载软件:
# yum erase mysql-server
# yum remove mysql-server
# yum -y remove mysql-server 打开Yum缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)
# vim /etc/yum.conf 修改下面参数的值为1,软件会被保存到cachedir指定的目录下
keepcache=1 自己制作yum源
#mkdir /myyum
把想用yum安装的软件包拷贝到目录下
#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. K8S中pod和container的资源管理:CPU和Memory

    K8S中创建pod时,可以显示地指明包含的container的资源需求(resouce request和resource limit),通常是CPU和Memory(RAM). kube-schedul ...

  2. k8s_使用k8s部署博客系统-PV PVC(二)

    PV和PVC PV(PersistentVolume)在声明的时候需要指定大小和续写模式:["ReadWriteMany","ReadWriteOnce",&q ...

  3. ssh 免密访问

    首先配置三台机器的hosts文件 填写需要配置的三台主机ip,然后命名,这里我写的时 t1 t2 t3 三台机器上都要配置hosts文件,要配置一样. 三台机器改完后保存退出 ping一下刚才配置的三 ...

  4. linux 网络操作 route iptables ufw

    linux 网络操作 route iptables ufw sudo ufw status sudo ufw allow ssh sudo ufw allow http sudo ufw deny h ...

  5. ABC136 E - Max GCD 题解

    题面 给定一个长度为 $N$ 的整数序列:$A_1, A_2, \ldots, A_n$. 您可以执行以下操作 $0 \sim K$ 次: 选择两个整数 $i$ 和 $j$,满足 $i \ne j$ ...

  6. VSCode搭建Go语言环境

    一.安装go 1. 获取go安装包   https://golang.org/dl/ 2. 本地安装(省略) 3. 配置和环境变量 GO111MODULE 是否支持gomod GOROOT go安装的 ...

  7. eggjs 在vscode调试

    https://eggjs.org/zh-cn/core/development.html?spm=ata.13261165.0.0.3c2f2be9w2ozd8#%E4%BD%BF%E7%94%A8 ...

  8. golang_nethttp

    package main import ( "encoding/json" "fmt" "log" "net/http" ...

  9. mac怎么设置开机自启动项,mac选择开机启动项

    转自 https://www.zhangshilong.cn/work/386853.html Login Items Mac OSX的当前用户成功登录后启动的程序,该类别的启动项配置文件存放在~/L ...

  10. 微信小程序 - canvas实现多行文本 ,实现文本断行

    1.canvas绘制文本坑点 绘制的文本不管多长,永远只有一行,不会断行. 2.解决思路 根据每行文本字数来断行,超出的就向下排列. 由于 canvas绘制文本的语法如下: context.fillT ...