Linux下也需要软件安装
视频地址:
Linux软件安装
1 软件包管理简介
1.1 源码包
软件包分类
- 源码包
脚本安装包 二进制包(RPM包、默认安装包)
Linux中的软件都是开源的,window的软件是非开源的,即window的软件包是经过编译完成的。
源码包
源码包的优点:
- 开源,如果有足够的能力,可以修改源代码
- 可以自由选择所需要安装的功能
- 软件更加适合自己的系统,更加稳定和高校
- 卸载方便
源码包的缺点
- 安装过程步骤较多,尤其安装较大的软件集合时(LAMP环境搭建),容易出现拼写错误
- 编译过程时间较长,安装比二进制安装时间长
- 因为是编译安装,如果出错,新手很难解决
RPM包
优点:
- 包管理系统简单,只需要通过几个命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码包安装快的多
缺点:
- 经过编译,不再可以看到源码
- 功能选择不如源码包灵活
- 依赖性
脚本安装包
就是把复杂的软件包安装过程写成了程序脚本,初学者可以执行程序脚本实现一键安装。但是实际安装的还是源码包和二进制包。
优点:
- 安装简单、快捷
缺点:
- 完全丧失了自定义性
3 yum在线管理
1)查找
#查询所有可用软件包列表
yum list
#搜索服务器上所有和关键字相关的包
yum search 关键字
2)安装
yum -y install 安装包名
3)升级
yum -y update 包名
尽量不升级
4)删除
yum -y remove 包名
服务器使用最小化安装,用什么软件安装什么,尽量不卸载
5)Yum软件组管理命令
#列出所有可用的软件组列表
yum grouplist
#安装指定软件组- - -软件组名必须为英文
yum groupinstall 软件组名
#卸载指定软件组
yum groupremove
EG:安装某一项组
#将语系改为英文
LANG=en_US
#将语系改为中文
LANG=zh_CN.utf8
4 源码包管理
4.1源码包和rpm包对比
1.源码包和rpm包最大的区别
- 安装位置不同;
1)rpm包不建议指定安装位置,安装目录到处都是;
2)
源码包建议安装目录:
/user/local/软件名,没有卸载命令,直接删除安装目录;
2 . 由于安装位置不同导致启动方式的不同
1)RPM包的启动方法:
systemctl start httpd.service
等同于
service httpd start
2) 源码包启动方式
只能用绝对路径进行服务的管理
例如:apache的启动
/user/local/apache2/bin/apachectl start
4.2 安装步骤
1.安装准备
- 安装C语言编译器
- 下载源码包
http://mirror.bit.edu.cn/apache/httpd
2.安装注意事项
- 源码保存位置:/usr/local/src/
- 软件安装位置:/usr/local
- 如何确定安装过程报错
- 安装过程停止
- 出现error、warning或者no的提示
3.源码包安装过程
1)下载源码包
可以下载到任意的包中
2)解压缩下载的源码包
- 以root方式运行
cd
- 进入根目录下
tar -zxvf httpd-2.2.9.tar.gz
3) 进入解压缩目录- - -必须要执行
cd httpd-2.2.34
4)
ls
可以看到文件configure- - - 该文件里面有安装详情
ABOUT_APACHE config.layout httpd.spec LICENSE README.platforms
acinclude.m4 configure include Makefile.in README-win32.txt
Apache.dsw configure.in INSTALL Makefile.win ROADMAP
build docs InstallBin.dsp modules server
BuildAll.dsp emacs-style LAYOUT NOTICE srclib
BuildBin.dsp httpd.dep libhttpd.dep NWGNUmakefile support
buildconf httpd.dsp libhttpd.dsp os test
CHANGES httpd.mak libhttpd.mak README VERSIONING
5)
./configure软件配置与检查
- 定义需要的功能选项
- 检测系统配置是否符合功能要求
- 把定义好的功能选项和检测系统环境的信息都写入Makefile文件中,用于后续编辑.
./configure --help
6)
./configure --prefix=/usr/local/apche
可以看出是否报错,如果报错,
清除缓存
make clean
7)安装文件
make install
8)
cd /usr/local/apache
ls
看出存在apache文件夹,文件安装完成
9)启动
/usr/local/apache/bin/apachectl start
但是不能启动,原因:端口冲突
#关闭httpd端口
service httpd stop
如何知道安装方式
在解压后的文件目录中有INSTALL,打开INSTALL文件
vi INSTALL
有有具体的步骤
不同的启动方式
1)源码包
/usr/local/apache/bin/apachectl start
2)yum安装
service httpd start
4.3 卸载
直接卸载安装包即可,不会有任何残留
5 脚本安装包- - -一键安装
5.1 Nginx
Nginx非常强大,是轻量级的服务器。
支持更大的并发连接量
准备工作
1)关闭RPM包安装的httpd和MYSQL- - -Ngnix占用80端口
#查看启动的apache服务是哪个
ps aux
#关闭apache服务
service httpd stop
#关闭myssql服务
service mysqld stop
2)保证yum源正常使用
yum list
3)关闭SELinux和防火墙
SElinux是增强安全组件。
#打开SElinux设置
vi /etc/selinux/config
设置
SELINUX=disabled
重启电脑
或者
#可以临时关闭selinux
setenforce 0
note:
setenforce 0 --可以临时关闭selinux
setenforce 1 --可以临时开启selinux
getenforce --可以查看selinux状态
下载安装
(1)输入
https://lnmp.org/download.html
下载软件
wget http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz
解压缩
tar -zxvf lnmp1.1-full.tar.gz
进入压缩包
cd lnmp1.1-full
安装
./install.sh
(2)
上面第一步等价于
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp
报错分析
starting LNMP
starting MySQL
starting php-fpm
出错,安装已经完成,需要杀掉php-fpm,在重新启动
强制杀死
pkill -9 php-fpm
/etc/rc.d/init.d/php-fpm start
6 RPM安装包
6.1 RPM包安装规则
库文件依赖:以so.2结尾,需要安装rpm包。
解决方式:www.rpmfind.net
6.2 安装
6.2.1 包全名和包名
包全名–完成的包名,用于操作没有安装过的软件包
包名:rpm包的简化名,操作已经安装过的软件包
6.2.2
rpm -ivh 包全名