Linux系统基础(12)--软件管理
一.Linux下的软件安装包类型
目前主流的for linux软件安装包,主要有两种:二进制包以及源码包(tar包)。
1.二进制包
二进制包,也就是源码包经过成功编译之后产生的包。由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快,且安装过程报错几率大大减小。
二进制包是 Linux 下默认的软件安装包,目前主要有以下 2 大主流的二进制包管理系统:
- RPM 包管理系统:功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。
- DPKG 包管理系统:由 Debian Linux 所开发的包管理机制,通过 DPKG 包,Debian Linux 就可以进行软件包管理,主要应用在 Debian 和 Ubuntu 中。
2.源码包
源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。由于源码包的安装需要把源代码编译为二进制代码,因此安装时间较长。
源码包在所有的Linux版本中都能使用,但安装过程也最麻烦,需要先编译后安装,安装好后有稳定,可定制性强等优点。后缀一般为 tar.bz2 tar.gz tar.xz
二.RPM包管理
注意:[软件包全名]=绝对路径+软件全名
注意:[包名]就是短名称,如:httpd firefox等
1.RPM包默认安装路径
安装路径 | 含 义 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
2.rpm软件包的获取
第一种方式:直接去官网去下载(http://rpm.pbone.net。
第二种方式:如果不介意老版本的话,可以从光盘(或者镜像文件)中读取。切换到光盘的挂载目录下,有一个package目录,该目录下有很多rpm软件包。
3.rpm软件包的安装卸载升级
(1)安装
rpm -ivh [软件包全名]
#选项说明:
-i:install,安装
-v:显示进度条
-h:表示以"#"形式显示进度条(2)卸载
rpm -e [软件包全名]
#选项说明:
--nodeps :强制卸载(3)升级
rpm -Uvh [软件包全名]
选项说明:
-U :Update,更新操作
4.rpm命令查询软件包
rpm -q [包名] #查询软件包是否安装
#注意这里使用的是软件包名称,而不是全名。
#因为已安装的软件包只需给出包名,系统就能成功识别(使用全名反而无法识别)。rpm -qa #查询系统中所有安装的软件包(可搭配grep使用)rpm -qi [包名] #查询软件包的详细信息rpm -ql [包名] #查询软件包的文件列表rpm -qf [系统文件名] #查询系统文件属于哪个RPM包rpm -qR [包名] #查询软件包的依赖关系rpm -qc [包名] #查询软件包有哪些配置文件
案例:搜索计算机中已安装的firefox软件包
rpm -qa |grep firefox
案例:把系统中的firefox浏览器进行卸载操作
rpm -qa |grep firefox
firefox-60.2.2-1.el7.centos.x86_64rpm -e firefox-60.2.2-1.el7.centos.x86_64
案例:查询/etc/ntp.conf 属于哪个软件包
rpm -qf /etc/ntp.conf
ntp-4.2.6p5-28.el7.centos.x86_64
案例:查询firefox软件生成了哪些文件
rpm -ql firefox#特别说明:软件安装完成后,一共生成了以下几类文件
#配置文件类:/etc目录
#程序文件本身,二进制文件命令:/usr/bin或/usr/sbin目录
#文档手册:/usr/share/doc或man目录
5.RPM包校验
为了能够及时发现文件误删、误修改文件数据、恶意篡改文件内容等问题,Linux提供RPM包校验。
rpm -V [已安装的包名] rpm -Kv [已安装的包名] #检测软件md5校验码
三.yum(dnf)命令管理软件
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
1.yum源优点
RPM安装(下载软件、单独安装、需要解决依赖关系)
源码安装(下载软件的源码包,解压,进入目录=>配置+编译+安装)
yum源:相当于rpm软件包管理的升级,能够解决软件包之间的依赖关系,提高工作效率。
yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,我们也可以通过rpm -qa |grep 软件名称
2.yum源分类
☆ 本地yum源
yum仓库在本地(系统光盘/镜像文件) => 不需要网络的支持
☆ 网络yum源
yum仓库不在本地,在远程
国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
阿里源:https://opsx.alibaba.com/mirror
网易源:http://mirrors.163.com/
搜狐源:http://mirrors.sohu.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/国外较知名的网络源(centos源、redhat源、扩展[epel]源等)
特定软件相关的网络源(Nginx、MySQL、Zabbix等)
3.本地yum源配置
注意:操作前最好先备份一下原来的yum源
本地yum源,就是使用光盘镜像作为YUM源仓库
第一步:用VM的先连接好ISO影像文件。
第二步:把光盘挂载到某个目录下
rm -rf /mnt/*
mount -o ro /dev/sr0 /mnt
卸载或解挂可以使用umount /mnt
第三步:把光盘挂载添加到开机启动文件中
chmod +x /etc/rc.local
echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local
/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行此文件
第四步:编写本地YUM仓库文件
cd /etc/yum.repos.d/
#创建一个以*.repo结尾的文件,名称任意
vim local.repo
[local]name=local yumbaseurl=file:///mntgpgcheck=0enabled=1yum clean all
yum makecache
yum repolist all
第五步:测试本地YUM仓库是否可用
yum install httpd -y
4.网络yum源配置
第一步:搜索你想要的YUM源,进入官网,找到CentOS
第二步:根据官网提供的教程,配置阿里云的YUM源
5.EPEL源配置
EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方在带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
yum install epel-release -y
6.特定软件的源配置
拿nginx举例,首先进入nginx的官网,一般官网都有yum配置文件的内容
我们只需要创建一个repo文件,并把文件内容从官网拷贝过来即可
http://nginx.org/en/linux_packages.html#RHEL-CentOS
cd /etc/yum.repos.d
vim nginx.repo[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
7.如何自己建立一个yum仓库?
缓存安装过的软件包,或自己下载好软件安装包
☆ 什么时候需要缓存软件?
- 下次还需要安装相同版本的软件包
- 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
☆ 如何缓存软件安装包
vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 定义软件包的缓存路径
keepcache=1 1开启缓存;0关闭
debuglevel=2
logfile=/var/log/yum.log
☆ 把软件及依赖软件全部下载到某个路径
只下载不安装软件:
yum install --downloadonly --downloaddir=保存路径 软件名称
案例:下载samba软件及依赖软件
mkdir /soft
yum install --downloadonly --downloaddir=/soft samba
☆ 自定义YUM仓库
第一步:在系统中安装createrepo制作仓库的软件
yum install createrepo -y
第二步:把/soft文件夹做成一个本地的自建仓库
createrepo /soft
第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库
cd /etc/yum.repos.d/
vim soft.repo
[soft]
name=soft yum
baseurl=file:///soft
gpgcheck=0
enabled=1
第四步:清理缓存+重建缓存:
# yum clean all
# yum makecache
8.常用yum命令
在rhel8中yum是dnf的软连接
命令 | 功能 |
---|---|
yum install | 安装 |
yum remove | 卸载 |
yum reinstall | 重新安装 |
yum list installed /available/all/软件名称 | 列出 |
yum update | 更新 |
yum repolist | 列出仓库信息 |
yum history | 查看yum历史 |
yum info | 查看软件包信息 |
yum clean all | 清除yum缓存 |
yum search | 根据软件信息搜索 |
yum whatprovides | 根据软件包含文件搜索 |
yum groups install | 组安装 |
yum groups remove | 组卸载 |
yum groups info | 组信息 |
四.源码安装
在Linux系统中,源码安装一共分为三步:
第一步:配置过程(配置软件的安装路径)
第二步:编译过程(把软件由源代码编译成可以安装的程序)
第三步:安装过程(把编译后的程序进行安装)
cd [软件源码包]
./configure && make && make install
五.ubantu下的软件安装
1.在线安装(apt)
apt [options] [command] [package ...]
- options: 可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
- command: 要进行的操作。
- package:安装的包名。
apt 常用命令
列出所有可更新的软件清单命令:sudo apt update
升级软件包:sudo apt upgrade
列出可更新的软件包及版本信息:apt list --upgradeable
升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
安装指定的软件命令:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
更新指定的软件命令:sudo apt update <package_name>
显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
删除软件包命令:sudo apt remove <package_name>
清理不再使用的依赖和库文件: sudo apt autoremove
移除软件包及配置文件: sudo apt purge <package_name>
查找软件包命令: sudo apt search
列出所有已安装的包:apt list --installed
列出所有已安装的包的版本信息:apt list --all-versions
2.软件包安装
#在Ubuntu下安装文件为deb格式
#软件安装
sudo dpkg -i xxx.deb#软件卸载
sudo dpkg -r 软件名
Linux系统基础(12)--软件管理相关推荐
- 12.linux系统中的软件管理
12.linux系统中的软件管理 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1)需要源码 ...
- Linux系统中的软件管理
Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...
- Linux系统中的软件管理详解(下)—搭建网络软件仓库及第三方软件仓库
Linux系统中的软件管理详解(下) 5.软件仓库管理命令 a)dnf 命令: 管理软件仓库中的安装包 dnf repolist ##列出仓库信息clean all ##清除系统中已经加载的仓库缓存信 ...
- 详解Linux系统中的软件管理及软件仓库
目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 五.dnf软件管理命令 总结 一.Linux中软件包的类型 DEB UEBlinux DEB ...
- Linux系统下的软件管理
文章目录 前言 1.Linux中软件包的类型 2.软件包的名称结构 3. rpm命令管理软件包 二.软件仓库的搭建 1. 本地软件仓库的搭建 2.在线软件仓库的搭建 1.环境准备 三.dnf 软件管理 ...
- RH124 第十二章 Linux系统中的软件管理
RH124 第十二章 Linux系统中的软件管理 1.Linux中软件包的类型 1.DEB #UBlinux DEBlinux 2.RPM #redhat centOS fc 3.bz2|gz|xz ...
- Linux系统基础-2018-日常管理和维护
linux-10.日常管理和维护 1. RPM软件包管理 1.1. RPM软件包简介 1.1.1. 什么是RPM软件包 1.1.2. PRM软件包的设计目标 1.1.3. PRM包管理的用途 1.2. ...
- Part1.8——Linux系统中的软件管理
目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 1.系统软件仓库的作用是什么? 2.搭建方法 (1)在系统中加载安装系统时使用的安装镜像 ( ...
- 1-8 linux系统中的软件管理
#### 1.Linux中软件包的类型 #### 1.DEB #UBlinux DEBlinux 2.RPM #redhat centOS fadora 3.bz2|gz ...
最新文章
- PHP正则表达式规则及常用方法整理
- linux安装redis 完整步骤
- 【Qt】打开现有 Qt 项目 ( 打开已存在的项目 | 运行打开的项目 )
- C++中的STL--基本概念
- matlab m文件的编写,Matlab实验报告(四)M文件的编写.doc
- TCP/IP报文头部整理
- java过滤敏感词汇
- 申论该怎么学?申论作文如何提高
- 【支付专区】之检查微信预下单返回结果
- windows多显示器任务栏设置:拖动窗口后任务栏显示在对应的显示器上
- ubuntu Qt 找不到 -lGL
- AJAX+php实现分页器:分页展示数据
- 调大图片内存大小和降低图片内存大小快过来
- 量化:纸上得来终觉浅,绝知此事要躬行。
- windows下python subprocess.call使用ffmpeg的问题记录
- 摄影后期软件darktable介绍、汉化、使用说明(Lightroom免费替代品)
- 国产数据库kingbase
- s2023gc65数三角形
- PYthon调整音乐音量,生成空白音乐
- 计算机毕设(附源码)JAVA-SSM基于B_S的汽车售后服务管理系统