Linux软件安装

一、软件包管理

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在在线安装时候,可以自动解决依赖性问题。

#cd /etc/yum.repos.d

yum源文件
Yum源的地址,默认是国外的相对比较缓慢,可以百度搜索其他的网络yum源进行替换。
数字证书,只要把上面的改下1,会使安装更加安全。

2.光盘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源

#vi光盘yum源

改成真正的光盘挂载点;顶头注释不需要的yum源地址;将状态改为生效1

#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

优点:简单。快速。方便

缺点:不能定义安装软件的版本;不能定义所需要软件的功能;源码包的优势丧失。

#ps -ef aux //查看启动的进程

#service httpd stop //停止apache服务

#service mysql stop //停止mysql服务

原因:nginx要占用80端口,所以要关闭这两个服务

#vi /etc/selinux/config

config文件

到网站,下载一键安装包

解压缩
脚本一键安装包

只需要执行这个centos.sh文件即可

安装完成后

#php -fpm

无法启动时候,可能是卡住了。

#pkill -9 php   //强制杀死这个进程

启动这个进程:

启动进程

你可能感兴趣的:(Linux软件安装)