返回顶部
首页 > 资讯 > 操作系统 >Linux中软件包管理的示例分析
  • 133
分享到

Linux中软件包管理的示例分析

2023-06-16 15:06:27 133人浏览 泡泡鱼
摘要

这篇文章主要介绍linux中软件包管理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、rpm RPM包管理器选项-q表示查询系统安装的软件包[root@Centos7 ~]# rpm&

这篇文章主要介绍linux中软件包管理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、rpm RPM包管理器

选项-q表示查询系统安装的软件包

[root@Centos7 ~]# rpm -q sudo sudo-1.8.6p7-16.el7.x86_64 [root@centos7 ~]# rpm -q Nginx 未安装软件包 nginx  [root@centos7 ~]#

选项-a表示查询所有安装的rpm包

[root@centos7 ~]# rpm -qa|grep vim vim-filesystem-7.4.160-1.el7.x86_64 vim-common-7.4.160-1.el7.x86_64 vim-enhanced-7.4.160-1.el7.x86_64 vim-minimal-7.4.160-1.el7.x86_64 [root@centos7 ~]#

选项-f file表示查询文件所属软件包

[root@centos7 ~]# rpm -qf /usr/bin/ls coreutils-8.22-15.el7.x86_64 [root@centos7 ~]#

选项-c表示查询软件包的配置文件

[root@centos7 ~]# rpm -qc sudo /etc/pam.d/sudo /etc/pam.d/sudo-i /etc/sudo-ldap.conf /etc/sudo.conf /etc/sudoers [root@centos7 ~]#

选项-e表示卸载软件包

[root@centos7 ~]# rpm -e sudo 警告:/etc/sudoers 已另存为 /etc/sudoers.rpmsave [root@centos7 ~]# rpm -q sudo 未安装软件包 sudo  [root@centos7 ~]#

选项-i表示安装 -v表示显示详细信息 -h表示显示安装进度

#下载rpm包 [root@centos7 tmp]# wget ftp.scientificlinux.org/linux/scientific/7rolling/x86_64/os/Packages/sudo-1.8.6p7-16.el7.x86_64.rpm #安装 [root@centos7 tmp]# rpm -ivh sudo-1.8.6p7-16.el7.x86_64.rpm  警告:sudo-1.8.6p7-16.el7.x86_64.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID 192a7d7d: NOKEY 准备中...                          ################################# [100%] 正在升级/安装...    1:sudo-1.8.6p7-16.el7              ################################# [100%]

有很多软件并不是只有一个rpm包,它们之间有各种各样的依赖关系,当安装(或卸载)时,需要将所有依赖的包都安装(或卸载)之后才能安装(或卸载)成功

[root@centos7 tmp]# rpm -e vim-common 错误:依赖检测失败:     vim-common = 2:7.4.160-1.el7 被 (已安裝) vim-enhanced-2:7.4.160-1.el7.x86_64 需要

选项--nodeps表示忽略依赖关系

[root@centos7 tmp]# rpm -q vim-common vim-common-7.4.160-1.el7.x86_64 [root@centos7 tmp]# rpm -e --nodeps vim-common 警告:/etc/vimrc 已另存为 /etc/vimrc.rpmsave [root@centos7 tmp]# rpm -q vim-common 未安装软件包 vim-common

选项-U表示对软件包升级

[root@centos7 tmp]# rpm -q wget wget-1.14-10.el7_0.1.x86_64 [root@centos7 tmp]# rpm -Uvh wget-1.14-13.el7.x86_64.rpm  准备中...                          ################################# [100%] 正在升级/安装...    1:wget-1.14-13.el7                 ################################# [ 50%] 正在清理/删除...    2:wget-1.14-10.el7_0.1             ################################# [100%] [root@centos7 tmp]# rpm -q wget wget-1.14-13.el7.x86_64

2、yum 下载更新器

yum [options] [command] [package ...]

yum是一个基于rpm的交互式软件包管理器。yum在安装软件时并不需要像rpm那样手动查找安装,它在工作时会搜索源中的rpm包,并自动解决依赖关系,自动下载并安装。yum默认源配置文件位于目录/etc/yum.repos.d内。

命令install表示安装

[root@centos7 ~]# yum install vim-common 已加载插件:fastestmirror Loading mirror speeds from cached hostfile  * base: mirrors.yun-idc.com  * extras: mirrors.yun-idc.com  * updates: mirrors.yun-idc.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 vim-common.x86_64.2.7.4.160-1.el7 将被 安装 --> 解决依赖关系完成  依赖关系解决 .... #省略部分输出 安装  1 软件包  总下载量:5.9 M 安装大小:21 M Is this ok [y/d/N]:y  #需要在这里输入确认是否安装 Downloading packages: vim-common-7.4.160-1.el7.x86_64.rpm                         | 5.9 MB  00:00:00      Running transaction check Running transaction test Transaction test succeeded Running transaction 警告:RPM 数据库已被非 yum 程序修改。 ** 发现 1 个已存在的 RPM 数据库问题, 'yum check' 输出如下: 2:vim-enhanced-7.4.160-1.el7.x86_64 有缺少的需求 vim-common = ('2', '7.4.160', '1.el7')   正在安装    : 2:vim-common-7.4.160-1.el7.x86_64                         1/1    验证中      : 2:vim-common-7.4.160-1.el7.x86_64                         1/1   已安装:   vim-common.x86_64 2:7.4.160-1.el7                                                                                                     完毕!

命令check-update表示检查更新

命令update表示升级

命令search表示搜索软件包

命令list表示列出可用软件包

命令remove表示卸载

命令clean表示清除yum缓存目录内容

选项-y表示在所有需要交互式确认的地方默认输入yes

当yum源中没有所需要安装的包时,会报没有可用软件包的错误。此时可以通过添加新的yum源来解决

如centos7中安装nginx:

#安装repo [root@centos7 tmp]# rpm -ivh Http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 获取http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 警告:/var/tmp/rpm-tmp.cUANoe: 头V4 RSA/SHA1 Signature, 密钥 ID 7bd9bf62: NOKEY 准备中...                          ################################# [100%] 正在升级/安装...    1:nginx-release-centos-7-0.el7.ngx ################################# [100%]

此时/etc/yum.repos.d中增加了一个新文件nginx.repo

[root@centos7 tmp]# cat /etc/yum.repos.d/nginx.repo  # nginx.repo  [nginx] name=nginx repos                                      #名称 baseurl=http://nginx.org/packages/centos/7/$basearch/ #源地址 gpGCheck=0  #是否检查key,0表示不检查 enabled=1   #这里等于0表示不启用baseurl,为1表示启用baseurl

现在就可以通过命令yum install -y nginx安装nginx了

服务器没有网络可用时,还能够设置本地yum源。此时需要手动配置repo文件

首先将安装光盘或iOS文件挂载至系统(关于挂载的更多内容请看这一篇)

[root@centos7 tmp]# mount CentOS-7-x86_64-DVD-1611.iso /media mount: /dev/loop2 写保护,将以只读方式挂载 [root@centos7 tmp]#  #如果是光盘则如此挂载: [root@centos7 tmp]# mount /dev/cdrom /media mount: /dev/sr0 写保护,将以只读方式挂载 [root@centos7 tmp]# #卸载用umount或eject [root@centos7 tmp]# umount /media [root@centos7 tmp]# eject

编辑yum源配置文件

vim /etc/yum.repos.d/local.repo     [local]     name=test     baseurl=file:///media #这里baseurl写 前缀(file://)+挂载点     enabled=1     gpgcheck=0

然后将原有网络源配置文件备份到另一个目录,/etc/yum.repo.d中只保留local.repo文件。安装软件:

yum install bc -y

3、源码包

前面所说的rpm和deb都是二进制软件包,由于这些软件包都是已经经过编译的,用户不能设置编译选项,也不能对软件做任何更改。相对来说,使用源码包编译安装软件提供了更多的灵活性,在编译时可指定各种选项,对于有能力的用户,还可以修改源代码。下面介绍一下linux中是如何安装源码包的

1)、获取源码包

wget http://mirrors.sohu.com/nginx/nginx-1.9.6.tar.gz

2)、解压

tar zxf nginx-1.9.6.tar.gz

3)、配置

[root@idc-v-71252 src]# cd nginx-1.9.6 [root@idc-v-71252 nginx-1.9.6]# ./configure --prefix=/usr/local/nginx

这里配置选项--prefix=/usr/local/nginx表示指定nginx的安装路径为/usr/local/nginx。

可以执行./configure  --help查看有哪些配置参数,此步骤的执行会检查系统是否符合编译要求。如果报错,很多情况下是因为少了一些编译工具,可以使用yum安装这些工具(当然也可以装源码)。

在本例中报错:./configure: error: the HTTP rewrite module requires the PCRE  library.。

说明少了pcre库,查看一下系统:

[root@idc-v-71252 nginx-1.9.6]# rpm -qa pcre pcre-8.32-15.el7.x86_64 [root@idc-v-71252 nginx-1.9.6]#

系统有pcre安装,但没有devel包,使用yum安装

[root@idc-v-71252 nginx-1.9.6]# yum install pcre-devel -y

再次执行configure发现报错变了:./configure: error: the HTTP gzip module requires the  zlib library.

重复上述操作直到所需软件都安装完毕,之后再次执行./configure --prefix=/usr/local/nginx

4、编译

[root@idc-v-71252 nginx-1.9.6]# make -j8

使用make进行编译,选项-j表示指定并发执行的数量,这里指定了和系统逻辑CPU数(可以使用命令grep -c "^processor"  /proc/cpuinfo查看逻辑CPU数)相同的并发数。

此步骤也可能会出现报错,一般也是因为缺少包,仔细阅读报错信息,一般都不难解决。

5、安装

[root@idc-v-71252 nginx-1.9.6]# make install

如果没有错误,这个软件包就安装完毕了,可以在/usr/local/nginx中找到安装后的文件。

这里说了源码包的一般安装过程,有些源码包的安装可能会有所不同,一般源码包中都有相应的安装说明文件(README或INSTALL),仔细阅读这些文件或者通过查询软件官网,就能找到它们的安装方法。

以上是“Linux中软件包管理的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: Linux中软件包管理的示例分析

本文链接: https://lsjlt.com/news/284062.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux中软件包管理的示例分析
    这篇文章主要介绍Linux中软件包管理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、rpm RPM包管理器选项-q表示查询系统安装的软件包[root@centos7 ~]# rpm&...
    99+
    2023-06-16
  • linux软件包管理
        首先linux软件程序包和windows中的程序包是不兼容的,所以要在linux上使用windows上的程序,需要使用虚拟化工具。库级别的虚拟化:  ...
    99+
    2024-04-02
  • linux中文件与目录管理的示例分析
    这篇文章给大家分享的是有关linux中文件与目录管理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。====基本命令====# pwd [-P] :显示当前的工作目录-P:选项表示显示实际的工作目录,而非...
    99+
    2023-06-13
  • Ubuntu软件管理丢失功能的示例分析
    这篇文章给大家分享的是有关Ubuntu软件管理丢失功能的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一切从apt开始Ubuntu软件管理的纯粹形式使用apt打包工具,最先内置在很棒的但常被低估的Linu...
    99+
    2023-06-13
  • linux中帐号管理的示例分析
    这篇文章给大家分享的是有关linux中帐号管理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。/etc/passwd系统帐号信息/etc/shadow帐号密码信息经MD5 32位加密在密码栏前面加『 * ...
    99+
    2023-06-17
  • linux软件包管理-rpm
    1.程序包管理功能:将编译好的应用程序的各组件组成文件打包成一个或几个程序包文件,从而更方便快捷实现程序包的安装升级,卸载和查询等管理操作  1 程序包的组成清单(每个程序包都单独实现)...
    99+
    2024-04-02
  • Linux磁盘管理的示例分析
    这篇文章给大家分享的是有关Linux磁盘管理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux的磁盘管理是Linux管理员非常重要的必须技能,Linux磁盘管理好坏直接关系到整个系统的性能问题。一...
    99+
    2023-06-27
  • Linux下的“护眼”软件的示例分析
    这篇文章主要为大家展示了“Linux下的“护眼”软件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下的“护眼”软件的示例分析”这篇文章吧。晚上熄灯后,看电脑时蓝光刺眼。推荐两...
    99+
    2023-06-10
  • Rocky Linux中怎么管理软件包
    Rocky Linux使用dnf(Dandified YUM)作为软件包管理器来安装、升级和删除软件包。以下是一些常用的dnf命令:...
    99+
    2024-04-02
  • linux中磁盘与文件系统管理的示例分析
    这篇文章将为大家详细讲解有关linux中磁盘与文件系统管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。====三个重要的概念====* super block:记录文件系统的整体信息,包括in...
    99+
    2023-06-13
  • 【Linux】软件包管理器 yum
    前言: 对于之前学习的内容如果大家理解为让大家知道【linux】基本知识并且会使用它,那么接下来的学习的知识便是让各位小伙伴在纯【linux】环境下进行程序的开发,为了达到这一目的我们就需要使用工具的辅助。因此,接下来给大家讲述的便是【li...
    99+
    2023-09-01
    linux 运维 服务器
  • Linux中smbpasswd管理samba密码的示例分析
    这篇文章主要为大家展示了“Linux中smbpasswd管理samba密码的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中smbpasswd管理samba密码的示例分析”这篇...
    99+
    2023-06-05
  • 代理ip软件处理ip的示例分析
    这篇文章主要为大家展示了“代理ip软件处理ip的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“代理ip软件处理ip的示例分析”这篇文章吧。网上改变ip的方式很多,如果遇到ip问题,换ip...
    99+
    2023-06-20
  • Linux yum软件包管理方法
    简介 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自...
    99+
    2022-06-04
    Linux yum 软件包 管理
  • linux命令:rpm软件包管理
       rpm命令简介:     rpm:软件管理器         数据库:/var/lib/rpm &n...
    99+
    2024-04-02
  • Linux中删除软连接的示例分析
    小编今天带大家了解Linux中删除软连接的示例分析,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux中删除软连接的示例分析”的...
    99+
    2023-06-28
  • oracle中BTRFS文件系统管理的示例分析
    这篇文章将为大家详细讲解有关oracle中BTRFS文件系统管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。btrfs文件系统简介btrfs(通常念成Butt...
    99+
    2024-04-02
  • RAC_OCR管理的示例分析
    这篇文章给大家介绍RAC_OCR管理的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。管理OCROCR是Oracle RAC配置信息仓库,它管理集群...
    99+
    2024-04-02
  • Fedora 20 Gnome 软件中心的示例分析
    本篇文章为大家展示了Fedora 20 Gnome 软件中心的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前天发布了 Fedora 20 beta 测试版本的试用文章,有网友提醒介绍一下&...
    99+
    2023-06-16
  • linux中tcpdump抓取HTTP包的示例分析
    这篇文章将为大家详细讲解有关linux中tcpdump抓取HTTP包的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。tcpdumptcpdump是linux系统自带的抓包工具,主要通过命令行的方式...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作