15.Linux软件安装rpm与yum讲解
1.Linux中软件包介绍
2.Linux源码软件安装
3.Linux二进制软件安装
4.Linux rpm软件包管理
5.Linux yum软件包管理
笔记:
1.Linux中软件包介绍
Linux操作系统中软件包一般分为三种:
{BANNED}中国第一种:二进制格式软件包
第二种:源码格式软件包
第三种:脚本安装包
二进制包(RPM包,系统默认包) rpm安装
Redhat/OEL系统中是RPM包
1)二进制包的优点
-包管理是挺简单,只通过几个命令就可以实现包的安装,升级,查询和下载
-安装速度比源码包快的多
2)二进制包的缺点
-经过编译,不再可以看到源代码
-功能选择不如源码包灵活
-依赖性
RPM安装: rpm -ivh 包全名
-i(install)安装,-v(verbose)详细信息,-h(hash)进度,
-nodeps不检测依赖性,-force 强制安装
RPM升级与卸载:
rpm -Uvh 包全名 // -u(upgrade)升级)
rpm -e 包名 // -e(erase)卸载,--nodeps 不检测依赖性
RPM查询: rpm -q 包名
-q name:查询,-qa 查询所有已安装的,-qi name 查询软件详细信息
-ql httpd 显示列表,-qf path:查询一个文件属于那个包,-qp 包名:查文件是什么
//查询系统文件属于那个RPM包
rpm -qf 系统文件名 (-f 查询系统文件属于那个软件包)
//查询软件包的依赖性
rpm -qR 包名 (-R 查询软件包的依赖性,-p 查询未安装包信息 rpm -qRp 包全名)
//RPM校验 : rpm -V 包名
RPM包的默认安装位置:
RPM包默认安装路径
/etc/ 配置文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib/ 程序所使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置
RPM包依赖问题:
模块依赖(库依赖):查询网站:
rpm -ivh mysql-connector-odbc-5.1.5r1144-7el6.x86_64.rpm
error:Failed dependencies:
libodbcinst.so.2()(64bit) is needed by mysql-connector-odbc-5.1.5r1144-7el6.x86_64
libodbcinst.so.2()库文件存在于某个rpm包中,安装此rpm包后就安装上此库文件了,如何知道libodbcinst.so.2()位于哪个rpm包下,
这个需要到搜索一下
YUM在线管理:yum可以安装和卸载rpm包,但不能查询和校验rpm包,可以配置本地和网络资源。
配置本地光驱YUM源
常用yum命令:
yum list 查询所有可用软件包列表
yum search 关键字 搜索服务器上所有和关键字相关的包
yum -y install 包名
yum -y update 包名 (慎用)
yum -y remove 包名 卸载
yum clean all 清除yum源缓存
yum grouplist #列出所有可用的软件组列表
yum groupinstall 软件组名 #安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名 #卸载指定软件组
源码包(*.src.rpm、*.tar.gz/*.tgz、*.bz2)
1)源码包的优点:
-如果有足够的能力,可以修改源代码
-可以自由选择所需的功能
-软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
-卸载方便
2)源码包的缺点
-安装过程步骤较多,尤其安装较大的软件集合时,容易出现拼写错误
-编译过程时间较长,安装比二进制时间长
-因为是编译安装,安装过程中报错新手很难解决
源码包的安装(*.tar.gz/*.tgz、*.bz2)
1)安装准备
安装C语言编译器(因为源码包是c语言写的)
下载源码包
2)安装注意事项:
源代码保存位置:/usr/local/src/
软件安装位置:/usr/local/
如何确定安装过程报错:
-安装过程停止
-并出现error,warning,或no的提示
3)源码包安装过程:
下载源码包
解压缩下载的源码包
进入解压缩目录
./configure
(软件配置与检查定义需要的功能选项,检查系统环境是否符合安装要求,把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑)。
./configure -prefix=/usr/local/apache2
make 编译成二进制文件(此时/usr/local/apache2下没有安装文件)
-安装出错时,可以make clean 让安装环境clean~
make install(执行此命令后才在/usr/local/apache2下安装文件)
/usr/local/apache2/bin/apachectl start
4)源码包的卸载过程
make uninstall 或手动删除
源码包的安装(*.src.rpm)
安装:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:rpm -e packgename
说明:rpm --rebuild *.src.rpm 命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename 如前所述。
脚本安装包:实际安装的还是源码包和二进制包,只是把安装的步骤写成脚本,让初学者可以一键安装。
1)优点:
-对初学者来说简单快捷
2)缺点:
-失去了自定义性
比如:
安装 ./java16.bin 或 ./install.sh
卸载 根据说明执行脚本或删除相应目录
部分rpm命令案例演示:
rpm -ivh ftp-0.17-54.el6.x86_64.rpm 安装ftp文件传输命令
ftp 进入ftp操作
get 1.gz 下载文件
put 1.gz 上传文件
bye 退出ftp
rpm -Uvh ftp-0.17-54.el6.x86_64.rpm 升级更新ftp
rpm -e ftp-0.17-54.el6.x86_64.rpm 卸载ftp
rpm -ivh ftp-0.17-54.el6.x86_64.rpm
********************************************************************************************
1、RPM安装管理:
1)手工
rpm -ivh ftp-0.17-54.el6.x86_64.rpm 安装ftp文件传输命令
ftp 进入ftp操作
get 1.gz 下载文件
put 1.gz 上传文件
bye 退出ftp
rpm -Uvh ftp-0.17-54.el6.x86_64.rpm 升级更新ftp
rpm -e ftp-0.17-54.el6.x86_64.rpm 卸载ftp
rpm -ivh ftp-0.17-54.el6.x86_64.rpm
2)YUM
mount /dev/cdrom /mnt #挂载光驱
df -h #查看光驱是否挂载成功
cd /etc/yum.repos.d/ #进入yum源配置目录
ls #查看yum文件是否还在,已经备份,目录是空的
more rhel-source.repo #查看yum的配置
mkdir bak #备份yum源文件,把配置文件放到bak/目录下
mv rhel-source.repo bak/
vi itpux.repo #新建一个yum源文件,输入一下内容,保存
[OEL]
name=Linux 6.9 DVD
baseurl=file:///mnt/Server
gpgcheck=0
enabled=1
yum list #只要出来很多包,说明yum源配置成功了
yum search vnc 搜索vnc相关yum源,看看是不是yum源配置成功了
yum -y install vnc 安装vnc工具
yum -y update vnc 升级vnc
yum -y remove vnc 移除包vnc
yum clean all 清楚yum源的环境
yum grouplist 查看yum源的组列表
yum -y groupinstall 'Additional Development'
yum -y groupremove 'Additional Development'
2. 源码安装
ftp-0.17-54.el6.x86_64.rpm rlwrap-0.42.tar.gz 这2个包先下载好
先把这个文件进行解压,进入到这个目录rlwrap-0.42 下,查看INSTAll文件,一般情况下INSTALL会有软件的具体安装步骤
tar xzvf rlwrap-0.42.tar.gz
cd rlwrap-0.42
ls -ls
more INSTALL
# 先配置,然后make,然后安装
./configure
make
make install
which rlwrap 查看rlwrap的安装位置,卸载需要在这个目录才能操作,否则报错
make uninstall 卸载软件
********************************************************************************************
阅读(355) | 评论(0) | 转发(0) |