一.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)--软件管理相关推荐

  1. 12.linux系统中的软件管理

    12.linux系统中的软件管理 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1)需要源码 ...

  2. Linux系统中的软件管理

    Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...

  3. Linux系统中的软件管理详解(下)—搭建网络软件仓库及第三方软件仓库

    Linux系统中的软件管理详解(下) 5.软件仓库管理命令 a)dnf 命令: 管理软件仓库中的安装包 dnf repolist ##列出仓库信息clean all ##清除系统中已经加载的仓库缓存信 ...

  4. 详解Linux系统中的软件管理及软件仓库

    目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 五.dnf软件管理命令 总结 一.Linux中软件包的类型 DEB UEBlinux DEB ...

  5. Linux系统下的软件管理

    文章目录 前言 1.Linux中软件包的类型 2.软件包的名称结构 3. rpm命令管理软件包 二.软件仓库的搭建 1. 本地软件仓库的搭建 2.在线软件仓库的搭建 1.环境准备 三.dnf 软件管理 ...

  6. RH124 第十二章 Linux系统中的软件管理

    RH124 第十二章 Linux系统中的软件管理 1.Linux中软件包的类型 1.DEB #UBlinux DEBlinux 2.RPM #redhat centOS fc 3.bz2|gz|xz ...

  7. Linux系统基础-2018-日常管理和维护

    linux-10.日常管理和维护 1. RPM软件包管理 1.1. RPM软件包简介 1.1.1. 什么是RPM软件包 1.1.2. PRM软件包的设计目标 1.1.3. PRM包管理的用途 1.2. ...

  8. Part1.8——Linux系统中的软件管理

    目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 1.系统软件仓库的作用是什么? 2.搭建方法 (1)在系统中加载安装系统时使用的安装镜像 ( ...

  9. 1-8 linux系统中的软件管理

    #### 1.Linux中软件包的类型 #### 1.DEB        #UBlinux DEBlinux 2.RPM         #redhat centOS fadora 3.bz2|gz ...

最新文章

  1. PHP正则表达式规则及常用方法整理
  2. linux安装redis 完整步骤
  3. 【Qt】打开现有 Qt 项目 ( 打开已存在的项目 | 运行打开的项目 )
  4. C++中的STL--基本概念
  5. matlab m文件的编写,Matlab实验报告(四)M文件的编写.doc
  6. TCP/IP报文头部整理
  7. java过滤敏感词汇
  8. 申论该怎么学?申论作文如何提高
  9. 【支付专区】之检查微信预下单返回结果
  10. windows多显示器任务栏设置:拖动窗口后任务栏显示在对应的显示器上
  11. ubuntu Qt 找不到 -lGL
  12. AJAX+php实现分页器:分页展示数据
  13. 调大图片内存大小和降低图片内存大小快过来
  14. 量化:纸上得来终觉浅,绝知此事要躬行。
  15. windows下python subprocess.call使用ffmpeg的问题记录
  16. 摄影后期软件darktable介绍、汉化、使用说明(Lightroom免费替代品)
  17. 国产数据库kingbase
  18. s2023gc65数三角形
  19. PYthon调整音乐音量,生成空白音乐
  20. 计算机毕设(附源码)JAVA-SSM基于B_S的汽车售后服务管理系统

热门文章

  1. 智慧教室系统--温湿度控制系统
  2. 原创的《数据化分析 Python 实战 .pdf》下载
  3. 多个相机工作可能解决办法
  4. synchronization(同步)的理解
  5. 1.4 暴力破解——token防爆破
  6. Pycharm专业版使用学生免费包登录
  7. 12-29 C基础(数组)
  8. su和su - 的区别
  9. java父类引用子类属性_Java多态性详解——父类引用子类对象
  10. gta5因为计算机丢失,GTA5线上角色消失了怎么办_GTAOL角色数据丢失怎么申诉_52pk单机游戏...