【Linux】安装和更新软件包

1、rpm安装

      rpm:redhat package manager,红帽软件包管理工具。可以在网上下载安装包或者光盘中自带安装包在packages文件中。

     ①安装过程:

           (1)挂载(光盘名字太长可挂载到某个目录):mount /dev/sr0 /mnt

           (2)查看软件包名:ls /mnt/Packages

           (3)安装软件包:rpm -ivh yp-tools-      (需先切换到/mnt/Packages再安装)

                  (I--安装,v--详细信息,h---安装时列出标记“#”   )

对于需要依赖性关系的安装包需要共同下载:

[root@localhost Packages]# rpm -ivh yp-tools-2.14-3.el7.x86_64.rpm 
警告:yp-tools-2.14-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
错误:依赖检测失败:
	ypbind 被 yp-tools-2.14-3.el7.x86_64 需要
[root@localhost Packages]# rpm -ivh ypbind-1.37.1-7.el7.x86_64.rpm 
警告:ypbind-1.37.1-7.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
错误:依赖检测失败:
	yp-tools 被 ypbind-3:1.37.1-7.el7.x86_64 需要
[root@localhost Packages]# rpm -ivh ypbind-1.37.1-7.el7.x86_64.rpm  yp-tools-2.14-3.el7.x86_64.rpm 警告:ypbind-1.37.1-7.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:yp-tools-2.14-3.el7              ################################# [ 50%]
   2:ypbind-3:1.37.1-7.el7            ################################# [100%]

     ②常用命令:

            查询所有安装的软件包:rpm -qa | grep tree

            查看软件包释放的文件详细位置:rpm -ql 包名

            查看某个文件是哪个软件包释放的:rpm -qf 文件名

            删除软件:rpm -e tree(包名)     

            升级软件包:rpm -Uvh  

 

2、yum(红帽七)、dnf(红帽八)安装

      yum:Yellow dog Updater,Modified黄狗管理器,更新管理器,是一个在Fedora和RedHat以及CentOS中的shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

①安装过程:

     (1)定义配置文件:vim /etc/yum.repos.d/base.repo   (安装包仓库)

                 (yum.repos.d目录下只认识.repo结尾的配置文件) 

      (2)本地源配置文件

               [base]                              (源标识)

               name=base                     (源名称)

               baseurl=file:///mnt/             (软件包的位置file本地文件:// )    

               enable=1                          (启用这个仓库或者源,一个源可以有多个仓库)

               gpgcheck=0/1                  (0表示不检查;1表示检查,需要指定gpgkey)

      (gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release gpgcheck为不检查则这里就省略,如果是检查,需要配置)

    (3)安装软件:yum install  软件包名

[root@localhost Packages]# vim /etc/yum.repos.d/base.repo

[RHCSA]
name=csa
baseurl=file:///mnt         (仓库的安装包从哪里来)
enable=1
gpgcheck=0


[root@localhost Packages]# yum install httpd
已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-40.el7 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-40.el7,它被软件包 httpd-2.4.6-40.el7.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-40.el7.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-40.el7.x86_64 需要
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-3.el7 将被 安装
---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装
---> 软件包 httpd-tools.x86_64.0.2.4.6-40.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

==========================================================================
 Package            架构          版本                 源            大小
==========================================================================
正在安装:
 httpd              x86_64        2.4.6-40.el7         RHCSA        1.2 M
为依赖而安装:
 apr                x86_64        1.4.8-3.el7          RHCSA        103 k
 apr-util           x86_64        1.5.2-6.el7          RHCSA         92 k
 httpd-tools        x86_64        2.4.6-40.el7         RHCSA         82 k

事务概要
==========================================================================
安装  1 软件包 (+3 依赖软件包)

总下载量:1.4 M
安装大小:4.3 M
Is this ok [y/d/N]: y
Downloading packages:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                        49 MB/s | 1.4 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : apr-1.4.8-3.el7.x86_64                                                                                                                                 1/4 
  正在安装    : apr-util-1.5.2-6.el7.x86_64                                                                                                                            2/4 
  正在安装    : httpd-tools-2.4.6-40.el7.x86_64                                                                                                                        3/4 
  正在安装    : httpd-2.4.6-40.el7.x86_64                                                                                                                              4/4 
RHCSA/productid                                                                                                                                     | 1.6 kB  00:00:00     
  验证中      : httpd-tools-2.4.6-40.el7.x86_64                                                                                                                        1/4 
  验证中      : apr-1.4.8-3.el7.x86_64                                                                                                                                 2/4 
  验证中      : apr-util-1.5.2-6.el7.x86_64                                                                                                                            3/4 
  验证中      : httpd-2.4.6-40.el7.x86_64                                                                                                                              4/4 

已安装:
  httpd.x86_64 0:2.4.6-40.el7                                                                                                                                              

作为依赖被安装:
  apr.x86_64 0:1.4.8-3.el7                            apr-util.x86_64 0:1.5.2-6.el7                            httpd-tools.x86_64 0:2.4.6-40.el7                           

完毕!

②常用命令:

       查看源标识、源名称、状态:yum repolist      

       查看所有已经安装和可以安装的包:yum list

       显示指定程序包安装情况:yum list 包名

       不确定包名时可以搜索:yum search 命令        

       安装软件:yum install

       删除软件:yum remove

       本地rpm软件包:localinstall

3、源码安装

         ①安装过程:

              (1)创建目录:  mkdir /1

      (2)下载安装包:tar-1.29.tar.gz

   

 (3)解压:tar xvf tar-1.29.tar.gz    

 (4)原本有tar,需卸载后再重新安装:yum remove tar -y 

 (5)切换到Redhat,找到解压的tar的目录

 (6)检测当前环境能否安装:执行./configure    

 (7)以root用户安装C编译器:yum install gcc* -y   (在配置之前要保证我们的编译器完整才可以进行配置,配置完成后进行编译,编译好进行安装 )

 (8)切换到redhat再执行./configure(检测当前系统是否具有安装软件所需的文件和工具。该过程主要是产生Makefile文件,该文件中定义了各个源文件之间的依赖关系,说明了如何编译源文件即生成可执行文件,通过描述各个源程序之间的关系来使make工具自动完成编译工作)

(9)再执行一遍 ./configure

(10)退回root,编译安装,切换到解压的目录,make进行编译, make install表示安装(安装完成)

      which tar      现在存放的目录:/usr/local/bin/tar

      tar xvf 压缩包   以前的存放目录:/usr/bin/tar

    注意:虽然路径优先级/usr/local/bin优先于/usr/bin,但是由于存在一个哈希命令缓存表,会先从缓存表中寻找命令的可执行文件,所以需要清空缓存表。(hash 实现缓存管理,缓存,在hash表中保存了执行过的命令所有的路径)

(11)清空哈希表:hash -r

                   查看哈希表:hash       

                   添加哈希表:-p /bin/ls haha   

                   查看指定命令的哈希表: -t ls     

                   删除指定命令的哈希表: -d ls   

                   清空所有的hash表:  -r       

         此时则可以使用tar命令了!

猜你喜欢

转载自blog.csdn.net/trichloromethane/article/details/107685046