`
wx1569063608
  • 浏览: 23644 次
文章分类
社区版块
存档分类
最新评论

linux的软件安装包管理

 
阅读更多

1.软件管理器

    linux中比较常用的软件管理器分别为RPM和dpkg。dpkg最早是由Debian社区开发出来的,通过dpkg的机制,Debian提供的软件能够快速的安装起来,同时提供安装后的信息。派生于Debian的其他linux版本都可以使用该机制,如ubuntu,B2D。RPM是由红帽公司开发的,使用该机制的如centos等。

    为了解决软件属性依赖的问题,linux版本的发行商通过使用“在线升级”机制来处理。具体来讲就是,发行商将依赖属性的数据做成列表,等到实际软件安装时,若发生依赖的情况,只要存在网络,依据软件安装列表就可以将发行商提供的任何软件进行安装。其中红帽公司的在线升级命令是yum,而Debian发行商的在线升级命令为apt-get。

2.软件管理程序rpm

    基本工作:软件的安装、查询、卸载、升级、校验、数据库的重建、验证数据包等工作

    rpm命令: rpm   rpmbuild

    数据库: /var/lib/rpm

    rpm的默认安装路径:/usr/bin :一些可执行文件

                                        /usr/lib : 一些程序使用的动态链接库

                                        /usr/share/doc :一些基本的软件使用手册与帮助文档

                                        /usr/share/man:一些man page文件

    顺便讲述下文件系统的一些内容:

    根目录包含的文件夹:

    /usr/share/man

    /bin /sbin /etc /lib:系统启动就需要的程序,这些目录不能挂载额外的分区,必须在根目录下。

    /usr/bin、 /usr/sbin、/usr/lib :这些目录存放的是操作系统的核心功能区,可以单独分区

    /usr/local  bin、sbin、lib、etc、man  :第三方软件存放位置

    /opt

    /proc、/sys   内核虚拟目录,默认为空,不能单独分区

    /dev:设备文件,不能单独分区   /udev

    /root不能单独分区

    /var:存放一些变量、临时文件,建议单独分区

    /boot:内核文件initrd

3.软件管理程序rpm命令

    rpm命名:

    包的组成部分:主包     bind-9.7.1-1.el5.i586.rpm

                             子包     bind-libs-9.7.1-1.el5.i586.rpm
                                         bind-utils-9.7.1-1.el5.i586.rpm

    包名格式:  name-version-release.arch.rpm(发行号、平台架构)

                        版本名称 版本信息 发布版本次数 适合平台 扩展名

                        bind-major.minor.release-release.arch.rpm

主版本号:重大改进

子版本号:某个子功能发生重大变化

发行号:修正了部分bug,调整了一点功能。

    1.安装

     rpm   -ivh      package_name

      i:install;             v:查看详细信息;      h:以安装信息栏显示安装信息

        --nodeps: 忽略依赖关系;
        --replacepkgs: 重新安装,替换原有安装;
        --force: 强行安装,可以实现重装或降级;

      2.查询

        rpm -q 仅查询,后面接的软件名称是否安装

        rpm -qa 查询已经安装的所有包

        rpm -qi package_name :查询指定包的说明信息

        rpm -ql package_name :   查询指定包安装后生成的文件列表;

        rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
        rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;

        rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;
        如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;
        rpm -qpi /PATH/TO/PACKAGE_FILE
        rpm -qpl

      3、升级
        rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
        rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
                                             --oldpackage: 降级

        4.卸载

            rpm -e PACKAGE_NAME           --nodeps

        5、校验
            rpm -V PACKAGE_NAME

        6、重建数据库
            rpm
              --rebuilddb: 重建数据库,一定会重新建立;
              --initdb:初始化数据库,没有才建立,有就不用建立;

        
        7、检验来源合法性,及软件包完整性;
        加密类型:
         对称:加密解密使用同一个密钥
         公钥:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;  
         单向:
  

        # ls /etc/pki/rpm-gpg/
         RPM-GPG-KEY-redhat-release
         rpm -K /PAPT/TO/PACKAGE_FILE
         dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项
         sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项

          rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件

 4.yum在线升级机制

        根据各软件的相关性做出属性依赖时的解决方案,然后可以自动处理软件的依赖属性关系,从而解决软件安装与删除与升级的问题。

    

        1.利用yum进行查询、安装、升级与删除功能

        查询功能:

        yum [options] [查询项目工作目录] [相关参数]

    -y :等待用户输入yes时,可以自动提供yes; --installroot=/some/path:安装到其他目录中,不使用特殊目录

    search: 搜索某个软件名称或者是描述的重要关键字

    list : 列出目前yum所管理的所有的软件名称与版本,类似于rpm -qa

    164135_zqaV_1861951.png

    info:类似于rpm -qai

    164526_2eeS_1861951.jpg

        provides:从文件夹中搜索软件,类似于rpm -qf

    164811_CMRd_1861951.jpg

    升级/安装  yum[install/update]

    删除        yum [remove]

    

转载于:https://my.oschina.net/alfredliukai/blog/508555

分享到:
评论

相关推荐

    linux软件安装包.zip

    "linux软件安装包.zip"是一个包含了多种在Linux系统中常用的软件工具的压缩文件,旨在帮助用户快速部署和管理他们的Linux环境。以下是对其中提及的每个组件的详细解释: 1. **MySQL**:MySQL是一款开源的关系型...

    Nexus的linux安装包

    Nexus是一个广泛使用的Maven仓库管理工具,它为软件开发过程中构建管理和依赖管理提供了一站式服务。Nexus可以部署和管理Maven仓库,支持Maven、npm、Yum等多种格式的仓库。用户可以通过Web界面管理Maven仓库,包括...

    docker linux 离线安装包

    在Linux环境中,Docker是一种流行的开源容器化平台,它允许开发者打包他们的应用及其依赖环境到一个可移植的容器中,从而实现跨平台的无缝运行。...这为在无网络环境下的Linux系统上部署和管理Docker提供了便利。

    pm2-linux离线安装包可解压后直接上传项目node-modules文件夹下面

    标题中的“pm2-linux离线安装包”是指用于Linux系统的PM2管理工具的离线版本。PM2是一个流行的Node.js进程管理器,它允许开发者在Linux服务器上部署、管理和保持Node.js应用程序。这个离线安装包是专为那些无法或...

    eclipse 2023-06 Linux 版安装包

    Linux用户经常面临软件安装和更新的挑战,Eclipse 2023-06为Linux平台特别优化,可能改进了与不同Linux发行版的兼容性,确保在各种环境下稳定运行。同时,这个版本可能修复了一些之前版本中存在的问题,提高了用户...

    linux telnet客户端安装包

    RPM(Red Hat Package Manager)是Linux系统中广泛使用的软件包管理器,它负责软件的安装、升级、查询、卸载等操作。RPM包遵循特定的格式,包含二进制文件、库、配置文件以及安装脚本。"telnet-0.17-47.el6.x86_64....

    linux 资源安装包

    其次,**Apache**是全球最流行的Web服务器软件,它是开放源代码的,可以在多种操作系统上运行,包括Linux。Apache以其稳定性、灵活性和强大的功能而闻名。它支持多种Web技术,如PHP、Perl、Python等,并且可以通过...

    jdk17-linux环境安装包

    - 在Linux环境中,可能需要同时管理多个JDK版本。可以通过`update-alternatives`命令来设置默认的JDK版本,或者使用SDKMAN!这样的工具方便地切换不同版本。 总之,安装JDK 17是开发Java应用程序的基础。在Linux...

    Linux中vim安装包

    在大多数Linux发行版中,可以通过包管理器来安装Vim。以下是在几种常见的Linux发行版中安装Vim的方法: 1. **Ubuntu/Debian**: 使用`apt`命令 ``` sudo apt-get update sudo apt-get install vim ``` 2. **...

    Linux离线telnet安装包

    这个“Linux离线telnet安装包”显然是为那些没有互联网连接或者网络环境受限的Linux用户设计的,使他们能够手动安装telnet服务。 在Linux上安装telnet服务主要涉及以下步骤: 1. **获取安装包**:在描述中提到的...

    linux 字体加安装包

    本文将深入探讨Linux字体管理、如何安装字体以及使用软件/插件的相关知识。 首先,了解Linux中的字体结构至关重要。在Linux中,字体通常存储在`/usr/share/fonts`或`~/.local/share/fonts`目录下。这些字体文件可能...

    mysql在linux下安装包mysql在linux下安装包

    首先,我们需要了解Linux系统中的软件包管理器,如`yum`或`dnf`(在Fedora/CentOS/RHEL等系统中常见),它们用于安装、更新和管理软件。在描述中提到的"mysql在linux下安装包",通常指的是通过这些包管理器来安装...

    linux离线安装包(ubutun16)

    在Linux系统中,离线安装包对于没有网络连接或者网络不稳定的情况非常有用。这里提到的“linux离线安装包(ubutun16)”显然指的是适用于Ubuntu 16.04 LTS(长期支持版)操作系统的软件包,这个版本代号为Xenial ...

    Linux离线安装ftp安装包

    1. **下载RPM安装包**:RPM(Red Hat Package Manager)是Linux发行版如CentOS、Fedora等常用的软件包管理器。在这个场景下,你需要先下载"vsftpd-2.2.2-24.el6.x86_64.rpm"这个RPM文件到你的Linux机器上。确保文件...

    linux安装包(run、bin)制作

    在Linux系统中,为了方便用户进行软件的安装与管理,通常会采用各种格式的安装包。其中,run安装包和bin安装包因其简便性和灵活性,在某些场景下得到了广泛应用。本文将详细介绍这两种安装包的制作方法及其注意事项...

    linux finger安装包

    RPM文件用于安装、升级和卸载软件,同时管理软件依赖关系。 为了安装这两个RPM包,你需要遵循以下步骤: 1. **确保环境**:首先,确保你正在使用Linux 6.0系统,并且具有足够的权限来执行安装操作。通常,这需要...

    PHP实例开发源码-ZenTaoPMS禅道项目管理软件linux一键安装包.zip

    PHP实例开发源码—ZenTaoPMS禅道项目管理软件linux一键安装包.zip PHP实例开发源码—ZenTaoPMS禅道项目管理软件linux一键安装包.zip PHP实例开发源码—ZenTaoPMS禅道项目管理软件linux一键安装包.zip

    Linux telnet 工具安装包

    RPM是Red Hat Package Manager的缩写,是Linux系统中用于软件包管理的一种机制。下面是安装步骤: 1. 首先,确保你的系统上已经安装了`rpm`包管理器。如果没有,可以使用以下命令安装: ```bash sudo yum install...

    git Linux安装包

    在Linux系统中,Git通常可以通过包管理器进行安装,如Ubuntu或Debian系的`apt-get`,或者Fedora或CentOS系的`yum`(较新的RHEL/CentOS使用`dnf`)。不过,这里我们有`git-2.9.1`的源码包,这意味着我们将手动编译...

    linux下patch安装包

    在Linux操作系统中,`patch`...了解这些知识点后,你可以根据具体需求安全地在Linux环境中应用和管理patch安装包,无论是为了更新内核还是其他软件项目。记住,理解补丁的工作原理和正确使用方法是成功应用补丁的关键。

Global site tag (gtag.js) - Google Analytics