一、Linux应用程序基础
1.应用程序与系统命令的关系
角色 | 系统命令 | 应用程序 |
文件位置 | 一般在/bin和/sbin目录中,或为shell内部命令 | 通常在/usr/bin和/usr/sbin目录中 |
主要用途 | 完成对系统的基本管理工作,例如ip配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
适用程序 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形界面中运行 |
运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式 |
主要用途
系统命令:命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理
应用程序:应用程序一般需要在操作系统之外另行安装,提供相对独立操作系统的功能,相当于windows系统中的软件
2.典型应用程序的目录结构
文件类型 | 保存目录 |
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /etc |
日志文件 | /var/log |
应用程序参考文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/local/share/man |
3.常见的软件包封装类型
文件类型 | 保存目录 |
RPM软件包 | 扩展名为“.rpm” |
DEB软件包 | 扩展名为“deb” debian系统或ubuntu |
源代码软件包 | 一般为“.tar.gz” 、“.tar.bz2”等格式的压缩包包含程序的原始代码 |
绿色免安装的软件包 | 软件包的扩展名不一,以TarBall格式的居多在压缩包内提供已编译好的执行程序文件解开压缩包后的文件即可直接使用 |
二、RPM软件包管理工具
全称:Red-Hat Package Manager
特点:(1)由Red Hat公司提出,被众多Linux发行版本采用
(2)建立统一的数据库文件
(3)详细记录软件包安装、卸载等变化信息
(4)自动分析软件包依赖关系
RPM软件包:一般格式为:bash-3.1.2-14.el6_4.x86_64.rpm
(软件名:bash,版本号:3.1.2,发布次数:14次,硬件平台:x86_ 64,扩展名:rpm)
1、rpm命令格式
(1)rpm命令能够实现几乎所有对RPM软件包的管理功能
(2)执行“man rpm”命令可以获得关于rpm命令的详细帮助信息
(3)rpm命令功能
查询、验证RPM软件包的相关信息 安装、升级、卸载RPM软件包 、维护RPM数据库信息等综合管理操作
2.查询RPM软件包信息
(1)查询已安装的RPM软件信息
格式1:rpm -q 软件名 //查询指定软件是否已安装 示例:rpm -q elinks lynx
格式2:rpm -qi 软件名 //显示已安装的指定软件的详细信息 示例:rpm -qi samba-client
格式3:rpm -ql 软件名 //显示已安装的指定软件的文件列表 示例:rpm -ql lynx
格式4:rpm -qc 软件名 //列出已安装的指定软件的配置文件 示例:rpm -qc httpd
格式5:rpm -qd软件名 //列出已安装的指定软件的软件包文档所在位置 示例:rpm -qd httpd
格式6:rpm -qR软件名 //列出已安装的指定软件的依赖的软件包及文件 示例:rpm -qR wget
格式7:rpm -qF 文件或目录 //查询已安装的软件属于哪个软件包 示例:rpm -qF yum
格式8:rpm -qa //显示当前系统中以rpm方式安装的所有软件列表
格式9:rpm -qf /usr/bin/passwd //查询指定软件或目录是哪个软件包安装的
(2)查询未安装的RPM软件包的信息
格式1:rpm -qpi RPM包名 //查询指定软件包的信息 示例:rpm -qpi /mnt/Packages/ethtool-4.8-9.el7.x86_64.rpm
格式2:rpm -qpl RPM包名 //查询指定软件是否已安装 示例:rpm -qpl /mnt/Packages/ethtool-4.8-9.el7.x86_64.rpm
格式3:rpm -qpc RPM包名 //查询指定软件包的配置文件 示例:rpm -qpc /mnt/Packages/ethtool-4.8-9.el7.x86_64.rpm
格式4:rpm -qpd RPM包名 //查询指定软件包的软件包文档的位置 示例:rpm -qpd/mnt/Packages/ethtool-4.8-9.el7.x86_64.rpm
3、安装、卸载、升级RPM软件包
格式 :rpm 【选项】 RPM软件包
常用选项:
(1) -i :安装一个新的RPM软件包
(2) -U: 升级某一个软件包,如果未安装,则进行安装
(3) -F :升级某个软件包,如果未安装,则放弃升级
(4) -h: 在安装或升级过程中,以#号显示安装进度
(5) -v :显示软件安装过程中的详细信息
(6) -force :强制安装某一个软件包,比如版本更老的软件包
(7)-e :卸载指定名称的软件包
(8) -nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系
一般组合使用为 rpm -ivh* //安装所有的软件包,显示安装详细过程和安装进度
案例:
1、安装成功案例
[root@ky19 etc]# rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
准备中... ##########################[100%]
正在升级/安装...
1:lynx-2.8.8-0.3.dev15.el7 ##########################[100%]
2、查询是否安装案例
[root@localhost etc]# rpm -q lynx
lynx-2.8.8-0.3.dev15.e17.x86_64
3、卸载成功案例
[root@localhost etc]# rpm -e lynx
[root@localhost etc]# rpm -q lynx
未安装软件包 lynx
三、yum源代码编译安装
1、yum和rpm的区别
yum安装源代码软件包需要编译安装,需要安装支持c和c++程序语言的编译器,如gcc、gcc-c++、make。
如果使用rpm方式安装,则需要先安装多个依赖包,这样会很繁琐。这里可以使用yum方式进行一键安装。
2、配置本地yum源仓库 (重点)
(1)mount /dev/sr0 /mnt/ #将光盘挂载到/mnt目录下(前提虚拟机光盘选项勾选已连接)挂载 设备 目录或文件夹
df -h 查看挂载点 (一个挂载点只能挂载一个设备)
(2)创建yum源
cd /etc/yum.repos.d/ #到/etc下的yum.repos.d/目录下
mkdir repos.bak # 创建一个名为 repos.bak的目录
mv *.repo repos.bak # 移动所有.repo结尾的文件到 repos.bak
vim local.repo #进入local.repo文件设置yum源参数
设置yum源参数
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL访问路径为光盘挂载目录 本地yum源
enabled=1 #开启此yum源 ,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名
yum clean all && yum makecache # 删除yum缓存并更新
yum list #查看yum源文件包
3、yum常用的操作命令
(1)yum -y install 软件名 #安装升级软件包, “-y”选项表示自动确认
(2)yum -y remove 软件名 #卸载软件包,可自动解决依赖关系
(3)yum -y updata 软件名 #升级软件包
(4) yum list #查询软件包列表
(5) yum list installed #查询已经安装的软件包
(6) yum list available #查询仓库中尚未安装的软件包
(7) yum list updates #查询可以升级的软件包
(8) yum info 软件名 # 查询软件包的描述信息
(9)yum search [all] 关键词 #根据某个关键词来查找相关的软件包
(10) yum whatprovides 命令 #查询命令属于哪个软件包
(11) yum install 包名 -y --downloadonly --downloaddir=/tmp/ #下载RPM包到指定目录
(12) yum install lrzsz-y #安装包上传和下载 (rz上传 ,sz是下载)
4、编译安装
(1)下载源代码安装包文件
(2) tar解包 作用:解压并释放源代码到指定的目录
(3) ./configure 配置 作用:设置安装目录、安装模块等选项
(4) make编译 作用:生成可执行的二进制文件
(5)make install 安装 作用:复制二进制文件到系统,配置应用环境
(6)测试应用、维护软件
编译安装案例:
(1)解压下载的tar包
tar zxvf httpd-2.4.25.tar.gz -C /opt/
作用:解压并释放源代码到指定的目录
(2)配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)
./configure --prefix=目标路径(此软件安装到哪里去)
用途:设置安装目录、安装模块等选项
(3)make编译(将源代码转为可执行的程序)作用:生成可执行的二进制blog.csdnimg.cn/
(4)make install安装 作用:复制二进制文件到系统,配置应用环境
5、安装apache服务
(1)使用yum方式进行安装编译器
yum install -y gcc gcc-c++ make
(2)校验http源码包
[root@localhost~]#md5sum httpd-2.4.25.tar.gz
24fb8b98a82df3949fea3892cba38da0f6a http-2.4.25.tar.gz
(3)yum命令安装apache库文件以及依赖包
(4)解压软件包
(5)配置安装路径
(6)编译分成两核
(7)make install 安装
(8)启动apache
(9)连接成功