4、在Linux上安装软件
1、编译安装是只使用源代码包进行安装源码包:一大堆源代码程序组成的,现成的安装包;即二进制包,成功编译后产生的包2、使用编译安装,首先需要闭关防火墙命令:uwfdisable3、安装源文件的位置:ubuntu:/etc/apt/sources.list——在线源centos :/etc/yun.repos.d/*.repo——在线源(官方已关闭)和本地源(光盘镜像)
第一代:编译安装
基础知识
1、编译安装是只使用源代码包进行安装
源码包:一大堆源代码程序组成的,现成的安装包;即二进制包,成功编译后产生的包
- 程序:未执行的代码
- 进程:执行起来的代码
- 线程:进程运行起来之后,线程就是执行运行过程中的代码
2、使用编译安装,首先需要闭关防火墙
- centos的防火墙:firewalld
![]()
- ubuntu防火墙:ufw(默认关闭)
命令:uwf disable
3、安装源文件的位置:
ubuntu:/etc/apt/ sources.list——在线源

centos :/etc/yun.repos.d/ *.repo——在线源(官方已关闭)和本地源(光盘镜像)

Ubuntu编译安装操作步骤
案列:首先得到一个nginx压缩包,使用编译安装nginx
第一步:安装依赖环境
apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
第二步:
1、想要运行nginx,必须为其创造一个运行用户
useradd -M -s /sbin/nologin nginx
- -M:只创建用户,不创建家目录
- -s:指定创建用户的登录shell,禁止该用户登录系统
- nginx:用户名叫nginx
2、排错:检查nginx运行用户是否被创建
cat /etc/passwd

第三步:
解包 ——> 配置 ——> 编译 ——> 安装
1、解包:
用tar解包,进入包中,得到源码目录,有个configure可执行文件

2、配置:
执行configure文件,把nginx安装在 /usr/local/nginx(一并创建nginx文件夹)下,并定义nginx用户和组

./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
如果配置过程及后面过程出现错误,都需要回到重新配置
3、编译且安装:
-j 4:使用四核
第四步:
安装完成之后对程序进行配置(权限、控制)
1、使系统能识别nginx操作命令

2、递归修改nginx权限、所有者和所在组都改成nginx


3、在nginux目录中创建一个run目录(为进程文件),并修改run目录的所有者和所在组都改成nginx
mkdir run

PS:
- 4096是进程号,唯一的,方便对进程进行操作,排错主要手段
- conf/文件是应用的配置文件
4、修改nginux的主配置文件(conf/nginux.conf文件),为了把启动的进程文件指向run目录
vim conf/nginux.conf 进入修改模式,修改pid行

保存退出后,再检查配置文件语法是否正确

5、添加到系统中,由系统可以对程序进行控制,用vim进入修改模式,直接复制下面命令
![]()
[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
6、刷新系统,使系统能识别我们添加的文件


第二代:rpm和dpkg
rpm和dpkg,他会自动查找安装软件的依赖关系,并不会安装这些关系
1、rpm
rpm只限于centos,包都是以 .rpm结尾
rpm -ivh 软件包——安装 .rpm包方法
rpm -e 软件包——卸载
rpm -q 软件包——查找
2、dpkg
dpkg主要用于Ubuntu,包都是以 .deb结尾
-i 安装
-r 卸载
-l 查找当前系统是否安装该软件
-p 完全卸载包括包(不推荐)
dpkg -i 软件包
第三代:yum和apt
yum和apt,自动化一键安装式,有在线和本地。
yum centos——rpm包
apt Ubuntu——deb包
安装完成之后软件路径都在 /etc

仓库源

sources.list:Ubuntu安装源,在线的,也可以离线。

.repo:以 .repo结尾的是centos安装源。
在线源安装过程:
在线源必须要联网,包是需要远程下载的。
- 找到安装包
- 找到安装包的依赖关系
- 下载安装包和依赖关系
- 安装
离线源安装过程:
- 光盘镜像自带
- 本地目录集成好了安装包
- 找到安装包和依赖关系
- 安装
yum本地离线源
1、使用镜像

2、设备的挂载
mount
-t:指定文件的类型,系统可以自动识别,一般不加
-o:指定挂载的参数,指定挂载目录的权限和配额
-a:自动挂载,根据 /etc/fstab的配置实现(自动挂载文件)
挂载的规则:
- 一个设备只能挂载一个目录
- 挂载点,就是Linux系统中的目录,这个目录最好是一个空目录(新建的目录)
命令:

- 前一个是设备,后一个是本机的目录,表示目录的路径必须是绝对路径

3、创建本地源
首先进入本地源,下面都是官方源没用了可以清掉,需要建本地源

配置yum本地源光盘镜像



这时候查看已经有3894条源记录

补充:也可以在有网络情况下安装阿里yum源,删除etc/yum.repos.d/目录下删除所有文件,然后直接执行命令:
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache
如果不成功,可能是网络守护进程的原因,可以用命令:systmectl stop NetworkManager 再试。
yum本地在线源配置
网页的显示,在内网中提供一个公共的访问地址
操作步骤:
yum -y install httpd #安装httpd网页软件
cd /var/www/html #centos的http的默认的访问目录
systemctl stop firewalld.service #关闭系统防火墙
setenforce 0 #关闭统安全机制
systemctl restart httpd #重启http服务
这时候我们用自己的IP地址登录网页,就是httpd的主页

mkdir centos7 #在http的默认的访问目录创建一个目录 centos7

准备好镜像文件做挂载
mount /dev/cdrom/ /var/www/html/centos7 #镜像文件挂载到新建的centos7目录
这时候我们用自己的IP地址/centos7/登录网页,里面内容就是镜像的内容

在/etc/yum.repos.d/目录下,先删除掉原来的源包Centos-7.repo,再新建新的源包 httpd.repo

具体配置如下:

设置了两个源信息,一个是镜像文件的,另一个是阿里源的
yum clean all && yum makecache #同步元数据
这时候就可以下载软件了
如果我们发生源冲突
源冲突:两个源,本地和在线,如果本地版本比在线版本低,就会冲突。
解决方法:可以先屏蔽一个源
下载软件
yum -y install 软件 —— 安装
yum -y remove 软件 —— 卸载
yum update —— 更新在线源
apt离线源配置
第一步:准备好官方的ubuntu镜像,如ubuntu-20.04.4-desktop-amd64.sio
第二步:镜像挂载,如挂载到/mnt
第三步:配置本地源配置文件,vim /etc/apt/sources.list
简写
deb [trusted=yes] file:///mnt focal main restricted universe multiverse
全写
deb [trusted=yes] file:///mnt focal main restricted universe multiverse
deb [trusted=yes] file:///mnt focal-updates main restricted universe multiverse
deb [trusted=yes] file:///mnt focal-security main restricted universe multiverse
deb [trusted=yes] file:///mnt focal-backports main restricted universe multiverse
- trusted=yes #信任源
- file:// #对象的路径是一个本地的目录,包需要全量准备好(如果是镜像,需要挂载点)
- /mnt #挂载点
- foca #版本代号
- main #ubuntu官方支持的基础包
- restricted #专用的软件包,主要是显卡、网卡驱动
- universe #开源的第三方的软件包(官方没有的,不在官方支持的范围之内的包)
- multiverse #版权受限的包(官方没有版权的包)
| updates | 持续更新 |
| security | 后期维护 |
| backports | 不维护 |
apt -y install 软件 —— 安装
apt -y remove 软件 —— 卸载
apt update —— 更新在线源
更多推荐


所有评论(0)