(以下内容是云课堂Linux课程的笔记,个人纯手工记录,课程以RedHat系列为主)
Linux系统下软件包的安装方式包括:源代码安装、本地二进制包安装(rpm命令手工安装)、在线二进制包安装(yum命令在线自动安装)。
第1节
1、软件包分为两种:
(1)源码包:使用C、或C++写的源代码,未编译成为计算机语言(tar.gz格式)
(2)二进制包(系统默认包):源代码经过编译之后的0101这样的计算机语言包
(Debian系列为deb格式;Redhat系列为rpm格式。两种格式的命令、配置文件保存位置基本都是一致的)
编译:把源代码翻译成为计算机可识别的二进制计算机语言。
2、源码包:
优点:开源,源代码可见;可以自由选择所需功能;编译安装,更适合自己的系统(源码包比二进制包可以提高5%的效率);卸载方便(把源码包安装目录直接删除即可彻底卸载)。
缺点:安装步骤较多,容易出现拼写错误;编译时间长;编译安装,若过程报错,新手很难解决。
3、二进制包:
优点:包管理简单,只需要几个命令行就可以实现安装、升级、查询、卸载;安装速度比源码包要快。
缺点:不可见源代码;功能选择不灵活;包的依赖性(由于依赖性,需要先装依赖包,才可以安装需要包)
第2节
2.1节 rpm命令管理
1、包全名(包文件全称)与包名(包文件简称)
包全名:操作的包时没有安装的软件包时,使用包全名。而且注意路径。
包名:操作已安装软件包,使用包名。是搜索/var/lib/rpm中的数据库。
2、RPM包具有依赖性,必须按照依赖性安装,较为麻烦
2.2节 rpm命令管理-安装、升级、卸载
(rpm命令用于安装下载到本地的rpm包、或者光盘内的rpm包,但是各个包的依赖性,使得安装非常复杂。俗称手工rpm包安装)
1、rpm安装
rpm -ivh 包全名
选项: -i 安装(install) -v 显示详细信息(verbose)
-h 显示进度(hash)
2、rpm升级
rpm -Uvh 包全名
选项:-U 升级(upgrade)
3、rpm卸载
rpm -e 包名
选项:-e 卸载(erase)
2.3节 rpm命令管理-查询
1、查询是否已经安装
rpm -q 包名
选项:-q 查询(query)
2、查询所有已安装包
rpm -qa
选项:-a 所有(all)
3、查询软件包详细信息
rpm -qi 包名
选项:-i 查询软件信息
4、查询未安装包中文件安装位置
rpm -qlp 包全名
选项:-p 查询未安装包的信息(package)包括文件的安装位置
5、查询系统文件属于哪个包
rpm -qf 系统文件名
选项:-f 查询系统文件属于哪个软件包(file)
第3节 yum在线管理程序包
3.1节 网络yum源
1、打开网络yum源(Ubuntu中是source.list)
$ vim /etc/yum.repos.d/CentOS-Base.repo
[base] 容器名称,一定放于[ ]之中。一般不改。
name 容器说明,可以自己随便写
mirrorlist 镜像站点,可以注释掉
baseurl 是yum源服务器地址。与镜像地址选择其一就可以。
enabled 此容器是否生效。不写或等于1,则生效。设为0,则不生效。
gpgcheck 数字证书,设为1生效
gpgkey 公钥文件保存位置。不用修改
(网络yum源,就是所有rpm包所在的位置,提供下载;这个文件基本是不需要修改的。当然也可以使用光盘作为yum源,即光盘内装有所有rpm包)
3.2节 yum命令
1、查询所有可用软件包列表(到网络yum源服务器去查询)
yum list
2、搜索服务器上所有和关键字相关的包
yum search 关键字(包名)
注意:对于yum命令没有包全名的概念,只对于手工安装rpm包,才有包全名的概念。
3、安装
yum -y install 包名
选项:install 安装 -y 自动回答yes
(yum命令自动到远程服务器下载并安装依赖的rpm包,自动完成)
4、升级
yun -y update 包名
(注意:如果不加包名,默认将所有软件包升级,包括Linux系统内核也可能会升级)
5、卸载
yum -y remove 包名
第4节 源码包安装
4.1节 源码包与rpm包安装后的区别
1、rpm包默认安装路径
/etc 配置文件安装目录
/usr/bin 可执行命令安装目录
/usr/lib 程序所使用的函数库保存位置
/usr/share/doc 基本的软件手册保存位置
/usr/share/man 帮助文件保存位置
2、源码包安装位置
安装在指定位置中,一般是 /usr/local/软件包 (类似于Windows系统的C盘progragm
files)
3、安装位置不同带来的影响
(1)rpm包安装的服务可以使用系统服务管理命令(service)来管理。
例如rpm包安装的Apache的启动方法是:
/etc/rc.d/init.d/httpd start (绝对路径 + 服务命令)
或者
service httpd start
(系统服务命令启动)
(service 不能启动源码包安装的软件,只适用rpm命令)
(2)源码包安装的服务,必须使用 绝对路径 + 服务命令 进行管理。
4.2 源码包的安装
安装准备:安装C语言编辑器gcc;下载源码包。
1、源码包保存位置: /usr/local/src/
软件安装位置: /usr/loacl
如何确定安装过程报错:安装过程停止,并出现error 、warning的提示
2、源码包安装过程
(1)下载到Linux系统,一般是tar.gz格式;
(2)解压;
(3)必须进入解压目录,才可以继续后续操作安装;(两个文件INSTALL、README必须先阅读了解)
(4)./configure(定义需要的功能、检测安装环境、把定义好的选项写入Makefile文件,用于后续编辑)
选项:--prefix=/usr/local/安装目录
用这个选项指定安装目录
(5)make 编译
如果编译报错,可以使用make clean
清空编译产生临时文件
(6)make install 编译安装(这一步才真正想系统中写入文件)
(启动命令可以在INSTALL、或者 README 文件中查看)
3、源码包的卸载
只需要在安装位置(一般是usr/local/目录 相当于C盘的Program files)删除(rm)即可卸载。
附录:
脚本安装包:不是独立的软件包类型,只是执行安装脚本,执行源码包的安装。类似于Windows系统的如啊你按安装方式。只适用于较难的的硬件驱动。