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命令了!