一、软件包管理
1.分类
源码包<<脚本安装包
二进制包:(RPM包、系统默认包)
编译:adbd 01010
反编译:代码中一部分会丢失
Windows中的包在linux中无法安装。
源码包优点
①开源,如果有足够能力,可以修改源代码
②可以自由选择所需的功能
③软件是编译安装,更加适合自己的系统,稳定效率高
④卸载方便
缺点:
①安装过程步骤较多,尤其安装较大的软件集合的时(如LAMP环境搭建),容易出现拼写错误
②编译过程长,安装比二进制安装时间长
③编译安装,一旦报错,新手很难解决
2.Rpm包和脚本安装包
1)rpm包的优缺点
rpm包优点
①包管理系统简单,只通过几个命令就可以实现安装、升级。查询、下载
②安装速度比源码包安装快得多
缺点:
①经过编译,不再可以看到源代码
②功能选择不如源码包灵活
③依赖性
2)脚本安装包
把复杂的软件包安装过程写成了程序脚本,初学者可以执行程序脚本实现一键安装。但是实际安装的还是源码和二进制包。
优点:安装简单快捷
缺点:完全丧失了自定义性
二、rpm命令管理
1.RPM包命名规则
1) RPM包来源
位于系统光盘中的/mnt/cdrom/Packages中
命名原则依赖性:
①树形依赖:a-b-c
②环形依赖:a-b-c-a(abc三个包放到一个命令里面去装就行)
③模块依赖:模块依赖,查询网站:www.rpmfind.net
注释:以so.2结尾的就是库文件包,如果提示这个依赖包没有装,这个不是包其实是一个文件,只需要将有这个文件的包装上就可以。
2.rpm管理之安装命令
1)包全名和包名
包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库
2)RPM安装
#rpm -ivh包全名
选项:-i //安装
-v // 显示详细信息
-h // 显示进度
--nodeps //不检测依赖性
3)Rpm命令管理之升级与卸载
#rpm -Uvh包全名
选项:-U升级
#rpm -e包名 //卸载
选项--nodeps不检查依赖性
卸载命令:linux安装Rpm包会在系统中默认安装,所以有卸载命令。源码包是没有卸载命令的,因为它有指定的安装路径。直接删掉那个路径就可以了。
4)查询
默认安装位置#rpm -q包名 //查询包是否安装
#rpm -qa //查询所有已经安装的包
#rpm -pi //-i:查询软件信息 -p:查询未安装包信息
#rpm -qf系统文件名 //-f :查询系统文件属于哪个软件包
注释:这个文件必须是通过Rpm包装出来的,不是自己或者系统建立的
#rpm -qR包名 //查询这个已经安装的包安装所需要的依赖文件
#rpm -pR包名 //查询这个未安装的包安装所需要的依赖包
-R:查询软件包的依赖性
5)Rpm包校验
#rpm -V已安装的包名
选项-V:校验指定Rpm包中的文件
验证内容 文件类型图示 图示 图示# rpm2cpio包全名 | cpio -idv.文件路径
-rpm2cpio //将rpm包转换为cpio格式的命令
-cpio //是一个标准工具,用于创建软件档案文件和从档案文件中提取文件
三、yum在线安装
1.yum源文件
yum在线管理(cents0s的yum是免费的,redhat在线安装需要付费)
yum在线安装好处:
将所有软件包放到官方服务器上,当进行yum在在线安装时候,可以自动解决依赖性问题。
yum源文件 Yum源的地址,默认是国外的相对比较缓慢,可以百度搜索其他的网络yum源进行替换。 数字证书,只要把上面的改下1,会使安装更加安全。#cd /etc/yum.repos.d
2.光盘yum源搭建
光盘放入光驱,下载yum。
图示光盘yum源①建立挂载点,挂载光盘
#mkdir /mnt/cdrom
#mount /dev/cdrom /mnt/cdrom/
②使网络yum源失效
#cd /etc/yum.repos.d //进入yum源目录
#mv CentOS-Base.repo CentOS-Base.repo.bak //修改yum源文件后缀名,使其失效
③使光盘yum源生效
改成真正的光盘挂载点;顶头注释不需要的yum源地址;将状态改为生效1#vi光盘yum源
#yum list //查看能安装的列表
3.yum命令
#yum list //查看所有可用软件包列表
#yum search关键字 //搜索服务器上所有和关键字相关的包
#yum -y install包名 //安装 (只写包名即可)
#yum -y update包名 //升级软件包
尽量慎用,可能造成linux崩溃
#yum -y remove包名 //x卸载
服务器使用最小化安装,使用什么安装什么,尽量不卸载。
安装中文组yum组管理命令:
#yum grouplist //列出所有可用的软件组列表
#yum groupinstall软件组名 //安装指定软件组,组名可用由grouplist查询出来
#yum groupremove软件组名 //卸载指定软件组
临时生效
#LANG=en_US //语系设置为英文
#LANG=zh_CN.utf8 //设置中文
四、源码包安装
1.源码包和RPM包的区别
安装之前区别:概念上的区别
安装之后区别:安装位置不同(rpm包安装在默认位置。源码包是自己选择安装路径)
#rpm --help | grep prefix //查看软件包指定安装位置
安装位置不同的影响
Rpm包安装的服务可以使用系统服务管理命令(service)来管理,例如rpm包安装的apache的启动方法(2种)是:
①# /etc/rc.d/init.d/httpd start
②# Service https start
2.源码包安装位置
①安装在指定位置中,一般是/usr/local/软件名
源码包没有卸载命令。
②源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如 #/usr/local/apachetcl start
3.源码包安装过程
①安装准备
安装c语言编译器,
#rpm -qa | grep gcc
下载源码apache源码包地址:http://mirror.bit.edu.cn/apache/httpd
②Rpm包和源码包可以同时安装
注意事项:源码包保存位置:#/usr/local/src
Rpm包保存位置:#/usr/local
如何确定安装过程报错:1.安装过程停止2.出现error、warning、no的提示。
③安装
解压缩下载的源码包
#tar -zxvf源码包名
进入解压缩目录(必须执行,否则启动位置不同就会报错)
#ls
#cd httpd-2.2.9
指定安装位置软件配置与检查
#./configure
(功能:定义需要的功能选项;检测系统环境是否符合安装要求;把定义好的功能选项和检测系统环境的信息都写入makefile文件,用于后续的编辑)
编译
#make
如果报错可以执行#make clean //清楚缓存
#make instal //编译安装
源码包卸载:不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。
五、脚本安装包
1.Nginx服务器
是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄国公司2001年发布。
综合对比2.Nginx安装准备工作
①关闭rpm包安装的httpd和mysql
②保证yum源正常使用 yum list 即可
③关闭SELinux和防火墙
一键安装包网址:lnmp.org
优点:简单。快速。方便
缺点:不能定义安装软件的版本;不能定义所需要软件的功能;源码包的优势丧失。
config文件#ps -ef aux //查看启动的进程
#service httpd stop //停止apache服务
#service mysql stop //停止mysql服务
原因:nginx要占用80端口,所以要关闭这两个服务
#vi /etc/selinux/config
到网站,下载一键安装包
解压缩 脚本一键安装包只需要执行这个centos.sh文件即可
安装完成后
#php -fpm
无法启动时候,可能是卡住了。
#pkill -9 php //强制杀死这个进程
启动这个进程:
启动进程
网友评论