一 重要目录之/usr
# /usr 安装第三方软件的目录
1./usr/local 主要用来安装软件的目录
2./usr/bin和/usr/local/bin 主要用来存放第三方二进制命令文件的目录
二 linux安装文件的三种方式
1 rpm安装
# rpm安装
前提:需要有软件的rpm安装包
华为centos-7安装包的镜像源:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages
下载zsh的连接:https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zsh-5.0.2-34.el7_8.2.x86_64.rpm
缺点:rpm无法解决安装包依赖的问题
# 安装软件
rpm -ivh [软件包名称]
# eg: rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
warning: zsh-5.0.2-34.el7_8.2.x86_64.rpm: Header...
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-34.el7_8.2 ################################# [100%]
# 软件包名称解读
zsh : 软件包的名称
5.0.2 : 软件包的版本号
34 : 软件包的构建次数
el7 : 软件包适用的平台
8.2.x86_64 : 适用于64位操作系统
.rpm : 扩展名
# 更新软件
rpm -Uvh [软件包名称]
# 卸载软件
rpm -e [软件包名称]
# eg: rpm -e zsh
# 其他参数
rpm -q [软件包名称] # 查看该软件包是否安装
rpm -qa [软件包名称] # 打印当前系统中所有的已经安装了的安装包
跟软件包,则判断软件包是否安装
不跟软件包,则打印当前系统中所有的已经安装的软件包
rpm -ql [软件包名称] # 打印指定安装包中包含的所有文件
rpm -qc [软件包名称] # 打印指定安装包的配置文件
# 其他参数的eg:
rpm -q zsh
package zsh is not installed
rpm -q gpm-libs-1.20.7-6.el7.x86_64
gpm-libs-1.20.7-6.el7.x86_64
rpm -ql python
/usr/bin/pydoc
/usr/bin/python
/usr/bin/python2
/usr/bin/python2.7
/usr/libexec/platform-python
/usr/share/doc/python-2.7.5
/usr/share/doc/python-2.7.5/LICENSE
/usr/share/doc/python-2.7.5/README
/usr/share/man/man1/python.1.gz
/usr/share/man/man1/python2.1.gz
/usr/share/man/man1/python2.7.1.gz
2 yum安装
# yum安装
自动去yum源中,下载安装包,再进行rpm安装
优点:可以自动解决安装包的依赖(也就是说安装包安装的时候,自动将依赖包提前安装)
缺点:无法自定义安装
# 安装软件
yum install [安装包的名称]
-y : 不提示,默认确认
# eg: yum install nginx
# 卸载软件
yum remove [软件包名称]
-y : 不提示删除,默认确认
# 更新软件
yum update [软件包]
1.跟软件包则更新软件包
2.不跟软件包则更新整个操作系统的软件包
# 搜索软件
yum search nginx # 在仓库中搜索相关的软件包
---------------------------------------------
# yum安装软件的执行逻辑
第一步:执行yum install nginx 安装命令
第二步:yum去到/etc/yum.repos.d/ 这个目录中 # repos :repository的缩写 n. 仓库、存储库
第三步:根据目录中所有以.repo结尾的文件里的baseurl连接,去寻找对应的软件包
第四步:下载软件 到 /var/cache/yum/x86_64/7/[yum仓库名称] 目录
第五步:安装所有的软件(rpm -ivh)
第六步:检测是否安装完毕并返回
# yum的配置文件: cat /etc/yum.conf
cachedir=/var/cache/yum/$basearch/$releasever # 指定yum下载的软件包存放的路径
# $basearch ==x86_64, $releasever ==7 是yum的软件变量,不是系统变量
keepcache=0 # 是否保存下载的软件包(0:不保存 1:保存)
# yum源文件: 在/etc/yum.repos.d/ 目录下,以.repo结尾的文件
[源的名称] # 名称不能中文
name # 源的简介(必须)
baseurl # 源的地址(必须)
gpgcheck # 是否验证源的安全性(1:验证, 0:不验证)
2.1 yum添加源--epel源
# 案例:yum添加epel源
1.解决yum安装ngin安装包 显示没有的问题:需要添加下载epel源
2.epel源是CentOS扩展包的仓库
# 1.切换目录
cd /etc/yum.repos.d/
# 2.编辑文件 (新增epel.repo文件--epel源仓库)
vim epel.repo
[epel]
name="epel源"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0
# 3.更新源
yum clean all
yum makecache
2.2 搭建yum仓库
# yum仓库目录结构:
仓库目录:
-Packages :软件安装包目录
-repodata :软件依赖的目录
# 准备工作:
# 1.修改IP
sed -i 's#.200#.50#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
systemctl restart network
# 2.关闭selinux
/etc/selinux/config
1.临时关闭
setenforce 0
2.永久关闭
vi /etc/selinux/config
SELINUX=disabled
# 3.关闭默认的防火墙
systemctl disable --now firewalld
disable : 禁用
enable : 启用
--now : 立即执行
# 搭建步骤:
# 1.创建目录,充当仓库
mkdir /yumrepo
# 2.在仓库中创建Packages目录,用于存放软件
cd /yumrepo
mkdir Packages
# 3.下载软件安装包到Packages目录中
# 方式一: 进入到下载目录,再wget下载
cd /yumrepo/Packages
wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
# 方式二: wget -O [下载目录] [下载的文件url]
wget -O /yumrepo/Packages/zip-3.0-11.el7.x86_64.rpm https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
# 方式三: curl -o [保存目录] [下载的文件url]
curl -o /yumrepo/Packages/zip-3.0-11.el7.x86_64.rpm https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
# 4.建立依赖关系
1.安装建立依赖关系的命令
yum install yum-utils createrepo
2.初始化,建立yum源的依赖关系 # createrepo [仓库的路径]
createrepo /yumrepo/ # 注:会在仓库目录中创建repodata目录,主要用来存放yum依赖关系的。
3.检查
cd /yumrepo/
ll
ll repodata/
# 5.编写yum源 将私有仓库指定到yum源中
cd /etc/yum.repos.d/
vim local.repo
[local]
name=本地yum源
baseurl=file:///yumrepo # 本地的文件,作为url访问,必须以file协议开头
gpgcheck=0
# 更新源:
yum clean all
yum makecache
# 正常前五步,已经可以本地使用该仓库,但为了能够远程访问使用仓库,需接着配置以下步骤
# 6.安装远程软件,提供远程访问服务
1.恢复base源和epel源 # 之前为了测试本地源生效,将这两个源,移动到backup目录中了 ( mv *.repo backup/ )
cd /etc/yum.repos.d/
mv backup/* .
ll
total 12
drwxr-xr-x 2 root root 6 Sep 22 12:20 backup
-rw-r--r--. 1 root root 102 Sep 16 11:58 CentOS-Base.repo
-rw-r--r-- 1 root root 85 Sep 22 10:58 epel.repo
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
2.安装nginx远程web服务软件
yum install nginx -y
3.修改nginx的配置文件,使其能够代理yumrepo仓库的远程服务
vim /etc/nginx/conf.d/autoindex.conf # 这是yum安装Nginx的配置文件位置
或vim /etc/nginx/nginx.conf
/usr/local/nginx/conf/nginx.conf # 这是编译安装Nginx的配置文件位置
1.将目录索引的配置参数 添加到 配置文件的 # http{ server{中} }
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
2.修改nginx代理的目录 配置文件的 # http{ server{ location{root 值} } }
root /yumrepo;
4.启动nginx服务
systemctl start nginx
5.测试nginx 浏览器访问本机的公网ip
http://192.168.15.201/
# 7.重新修改local yum源
1.隐藏base源和epel源 # 将/etc/yum.repos.d中的base源和epel源 移动到backup目录中
mv CentOS-Base.repo backup/
mv epel.repo backup/
cd /etc/yum.repos.d
ll
total 4
drwxr-xr-x 2 root root 6 Sep 22 12:20 backup
-rw-r--r-- 1 root root 61 Sep 22 12:11 local.repo
2.修改local源,使其支持远程访问
cd /etc/yum.repos.d/
vim local.repo
[local]
name=本地yum源
baseurl=http://192.168.15.201/
gpgcheck=0
3.更新源:
yum clean all
yum makecache
# 8.测试
yum remove zip
yum install zip
3 二进制编译安装
# 优点:单独定制安装软件
# 缺点:不能决绝依赖关系
nginx下载源代码包:https://nginx.org/download/nginx-1.20.1.tar.gz
# 1.下载解压安装包
下载软件包的压缩文件: # 在软件官网下载
wget https://nginx.org/download/nginx-1.20.1.tar.gz
解压文件:
tar -xf nginx-1.20.1.tar.gz
# 2.检查安装环境
cd nginx-1.20.1
./configure # 执行文件夹里的configure文件 configure:n.配置、安装
--prefix选项是配置安装目录
安装后可执行文件 默认放在/usr/local/bin
库文件 默认放在/usr/local/lib
配置文件 默认放在/usr/local/etc
其它的资源文件放在/usr/local/share
# 根据提示信息 安装相应的依赖
yum install pcre pcre-devel zlib zlib-devel make gcc gcc-c++ -y
# 3.编译
make
-j : 多核编译, 但是容易出错 (不推荐)
# 3.安装
make install
# 4.测试
# 需要禁用防火墙,不然访问不到
systemctl disable --now firewalld
# 关闭之前的Nginx服务
systemctl stop nginx
# 启动nginx服务
/usr/local/nginx/sbin/nginx
补充
# 1.下载文件
wget [下载的文件URL]
wget 需要安装:
yum install wget
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
# 2.curl 和 wget 之间的区别
curl 是用来访问链接的 # 访问下载链接,其实也就是下载文件
-o : 指定保存文件的路径
curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
wget 是用来下载文件的
-O :指定下载文件的路径
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
# 3.解压文件
tar -xf nginx-1.20.1.tar.gz
# 4.nginx实现目录索引 的参数配置
root /data/server/nginx; # 指定实际目录绝对路径;
autoindex on; # 开启目录浏览功能;
autoindex_exact_size off; # 关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b
autoindex_localtime on; # 开启以服务器本地时区显示文件修改日期!
# 5. file://: 本地文件传输协议
File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。
# 6.查看进程
ps -ef | grep [进程名]
# 关闭进程
kill PID [进程pid号]