在Linux系统中有四种软件安装方式:rpm、yum、apt、编译安装
编译安装
编译安装只有一个源码包,源码包是由一大堆源代码程序组成的,是由程序员按照特定格式和语法编写好了,现成的安装包
程序:未执行的代码
进程:执行起来的代码
线程:进程运行起来,线程执行运行过程中的代码
源码包又叫二进制包,成功编译后产生的包
防火墙
在Linux系统中安装软件时,要先关闭防火墙
Ubuntu系统中关闭防火墙命令:ufw disable
Centos系统中关闭防火墙命令:systemctl stop firewalld seten
Ubuntu系统
Centos系统
安装源文件位置
Ubuntu:/etc/apt/sources.list
#在线源
Centos:/etc/yum.repos.d
#在线源和本地源(光盘镜像)
Ubuntu依赖包:apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
Centos依赖包:yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel
安装过程
Ubuntu和Centos安装过程基本一样,这边就以Ubuntu举例
Ubuntu系统安装nginx软件
1、关闭防火墙
ufw disable
2、安装依赖环境
apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
3、创建用户
useradd -M -s /sbin/nologin nginx
-M:只能创建用户,不能创建家目录
-s:指定创建用户的登录shell,禁止该用户登录系统
nginx:用户名nginx
4、解包-->配置-->编译-->安装
解包:把压缩包nginx.tar.gz解压
配置:进入nginx-1.22.0目录下
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
安装到指定的路径:/usr/local/nginx
编译
make -j 4 && make install
安装:建立软链接把/usr/local/nginx/sbin/nginx软链接到/usr/bin/
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
5、安装完成之后对程序进行配置(权限、控制)
进入到/usr/local目录下,把/nginx目录的root权限修改成nginx
进入/nginx目录下,创建一个run目录,并把权限改成nginx
mkdir run
chown nginx.nginx run/
进入/conf目录下,编辑nginx.conf,把#pid logs/nginx.pid;改成pid /usr/local/nginx/run/nginx.pid;然后保存
检查配置文件的语法是否正确
nginx -t
结果如下就可以了
输入命令:vim /lib/systemd/system/nginx.service
编辑
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
编辑好后,重启
systemctl daemon-reload
systemctl restart nginx
编译安装的优劣势
好处:
1、开源,如果会代码,可以修改源代码
2、可以自定义模块和功能
缺点:
1、繁琐
2、对新手非常不友好
第二代安装方式
rpm和dpkg
rpm只限于centos,包都是以.rpm为结尾
rpm -ivh 软件包.rpm centos系统rpm包安装方法
-q:查找当前系统是否安装了该软件
-i:安装
-v:显示安装过程
-h;已#号键显示安装过程
-e:卸载已安装的软件
rpm和dpkg,他会自动查找安装软件的依赖关系,并不会安装这些依赖关系
ubuntu系统:
dpkg
-i:安装
-r: 卸载
-p:完全清楚软件包(不推荐)
-l:查找当前系统是否安装该软件
dpkg -l 无法查找到编译安装的软件
第三代:
apt yum 自动化一键式安装(重点)
apt ubuntu ---------------------deb的包
yum centosuf-------------------rpm的包
> 两种安装都有在线,本地-----------------包
apt和yum的安装----安装完成之后软件的默认位置都在/etc
挂载
Linux系统硬件设备必须要和本地目录做挂载
设备的挂载命令:mount
-t:指定文件系统的类型,系统可以自动识别,可以不加。
-o:指定挂载的参数,指定挂载目录的权限和配额
-a:自动挂载,根据/etc/fstab的配置实现
-v:显示详细过程,可以不加
挂载规则:
1、一个设备只能挂载一个目录
2、挂载点,就是linux系统中的一个目录,这个目录最好是一个空目录(新建的目录)
mount /dev/sr0(光盘镜像) /mnt/
前一个是设备,后一个是本机的目录
表示目录的路径一定要是绝对路径
centos安装软件
cd /etc/yum.repos.d
mkdir bak
mv * bak/
vim local.repo
#进入编辑页面
[local]
name=local
#这是个描述信息,name=可以是任意内容
baseurl=file:///mnt
#指定光盘镜像的挂载目录作为软件的仓库源
enabled=1
#开启此yum源,可以不加,默认就是开启
gpgcheck=0
#不检查软件的序列号,加快下载速度
#按esc,输入:wq保存退出
yum clean all && yum makecache
#清楚之间的缓存信息 更新并同步元数据(保存每个软件之间的关系)
centos系统安装第三方源:yum -y install epel-release
每次有新的源配置加入到/etc/yum.repos.d/,都需要执行更新同步元数据(保存了软件之间的依赖关系)
卸载 yum remove -y
安装 yum -y install
获取在线源软件包 yum upable
apt-get update更新安装源
编译安装
rpm和dpkg包,而且这个包必须是准备好的,而且已经在系统的目录当中
yum apt 只要有源即可,自动下载自动安装,自动解觉依赖关系