Linux基础汇总===》文件的输入与输出 rpm软件包管理 Yum同步华为云镜像软件包到本地 源码包安装nginx

文件的输入与输出
输入文件内容到文件和输出内容到文件

  • 追加与覆盖
> : 覆盖内容
覆盖符号是将文件内容清空,再写入新的内容(注意:内容覆盖后文件原来的内容是无法恢复的)
>> : 追加内容
在文件末尾追加内容(echo自带换行符)

输出即把相关对象通过输出设备(显示器等)显示出来,输出又分正确输出和错误输出 ,一般情况下标准输出设备为显示屏,标准输入设备为键盘。

  • Linux中
    · 0 代表标准输入
    · 1 代表标准正确输出
    · 2 代表标准错误输出
nginx 2>>log		2代表错误输出结果 # 等同于:echo bash: nginx: command not found >> log
cat log
# bash: nginx: command not found

ls 2>>log			正确的输出结果用2追加重定向log,会在当前窗口进行打印输出结果,没有任何输出结果写入log
# anaconda-ks.cfg	在当前窗口显示打印结果
cat log
# bash: nginx: command not found

ls 1>>log			1代表正确输出结果 # 等同于把ls的输出结果写入log
cat log
# bash: nginx: command not found
# anaconda-ks.cfg
  • 标准正确输出与标准错误输出的使用方法
- 正确与错误的输出分开写如两个文件	(1>>log1 2>>log2)
hahahahahaha 1>>log1 2>>log2				hahaha的命令执行结果正确的输入log1,错误的执行结果输入log2
cat log1			正确输出
cat log2			错误输出
# bash: hahahahahaha: command not found

- 覆盖写入同一个文件方法1	(>log 2>&1)
hshshshshs >log 2>&1					以覆盖的方式,把正确的输出和错误的输出都保存到同一个文件当中
cat log
# bash: hshshshshs: command not found		错误的输出结果
echo "123" >log 2>&1
cat log
# 123					正确的输出结果

- 覆盖写入同一个文件方法2 	 (&>)
dudu &> test.log				错误输出
echo "666" &> test.log				正确输出
cat test.log				查看test.log下的文件内容
# 666

- 追加写入同一个文件方法1	(>>log 2>&1)
lalala >>log 2>&1						以追加写入的方式,把正确的输出和错误的输出都保存到同一个文件当中		
echo abc >> log 2>&1
cat log						查看log下的文件内容
# bash: lalala: command not found			错误的输出结果
# abc										正确的输出结果

- 追加写入同一个文件方法2 	 (&>>)
dudu &>> test.log				错误输出
echo "666" &>> test.log				正确输出
cat test.log				查看test.log下的文件内容
# bash: dudu: command not found
# 666

软件包包管理

  • 软件包介绍,在linux系统上也可以安装各种应用程序,或软件包,linux下的软件包分为三类
	 分类				安装							特点
1. rpm包			预先编译打包,安装简单			通常软件的稳定版会被官方做成rpm,所以软件版本偏低
2. 源码包			手动编译打包,安装繁琐			软件版本丰富,可选择性强
3. 二进制包			解压即可使用,安装简单			不能修改源代码
  • rpm包来源
  1. 来源网络下载
  2. 来源本地,自己镜像自带的rpm包
  • 挂载镜像的三种方式
1. mount /dev/cdrom /opt/			# cdrom是一个快捷方式
2. mount /dev/sr0 /opt/
3. mount -o loop /CentOS-7-x86_64-DVD-2009.iso /opt/
  • rpm命令
rpm -ivh xxx.rpm
-v:显示安装过程
-i:显示安装包的详细信息
-h:安装包hash标记
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm		下载nginx rpm安装包全名
rpm -ivh nginx-1.18.0-1.el7.ngx.x86_64.rpm(全名) 		安装rpm包
nginx -v								验证nginx是否安装
rpm -e nginx (软件包名称)					卸载			
rpm -qa									查看系统当中安装了哪些rpm软件包
rpm -q nginx  (软件包名称)				查看系统当中是否安装了某个rpm软件包
rpm -qi nginx							显示已经安装过的rpm包详细信息。
rpm -ql nginx							查看安装包内的文件文件内容
rpm -qc nginx							查看配置文件
rpm -qd zlib					 		查看文件帮助信息
rpm -qip nginx-1.18.0-1.el7.ngx.x86_64.rpm(全名)-p 可以查看未安装软件包的详细信息
rpm -Uvh nginx-1.18.0-1.el7.ngx.x86_64.rpm(全名)			升级软件包
rpm -e zlib --nodeps					强制删除软件包--nodeps(忽略依赖直接删除)
  • yum管理rpm包

yum是Centos的软件包管理工具,自动为我们解决依赖问题。yum包管理工具必须使用yum源指定的软件下载地址去下载需要安装的软件包。配置路径 : /etc/yum.repos.d/

1.清空本机所有的yum源
rm -rf /etc/yum.repos.d/*.repo
  • yum源命令
· 查看当前系统的yum源列表
yum repolist

· 清空yum缓存
yum clean all

· 建立yum缓存
yum makecache
  • yum源的执行原理
1、需要在/etc/yum.repos.d/目录下配置yum源地址
2、清空缓存建立新的缓存
3、安装软件(自动解决依赖关系)
  • 虚拟机A
1. 需要有一个软件包目录,存放软件包
mkdir /mydvd
2. 缓存yum安装下载的软件包
vim /etc/yum.conf				修改可生成缓存配置文件
	[main]
	cachedir=/var/cache/yum/$basearch/$releasever
	keepcache=1						# 修改成1允许生成缓存文件,默认是0不允许生成缓存文件
rm -rf /var/cache/yum/x86_64/7/*		清空缓存目录里面的本地缓存文件
yum -y install mariadb					下载一个mariadb软件包(使用的是base源)
ls /var/cache/yum/x86_64/7/base/packages		查看一下文件保存路径中是否有下载的软件包
cp -rp /var/cache/yum/x86_64/7/base/packages/mariadb-5.5.68-1.el7.x86_64.rpm /mydvd/	  将下载的软件包复制到软件包目录中
3. 建立本地yum源
yum -y install createrepo			下载生成仓库数据文件软件	
createrepo /mydvd/					生成本地的仓库数据文件					
ls /mydvd						查看本地挂载点是否挂载成功
# mariadb-5.5.68-1.el7.x86_64.rpm  repodata(建立依赖关系)		
4.下载ftp软件包,启动tfp目录下的yum源,启动ftp服务
yum -y install vsftpd
mkdir /var/ftp/yum_house 
cp /mydvd/mariadb-5.5.68-1.el7.x86_64.rpm /var/ftp/yum_house	 	   将yum仓库的内容复制到ftp服务指定的目录下
createrepo /var/ftp/yum_house			生成ftp目录下的仓库数据文件
ls /var/ftp/yum_house				查看ftp挂载点是否挂载成功
systemctl start vsftpd				启动vsftpd服务
  • 虚拟机B
1. 备份本机系统所有的yum源
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/mydvd1
vim /etc/yum.repos.d/mydvd.repo
	[1960]
	name=1960
	baseurl=ftp://192.168.80.100/yum_house
	gpgcheck=0
	enabled=1
	
2. 清空yum缓存
yum clean all				清空yum缓存
rm -rf /var/cache/yum/x86_64/7/*	

3. 生成新的yum缓存
yum makecache			生成新的yum缓存,将yum仓库修改过的内容读入新的缓存(/var/cache/yum/x86_64/7/)

4. 测试连接
rpm -e mariadb			删除本地已经下载的软件包
rpm -q mariadb			查看本地下载的软件包是否成功删除			
yum -y install mariadb 			重新下载
  • 虚拟机A(本地版本)
1. 备份系统所有的yum源
mkdir /etc/yum.repos.d/mydvd1
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/mydvd1
vim /etc/yum.repos.d/mydvd.repo
	[1960]
	name=1960
	baseurl=file:///mydvd
	gpgcheck=0
	enabled=1
	
2. 清空yum缓存
yum clean all				清空yum缓存
rm -rf /var/cache/yum/x86_64/7/*		

3. 生成新的yum缓存
yum makecache			生成新的yum缓存,将yum仓库修改过的内容读入新的缓存(/var/cache/yum/x86_64/7/)

4. 测试连接
rpm -e mariadb			删除本地已经下载的软件包
rpm -q mariadb			查看本地下载的软件包是否成功删除			
yum -y install mariadb 			重新下载

同步华为云镜像软件包到本地

1. 安装需要使用的软件工具,修改可生成缓存配置文件
yum -y install wget
yum -y install createrepo
yum -y install vsftpd
vim /etc/yum.conf				修改可生成缓存配置文件
	[main]
	cachedir=/var/cache/yum/$basearch/$releasever
	keepcache=1						# 修改成1允许生成缓存文件,默认是0不允许生成配置文件
	
2. 清空本地yum仓库
rm -rf /etc/yum.repos.d/*

3. 安装华为云镜像仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

4. 生成yum缓存
yum clean all
rm -rf /var/cache/yum/x86_64/7/*
yum makecache				

5. 下载华为云镜像软件包,生成源目录
yum -y install yum-utils 				下载同步华为云镜像站软件包使用的工具(reposync)
yum repolist							查看yum客户端配置文件的信息
# Loaded plugins: fastestmirror
# Loading mirror speeds from cached hostfile
# repo id                                      repo name                                                             status
# base/7/x86_64                                CentOS-7 - Base - repo.huaweicloud.com                                10,072
# extras/7/x86_64                              CentOS-7 - Extras - repo.huaweicloud.com                                 463
updates/7/x86_64                             CentOS-7 - Updates - repo.huaweicloud.com                              1,901
# repolist: 12,436
cd /var/ftp/								切换到ftp数据共享目录
reposync -r updates(base) 					将华为云的软件压缩包下载到当前目录下,并生成子目录updates(base) 

6. 建立依赖关系
createrepo /var/ftp/updates					等同于创建成功了一个挂载点		

7. 关闭缓存配置文件
vim /etc/yum.conf						修改可生成缓存配置文件
	[main]
	cachedir=/var/cache/yum/$basearch/$releasever
	keepcache=0						# 修改成1允许生成缓存文件,默认是0不允许生成缓存文件

8. 启动vsftpd服务
systemctl start vsftpd				启动vsftpd服务
  • 开启虚拟机B,共享华为云yum仓库
1. 备份本机系统所有的yum源
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/mydvd1
vim /etc/yum.repos.d/mydvd.repo
	[1960]
	name=1960
	baseurl=ftp://192.168.80.100/updates
	gpgcheck=0
	enabled=1
	
2. 清空yum缓存
yum clean all				清空yum缓存
rm -rf /var/cache/yum/x86_64/7/*	

3. 生成新的yum缓存
yum makecache			生成新的yum缓存,将yum仓库修改过的内容读入新的缓存(/var/cache/yum/x86_64/7/)

4. 测试连接	
yum -y install httpd 			重新下载
  • 注 : 站在企业的角度,把华为云镜像的软件包下载到本地目录下,主要是为了解决从网络上下载软件的安全性问题。

源码包编译安装nginx

  • 源码包编译安装nginx
1. 下载源码包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
# 华为云下载nginx链接地址: wget https://repo.huaweicloud.com/epel/7/x86_64/Packages/n/nginx-1.16.1-3.el7.x86_64.rpm

2. 解压nginx源码包
tar -xf nginx-1.18.0.tar.gz -C /opt				解压到opt目录下

3. 编译前系统检查
cd /opt/nginx-1.18.0					切换到解压的路径
./configure							检查当前系统进行编译缺少哪些库
# 出现报错 ./configure: error: the HTTP rewrite module requires the PCRE library.

4. 安装进行编译时所缺少的库
 yum install pcre pcre-devel -y

5. 再次进行编译前的系统检查
./configure	
# 出现报错 ./configure: error: the HTTP gzip module requires the zlib library.

6. 安装进行编译时所缺少的库
yum install zlib zlib-devel -y			# 我们在下载包的时候,大部分的包都会有一个-devel结尾的依赖包

7. 第三次进行系统检查
./configure	
# 没有出现报错

8. 开始进行编译
make 			单核编译
	-j			使用多核编译

9. 安装
make install PROFIX=/usr/local			安装并指定安装路径

10. 测试是否安装完成
/usr/local/nginx/sbin/nginx
# 我们安装完成后,可以打开浏览器,输入虚拟机的IP。如果显示出Welcome to nginx!那就是代表安装完成。

11. 添加环境变量
vim /root/.bash_profile 				添加服务器系统的环境变量
	NGINX_HOME=/usr/local/nginx/sbin		将nginx的文件路径添加至系统环境变量
	PATH=$PATH:$NGINX_HOME
	export PATH
source /root/.bash_profile				重载root用户系统的环境变量
# 加载完环境变量之后,执行nginx,就不需要再加文件路径了
  • configure设置自定义nginx服务
./configure -h 		
# enable是默认支持的模块,disable是默认不支持的模块。
# 我们进行编译安装的时候,会默认把enable和disable都会安装上。
  --prefix        设置安装的路径
  --sbin-path  		设置安装包的位置
./configure --prefix=/usr/local/nginx-1.18.0 --sbin-path=/usr/bin/nginx
比如我们可以自定义nginx安装的路径,设置安装包的位置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值