结构:
LINUX应用程序基础
RMP软件包管理工具
源代码编译安装
应用程序和系统命令的关系
典型应用程序的目录结构
常见的软件包封装类型
RPM包管理器
由Red Hat公司提出,被众多linux发行版所采用
建立统一的文件数据库
详细记录软件安装、卸载、升级等变化信息
自动分析软件包依赖关系
RMP的基本命令:
查询已安装的rpm软件信息
rpm -q 软件名 #查询指定软件是否已安装
rpm -qi 软件名 #显示已安装的指定软件的详细信息
rpm -ql 软件名 #显示已安装的指定软件的文件列表
rpm -qc 软件名 #列出已安装的指定软件的配置文件
rpm -qd 软件名 #列出已安装的指定软件的软件包文档所在位置
rpm -qR 软件名 #列出已安装的指定软件的依赖的软件包及文件
rpm -qf 文件或目录 #查询已安装的指定软件属于哪个安装包
RPM方式安装httpd软件包
1.虚拟机设置:cd/dvd指向镜像文件1708 设备状态已连接+启动时连接 【进入虚拟机看见回收站
+主文件+镜像光盘即设置成功
2.进入虚拟机【root@localhost opt】# df -h 【查看磁盘空间的使用情况】
3.查看/dev/sr0 路径 /run/media/root/CentOS 7 x86_64 【若没有则重启虚拟机】
4.【root@localhost opt】# cd /run/media/root/CentOS\ 7\ x86_64/
5.【root@localhost CentOS 7 x86_64】#ls
6.【root@localhost CentOS 7 x86_64】# cd Packages/
7.【root@localhost packages】# ls 【进入Packages 查看文件列表】
也可以直接进入镜像安装包下即:【root@localhost opt】# cd /run/media/root
/CentOS\ 7\ x86_64/Packages/ 然后ls查看
挂载【root@localhost packages】# mount /dev/cdrom /mnt
(目录) (要挂载的目录)
【root@localhost packages】#df -h【查看到/dev/sr0 路径 /run/media/root/CentOS 7 x86_64挂载完成】
【root@localhost packages】# cd /mnt/
【root@localhost mnt】# ls
【root@localhost mnt】# cd Packages/
【root@localhost packages】# ls
【root@localhost packages】# rpm -ivh(安装命令) httpd-2.4.6-67.el7.centos.x86_64.rpm【可以tab直接补全】
若报错需要先安装http-tools依赖包 则再安装http-tools
【root@localhost packages】# rpm -ivh httpd-tools-2.4.6-67.el7.centos.x86_64.rpm
【root@localhost packages】# rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm
还会报错缺少依赖包 则接着安装依赖包 装完再安装rpm -ivh httpd-2.4.6.67.el7.centos.x86_64.rpm
源代码编译安装概述
1.使用源代码安装软件的有点:获得最新的软件版本,及时修复BUG ;根据客户需要,灵活定制软 件功能
2.应用场合:安装较新版本的应用程序时;当前安装的程序无法满足需要时;需要为应用程序添加 新的功能时
编译安装过程
编译安装hpptd-2.4.29.tar.bz2步骤:
1.解压【root@localhost opt】# tar -jxvf httpd-2.4.29.tar.bz2
2.【root@localhost opt】#ls 【查看是否解压成功】
3.【root@localhost opt】# cd httpd-2.4.29
4.【root@localhost httpd-2.4.29】# yum -y install gcc gcc-c++ make pcre pcre-devel
expat-devel perl 【即安装httpd需要的依赖环境】
5.【root@localhost httpd-2.4.29】# ./configure --prefix=/usr/local/apache 【检查组件、
验证元代码包的完整性,指定安装位置】
6.【root@localhost httpd-2.4.29】# make 【编译 把代码编译成二进制】
7.【root@localhost httpd-2.4.29】# make && make install 【7,8可以合并 编译并安装】
8.【root@localhost httpd-2.4.29】# netstat -antp | grep 80 【查看服务端口,服务是否可用】
9.【root@localhost httpd-2.4.29】# cd /usr/local/apache/
10.【root@localhost apache】# cd bin/
11.【root@localhost bin】# ll 查看执行文件/脚本文件
12.【root@localhost bin】# ./apachectl
13.【root@localhost bin】# netstat -antp | grep 80
14.【root@localhost bin】# cd /var/
15.【root@localhost var】# mkdir www
16.【root@localhost var】# cd www/
17.【root@localhost var】# echo 'hello,world' > index.html
简单脚本编写
【root@localhost opt】# vim test.sh 【脚本命名】
#!bin/bash 【固定格式,调用bash】
tar -jxvf /opt/httpd-2.4.29.tar.bz2 【解压opt目录下的httpd文件】
sleep 10 【解压后暂停10秒给压缩包解压】
cd /opt/httpd-2.4.29
yum -y install apr* gcc* pcre*
./configure --prefix=/usr/local/apache 【指定安装位置】
make && make install 【编译及安装】
syatemctl stop firwalld 【关闭防火墙】
setenforce 0 【关闭安全机制】
/usr/local/apache/bin/apachectl start 【执行脚本】
netstat -antp | grep 80 【查看80端口,是否启用】
:wq!
脚本写完要执行,用source
临时挂载 【将目标目录、文件和本机自带源目录、文件拼接】
1.[root@localhost conf]# df -h 【查看是否有相关的源】
2.[root@localhost conf]# mount /dev/sr0 /mnt
3.[root@localhost conf]# cd /mnt/
yum实现过程:先在yum服务器上创建yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定的目录repodata下),当yum客户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包以及依赖关系,自动从仓库中找到相关包下载并安装。
创建本地yum元
[root@localhost ~]# cd /etc/yum.repos.d/ 【进入yum仓库目录】
[root@localhost yum.repos.d]# cd backup/
[root@localhost backup]# cd ..
[root@localhost yum.repos.d]# mkdir backup2 【创建备份目录】
[root@localhost yum.repos.d]# mv CentOS-* /etc/yum.repos.d/ backup2 【把目录下的所有.repo文件都移动到backup2目录下】
[root@localhost yum.repos.d]# vim ky27.repo 【创建yum元】
[ky27]
name=ky27
baseurl=file:///mnt 【指定仓库路径】【file// 固定格式, /mnt:根目录下mnt目录】
gpgcheck=0 【不验证秘钥】
:wq!
[root@localhost yum.repos.d]# mount /dev/cdrom/mnt 【挂载创建yum元时baseurl指向的mnt目录】
[root@localhost yum.repos.d]# yum clean all 【清理之前的缓存】
[root@localhost yum.repos.d]# yum makecache 【重新加载元数据】【回车显示元数据缓存已建立即成功】
[root@localhost yum.repos.d]# rpm -q httpd 【查看是否安装httpd,若未安装则执行下一步】
[root@localhost yum.repos.d]# yum -y install httpd 【yum元直接进行安装,不需要一步一步解决依赖关系】
[root@localhost yum.repos.d]# yum clean all && yum makecache作用:
1.更新yum元
2.每次更换yum时候,清理历史元数据,重新加载新的元数据
--创建在线yum
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
总结:1.软件包的封装类型
2.RPM软件包管理工具
3.源代码编译安装基本过程