系统基础优化( 创建yum私有仓库最详细操作及解释 )
目录
系统基础优化
一、Linux中安装软件的方式
安装方式
安装方式分为三种:
rpm安装
yum安装
源代码编译安装
三种安装方式的区别
rpm安装类似于windows中的安装包
优点:下载下来之后直接安装。
缺点:缺点是不能自己解决依赖。
yum安装基于rpm安装,也就是在rpm上增加了自动解决依赖的功能。
优点:增加自动解决依赖功能
源代码安装,是通过编译源代码,得到软件包。
优点:可以自定制软件包。
缺点:代码比较复杂。
二、RPM安装☆
1.安装及其他命令
举例:zsh软件包
**1.安装:rpm -ivh [软件包名称]**
[root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
PS:安装得需要地址才能安装。卸载就不需要了,因为已经安装过了。
**2.卸载:rpm -e [软件包名称]**
[root@localhost ~]# rpm -e zsh -y
**3.升级:rpm -Uvh [软件包名称]**
[root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm
PS:如果[]内不填写对应软件包,系统将更新所有软件包。
2.手动下载软件包,可将其拖入shell中自动传入
1).手动网页下载软件包
(下载地址"https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/")
搜索:zsh ,找到后下载
2).Shell中安装具有下载功能的模块
上传与下载命令:yum install lrzsz -y
下载完成后,找到下载的zsh软件包,拖到Shell命令框内即可。
可以查看下有没有下载到shell成功
3.用rpm命令安装 已下载的软件包
rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
4.软件包信息解释
zsh-5.0.2-34.el7_8.2.x86_64.rpm
软件包名称:zsh
版本号:5.0.2
第多少次编译:34
适用的平台:el7_8(CentOS 7)
适用的系统位数:x86_64
扩展名:rpm
5.查看软件包的配置文件
[root@localhost ~]# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
以上就是zsh的配置文件
6.查看是否安装某软件
[root@localhost ~]# rpm -q zsh
zsh-5.0.2-34.el7_8.2.x86_64
7.查看当前系统安装了哪些软件
[root@localhost ~]# rpm -qa
open-vm-tools-10.3.10-2.el7.x86_64
keyutils-libs-1.5.8-3.el7.x86_64
systemtap-4.0-11.el7.x86_64
boost-thread-1.53.0-28.el7.x86_64
kernel-3.10.0-1127.el7.x86_64
内容较多,只取其一
8.查看软件的安装路径
[root@localhost ~]# rpm -ql zsh
/usr/share/zsh/5.0.2/functions/zsh-mime-contexts
/usr/share/zsh/5.0.2/functions/zsh-mime-handler
/usr/share/zsh/5.0.2/functions/zsh-mime-setup
/usr/share/zsh/5.0.2/functions/zsh-newuser-install
/usr/share/zsh/5.0.2/functions/zsh_directory_name_cdr
内容较多,只取其一
三、yum安装★
1.安装及其他命令
**yum安装基于rpm安装,也就是在rpm上增加了自动解决依赖的功能。**
**PS:以.repo结尾的文件就是yum源**
1、安装:[root@localhost ~]# yum install [软件包的名称]
参数:
-y : 免交互
--nogpgcheck : 忽略公钥认证,防止你在下载的过程中,被别人篡改,就是别人用含有病毒的软件来篡改你想要安装的软件的时候就需要公钥认证
2、卸载:[root@localhost ~]# yum remove [软件包名称]
参数:
-y : 免交互
3、更新:[root@localhost ~]# yum update [软件包名称]
参数:
-y : 免交互
PS:如果跟具体的软件包名称,就会更新指定软件包;如果没有指定,则更新系统所有的需要更新的软件包。
2.yum安装的生命周期★★★
1、执行[root@localhost ~]# yum install zsh -y
2、去[root@localhost ~]# cd /etc/yum.repos.d/ 找以 .repo 结尾的文件,文件内的网址等信息,就相当于华为云的镜像仓库
**PS:以.repo结尾的文件就是yum源**
3、通过 .repo 文件中的链接,找到对应的软件仓库,也就是取华为云镜像仓库中某个源的路径地址
4、在对应的软件仓库(可以是自己创建的仓库)中下载指定的软件包(想要什么就下载什么包)
5、缓存至 /var/cache/yum/(这个就是缓存的目录,安装包就下载到这个目录里)
查看:cd /var/cache/yum/
cd x86_64/7/
再运行ll命令后,就会出现已缓存的安装包。
6、根据缓存,安装软件包
7、删除软件包(keepcache 是否保存缓存,0 代表不保存 , 1 代表保存)
注:/etc/yum.conf 是yum的配置文件。
下图为进入yum的配置文件:vim /etc/yum.conf
3.yum私有仓库创建★★★★★(非常重要)
3.1 本地版
1、下载必须的软件包
[root@localhost ~]# yum install yum-utils createrepo -y
2、创建软件仓库
[root@localhost ~]# mkdir -p /opt/repos
3、初始化软件仓库
[root@localhost ~]# createrepo /opt/repos
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
初始化后,会在/opt/repos路径下自动生成一个repodata文件夹,里面都是些对应关系。切勿进行修改。
4、下载对应的软件
先创建一个Packages文件,将已经下载过了zsh软件包移动到里面
[root@localhost ~]# mkdir -p /opt/repos/Packages
[root@localhost ~]# mv /root/zsh-5.0.2-34.el7_8.2.x86_64.rpm /opt/repos/Packages/
移动后检查下,是否成功,或者是再次初始化repos仓库验证,如果没有报错,那就是搭建成功啦!
5、仓库初始化成功后,进行添加yum源
cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
[root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
添加本地yum源后,去yum源文件内查看下是否存在opt_repos.repo文件(此文件添加源后自动生成)
[root@localhost ~]# cat /etc/yum.repos.d/opt_repos.repo
[opt_repos] # 源的名称
name=added from: file:///opt/repos # 源的简介
baseurl=file:///opt/repos # 源的下载地址
enabled=1 # 这个源是否启用:1启用 , 0不启用
6、生成缓存
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache(使用来缓存源文件里的内容,具体见下图)
7、测试
[root@localhost ~]# yum install zsh
3.2 远程版
**参考本地版前6步
这里我用克隆机2进行测试。**
7、安装远程访问软件(Nginx)
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
网址从https://mirrors.huaweicloud.com/home >>> cenos >>> 选择centos7 >>> 复制wget开头的地址,读取命令时将wget修改为curl -o(小写的英文字符o)
[root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
'''PS:一定要在此目录下,因为epel的根目录是在Packages和repodata同事存在的目录。'''
[root@localhost ~]# yum install nginx --nogpgcheck(忽略公钥认证)
8、修改nginx的配置文件
8.1查看并确认软件包的配置文件路径
[root@localhost ~]# rpm -qc nginx
配置文件路径:/etc/nginx/nginx.conf
8.2 用vim修改配置
# 第一步
[root@localhost ~]# vim /etc/nginx/nginx.conf
# 第二步
进入后,往下翻,找到黄色字体的server{ }中的绿色root根路径项,修改为/opt/repos
root /opt/repos;
# 第三步
然后再将server{}上面这一行注释掉# include /etc/nginx/conf.d/*.conf;
# 第四步
然后进入nginx.org官网,在右侧菜单点击documentation, 下拉在Modules refenrence这一栏下面找到ngx_http_autoindex_module,链接我放在下面,进入后有个autoindex on;命令,就是开启目录索引的命令
(开启目录索引命令的网址 "https://nginx.org/en/docs/http/ngx_http_autoindex_module.html")
# 第五步
然后我们复制 目录索引开启命令autoindex on; 到 server{}的root下面一行,下方有成图。(注意别落下后面的分号;)
# 第六步
测试修改配置文件是否成功
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
PS:当出现successful时,就代表修改成功!
# 第七步
启动nginx
[root@localhost ~]# systemctl start nginx
# 第八步
关闭selinux和firewalld(必须关闭,不然无法访问)
[root@localhost ~]# systemctl disable --now firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0 #(这是关闭selinux)
# 第九步
拿网页测试是否可通
打开网页 >>> 地址栏输入自己虚拟机的ip(我的是192.168.15.200)>>> 回车运行即可,成图我放在下面了,跟我的一样那就祝贺你部署成功啦!
浏览器测试虽然成功了,但是并不代表yum成功,所以必须拿另一个用户来进行测试 远程访问。
9、用另一个用户进行测试(测试机)
# 先安装yum-utils模块包
[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@jason yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.200/
# 刷新缓存
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
# 执行测试
[root@localhost ~]# yum install zsh -y
四、系统安全优化
1、selinux
2、firewalld
[root@localhost ~]# systemctl disable --now firewalld
--now : 立即执行
firewalld ---> iptables ---> 系统安全框架
安全组
vpn iptables
五、防止系统乱码优化
en_US.UTF-8: 美式英文,utf-8
zh_CN.UTF-8
zh_HK.UTF-8
临时优化
export LANG=zh_CN.UTF-8 : 设置编码
永久优化
vim /etc/locale.conf