首页 > 系统相关 >Linux系统管理实战-软件包管理

Linux系统管理实战-软件包管理

时间:2022-10-03 21:45:46浏览次数:44  
标签:系统管理 rpm Linux repo yum 软件包 软件 安装

软件包管理

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

image-20220516163553071

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源了。

标签:系统管理,rpm,Linux,repo,yum,软件包,软件,安装
From: https://www.cnblogs.com/boldcc/p/16751347.html

相关文章

  • 主机访问不了Linux虚拟机
    一、检查防火墙systemctlstatusfirewalldsystemctlstopfirewalldsysytemctldeablefirewalld二、检查是否ip冲突#试着关闭NetworkManagersystemctlstopNetworkmanag......
  • 《Unix/Linux系统编程第十一章学习笔记》
    第11章EXT2文件系统11.1EXT2文件系统多年来,Linux一直将EXT2作为默认文件系统。EXT3是EXT2的扩展。EXT3中增加的主要内容是一个日志文件,他将文件系统的变更记录在日志中......
  • 《Unix&Linux系统编程》第七章学习笔记
    第11章EXT2文件系统Linux一直使用EXT2作为默认文件系统。EXT3是EXT2的扩展,增加了一个日志文件,它将文件系统的变更记录在日志中,日志可在文件系统崩溃时更快地从错误中恢复......
  • 什么是Linux
    导读对于刚刚接触Linux的人来说,Linux到底是个什么往往不好解释。因为太过于常见而难以向从未接触过的新人作介绍,简单理解成哈利刚刚走入九又四分之三车站,一下子和原有的世......
  • 《Unix/Linux系统编程》第五周学习笔记
    《Unix/Linux系统编程》第五周学习笔记EXT2文件系统ext2功能Ext2(第二扩充文件系统)是一种功能强大、易扩充、性能上进行全面的优化的文件系统,也是目前Linux文件系统实际......
  • Tubian Linux 0.44,增加了对无线网卡的支持
    Github主页(提供下载):https://github.com/jinshulumengchuang/Tubian-Linux123网盘下载:https://www.123pan.com/s/XjkKVv-JO9Uvhttps://www.123pan.com/s/XjkKVv-BO9Uvhtt......
  • 【Linux】学习-07-Linux防火墙端口
    firewall-cmd--list-ports:查看当前开启的端口情况firewall-cmd--zoon=public--add-port=9000/tcp-parmanent:开启9000端口firewall-cmd--reload:重启防火墙,上......
  • 【Linux】学习-06-磁盘管理与进程管理
    1、磁盘管理df:显示当前磁盘的情况,显示的是字节的形式df-h:以M为单位显示当前磁盘的使用情况 du:查看当前文件夹所占用的空间du-a:查看当前文件夹下每个文件(夹......
  • 【linux】查看环境变量|getenv & setenv设置获取环境变量getenv & setenv 获取&设置环
    目录​​环境变量类型​​​​查看环境变量​​​​系统的环境变量​​​​进程的环境变量​​​​初始化时载入的环境变量​​​​执行过程中设置的环境变量​​​​环境变......
  • vcftools如何在Linux系统中安装
    这里,记录一下vcftools的安装教程。1.下载​​https://vcftools.github.io/examples.html​​下载到本地,上传到服务器中。2.解压缩unzipvcftools-vcftools-v0.1.16-18-g......