1.Linux中安装软件的三种方式

1、哪三种方式?
	rpm安装
	yum安装
	源代码编译安装
	
2、区别
	rpm安装类似于windows中的安装包,下载下来之后直接安装。缺点是不能自己解决依赖。
	yum安装基于rpm安装,也就是在rpm上增加了自动解决依赖的功能。
	源代码安装:通过编译源代码,得到软件包。优点是可以自定制软件包,缺点是比较复杂。

1.1、RPM安装

安装:rpm -ivh [软件包名称]
	卸载:rpm -e [软件包名称]
	升级:rpm -Uvh [软件包名称]

	1、下载安装包
	
	2、安装
        [root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm 
        Preparing...                          ################################# [100%]
        Updating / installing...
        1:zsh-5.0.2-34.el7_8.2             ################################# [100%]
	
	3、卸载
		[root@localhost ~]# rpm -e zsh
	
	4、更新
        [root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm 
        Preparing...                          ################################# [100%]
        Updating / installing...
        1:zsh-5.0.2-34.el7_8.2             ################################# [100%]

	5、软件包名称
		zsh-5.0.2-34.el7_8.2.x86_64.rpm 
            软件包名称:zsh
            版本号:5.0.2
            第多少次编译:34
            适用的平台:el7_8(CentOS 7)
            适用的系统位数:x86_64
            扩展名:rpm

	6、查看软件包的配置文件
		[root@localhost ~]# rpm -qc  zsh
	
	7、查看是否安装某软件
		[root@localhost ~]# rpm -q zsh

	8、查看当前系统安装了哪些软件
		[root@localhost ~]# rpm -qa
		
	9、查看软件的安装路径,查看安装了哪些东西
		[root@localhost ~]# rpm -ql zsh

	上传与下载:yum install lrzsz -y

1.2、yum安装

基于rpm安装,自动解决依赖。

1、安装
	yum install [软件包的名称] 
	
	参数:
		-y : 免交互
		--nogpgcheck : 忽略公钥认证

2、卸载
	yum remove [软件包名称] 
	
	参数:
		-y : 免交互

3、更新
	yum update [软件包名称]
	参数:
		-y : 免交互
	
	注意:如果跟具体的软件包名称,就会更新指定软件包;如果没有指定,则更新系统所有的需要更新的软件包。
	
4、yum安装的生命周期
	
	1、执行yum install zsh -y
	2、去 /etc/yum.repos.d/ 找以 .repo 结尾的文件
	3、通过 .repo 文件中的链接,找到对应的软件仓库
	4、在对应的软件仓库中下载指定的软件包
	5、缓存至 /var/cache/yum/
	6、根据缓存,安装软件包
	7、删除软件包(keepcache 是否保存缓存,0 代表不保存 , 1 代表保存)
	
	注:/etc/yum.conf 是yum的配置文件。

5、yum私有仓库
	1、本地版
	
		1、下载必须的软件包
			yum install yum-utils createrepo -y
		
		2、创建软件仓库
			mkdir -p /opt/repos

		3、下载对应的软件
			mkdir -p /opt/repos/Packages
			
			把对应的软件包复制到 Packages 目录中
			
		4、初始化软件仓库
			createrepo /opt/repos
	
		5、添加yum源
			cd /etc/yum.repos.d/
			mkdir backup
			mv *.repo backup/
			[root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos

            [root@localhost /etc/yum.repos.d]# cat opt_repos.repo 

            [opt_repos]		# 源的名称
            name=added from: file:///opt/repos	# 源的简介
            baseurl=file:///opt/repos			# 源的下载地址
            enabled=1						# 是否启用:1启用 ,  0不启用

		6、生成缓存
			yum clean all
			yum makecache
		
		7、测试
			 yum install zsh
	
	2、远程版
	
		参考本地版前6步
		
		7、安装远程访问软件(Nginx)
			[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
			[root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
			[root@localhost ~]# yum install nginx --nogpgcheck

		8、修改nginx的配置文件
			https://nginx.org/en/docs/http/ngx_http_autoindex_module.html
			
			[root@localhost ~]# vim /etc/nginx/nginx.conf
			# include /etc/nginx/conf.d/*.conf;
			root         /opt/repos;
			autoindex on;
			
			# 测试更改是否成功
			[root@localhost ~]# nginx -t
			
			# 启动nginx
			[root@localhost ~]# systemctl start nginx
			
			# 关闭selinux和firewalld
			[root@localhost ~]# systemctl disable --now firewalld
			[root@localhost ~]# setenforce 0
		
		9、在测试机
			[root@localhost yum.repos.d]# yum install yum-utils -y

			# 备份源
			[root@localhost yum.repos.d]# mkdir backup
			[root@localhost yum.repos.d]# mv *.repo backup/

			# 添加源
			[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/

			# 刷新缓存
             [root@localhost yum.repos.d]# yum clean all 
             [root@localhost yum.repos.d]# yum makecache

		10、测试
			[root@localhost ~]# yum install zsh -y

2.系统安全优化

1、selinux

2、firewalld
	systemctl disable --now firewalld
	--now : 立即执行
firewalld   --->  iptables  ---> 系统安全框架
安全组
vpn iptables

3.防止系统乱码优化

en_US.UTF-8		: 美式英文,utf-8
zh_CN.UTF-8
zh_HK.UTF-8

临时优化
export LANG=zh_CN.UTF-8  : 设置编码

永久优化
vim /etc/locale.conf