前言
本文主要学习在Linux系统中安装软件,包括官方认证的软件和第三方软件。以及如何建立服务器上的软件仓库,使得同一局域网下的用户可直接在服务器上的软件仓库李里下载安装软件。
一、Linux 中软件包的类型
1.DEB ? ? ?#UBlinux DEBlinux 2.RPM ? ? ? #redhat centOS fc 3.bz2|gz|xz 注意: ? ? ? 1.需要源码安装需要编译 ? ? ? 2.绿色软件,直接可用 ? ? ? dnf ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 “configure” ? ? ? Firefox-latest-x86_64.tar.bz2 绿色 “注意在 rhel8 中只能使用绿色软件,源码编译软件和 rpm 软件”
二、软件包的名称结构
[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm] ? ? [1] ? ? ? [2] ? ?[3] ? [4] ? ?[5] [1]软件名称 [2]软件版本 [3]软件的授权协议版本 [4]软件架构 [5]软件类型后缀
三、rpm 命令管理软件包
在Linux系统中,可使用rpm命令来管理软件包,具体如下表所示:
rpm -ivh | 软件安装。(参数组合: -i install -v verbose -h hash) |
---|
-a | 所有 | -f | 文件 | -p | 软件包 | -q | 查询 | -e | 卸载 | -c | 配置文件 | -d | 说明 | –info | 软件信息 | –force | 强制 | –nodeps | 忽略依赖性 | –script | 查询软件在安装或卸载过程中的运行脚本 | -Kv | 检测软件 md5 校验码 | -V | 检测已安装软件在系统中的文件被修改信息 |
在软件未安装时可查询的信息:
软件安装: 当修改文件安装的配置文件后,使用rpm -V linuxqq 后会显示文件被篡改。
四、本地软件仓库的搭建
系统软件仓库的作用:在系统中对软件进行管理,但rpm 命令是不能解决依赖关系的,如果需要软件在安装过程中自动解决依赖关系,需要搭建系统软件仓库。
本地资源搭建具体步骤:
1.在系统中加载安装系统时使用的安装镜像,首先需要下载镜像,之后将其挂载到系统某个目录下,我们新建一个/source,如下所示: 2.编写软件仓库文件
/etc/yum.repos.d/ | 软件源指向文件配置目录 |
---|
/etc/yum.repos.d/xxxx.repo | 软件仓库指向文件 |
安装httpd协议: 注意:在/etc/yum.repos.d/ 目录中不能有无法访问的源指向 通过上述步骤搭建好本地软件仓库后我们就可以通过dnf install 方式来安装所需要的软件了,通过这种安装方式可以自动解决依赖关系。
五、dnf 软件管理命令
可以使用dnf命令来对软件仓库及安装的软件进行管理,如下表所示:
[root@westos_student3 ~]# dnf repolist #列出仓库信息
[root@westos_student3 ~]# dnf clean all #清除系统中已经加载的仓库缓存信息,=重新加载
[root@westos_student3 ~]# dnf list all #列出所有软件
[root@westos_student3 ~]# dnf list available #列出未安装软件
[root@westos_student3 ~]# dnf list installed #列出已安装软件
[root@westos_student3 ~]# dnf install gcc #安装 dnf install 安装包名称(gcc)
[root@westos_student3 ~]# dnf remove gcc #卸载
[root@westos_student3 ~]# dnf reinstall gcc #重新安装
[root@westos_student3 ~]# dnf search gcc #搜索
[root@westos_student3 ~]# dnf whatprovides #搜索包含文件的软件包
[root@westos_student3 ~]# dnf history #dnf 执行历史
[root@westos_student3 ~]# dnf history info #dnf 执行历史详细信息
[root@westos_student3 ~]# dnf group list #列出软件组
[root@westos_student3 ~]# dnf group list --installed #列出已安装软件组
[root@westos_student3 ~]# dnf group list --available #列出未安装软件组
[root@westos_student3 ~]# dnf group list --hidden #列出隐藏软件案组
[root@westos_student3 ~]# dnf group install #安装软件组
[root@westos_student3 ~]# dnf group info #查看软件组信息
六、网络软件仓库的搭建
在实际工程应用中,如果每个用户下载软件都需要在自己电脑上搭建一个软件仓库将会造成 资源的极大浪费,因此,我们需要有一种方式能够将搭建好的软件仓库共享出来,不同用户通过访问一个地址来获取想要的资源,这就是我们接下来要讲的网络软件仓库的搭建。 首先需要搭建本地软件仓库,步骤如四中所示: 在主机一内的操作如下图中89~104条指令所示: 我们使用ssh进入到远程主机中,(注:若无法进入,可能是因为在远程主机中sshd服务未打开,使用systemctl start sshd打开服务即可),使用以下操作即可安装httpd。 此时说明远程网络仓库已经搭建完成。
七、搭建第三方软件仓库
上述两部分我们所讲的软件仓库搭建方法中所使用的镜像中都是系统软件,第三方软件并不包含在里面,想要下载安装第三方软件当然可以通过先下载后rpm的方式安装,但是,每使用一个新的软件都需要重复一次这样的步骤,所以会非常繁琐,因此我们需要一种方法,能随时通过dnf的方式安装,并且可以共享,而不需要每次都去一个个的下载,安装。这就需要我们搭建一个第三方软件仓库,具体步骤如下:
[root@westos_student50 ~]# cd /var/www/html/software #####将软件包放到指定目录下
[root@westos_student50 software]# ls
Firefox-latest-x86_64.tar.bz2 linuxqq_2.0.0-b2-1082_x86_64.rpm
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm ntfs-3g-2017.3.23-11.el8.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm ntfs-3g_ntfsprogs-2017.3.23.tgz
kolourpaint-4.10.5-4.el7.x86_64.rpm wps-office-11.1.0.9505-1.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
[root@westos_student50 software]# dnf install createrepo -y ###安装采集工具
[root@westos_student50 software]# createrepo -v /var/www/html/software/ ###对共享目录中进行扫描生成repodate数据目录
[root@westos_student50 software]# vim /etc/yum.repos.d/westos.repo ###具体内容如图
[root@westos_student50 software]# dnf install linuxqq ####安装qq测试
操作如下:
可以看见在远程主机中,我们从软件仓库上安装了linuxqq,说明第三 方软件库安装完成。
八、官方提供的第三方软件仓库
比如epel是官方提供的第三方扩展软件仓库,其中包含一些系统工具,如画图工具,截屏工具等等 epel的使用条件 1 联网 2 官方提供的软件仓库已经配置完成
epel的搭建方式: 1.下载epel的软件包 dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y 安装此软件的目的是为了在/etc/yum.repos.d/中生成新的软件下载路径指向文件
2.如果需要使用阿里云的epel 在第一步完成之后需要执行地址转换命令 sed -i ‘s | ^#baseurl=https://download.example/pub|baseurl=http://mirrors.aliyun.com|’ /etc/yum.repos.d/epel* sed -i ‘s | ^metalink|#metalink|’ /etc/yum.repos.d/epel*
|