系统基础优化( 创建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
系统基础优化( 创建yum私有仓库最详细操作及解释 )的更多相关文章
- linux文件目录权限和系统基础优化命令(yum源配置)
一.用户 1.介绍 我们都知道linux中有root用户和普通用户,但是同样是普通用户,为什么有些用户的权限却不一样呢?其实这就类似于我们的QQ群,root用户就是QQ群主,他拥有最高的权利,想干什么 ...
- 创建yum私有库
简述 在Linux系统中安装软件的方法有三种,分别是rpm软件包安装.yum源安装与源代码编译安装,在用rpm软件包安装软件时会经常出现依赖性问题,导致安装繁琐,用源代码编译安装就更不用说了,相信 ...
- 8、Linux基础--rpm、yum、yum私有仓库、系统优化
笔记 1.晨考 1.文件的三种时间属性,每一种时间属性在什么情况下改变 atime : 访问时间 mtime :修改时间 ctime :修改属性时间 2.权限的类型 可读(r, 4) 可写(w, 2) ...
- Linu之linux系统基础优化和基本命令
Linux系统基础优化和基本命令 网络参数设定命令 ifconfig: 查询,设置网卡和ip等参数 ifup,ifdown: 脚本命令,更简单的方式 ip: 符合指令,直接修改上述功能 编辑网卡配置文 ...
- 运维 07 Linux系统基础优化及常用命令
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...
- 软件包管理-yum私有仓库
Linux软件安装 包的依赖关系: 软件包之间可能存在依赖关系,甚至循环依赖,即:A包依赖B包,B包依赖C包,C包依赖A包 安装软件包时,会因为缺少依赖的包,而导致安装包失败. 解决依赖包管理工具: ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux系统基础优化
一.关闭防火墙iptables: (1)关闭 /etc/init.d/iptables stop (2)检查 ...
- Linux 系统基础优化和常用命令
目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux ...
随机推荐
- 更加高效的遍历 Map
https://stackoverflow.com/questions/46898/how-do-i-efficiently-iterate-over-each-entry-in-a-java-map ...
- nginx安装,手动源码安装
什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...
- Apache Ant: If 和 Unless
目录 If And Unless If And Unless 从 Ant 1.9.1 起,可以在所有的任务和嵌套的元素上以特别的命名空间添加 if 和 unless 属性. In order to u ...
- Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口
更好阅读体验:Java集合为什么设计为:实现类继承了抽象类,同时实现抽象类实现的接口 问题 Java集合源码为什么设计为:「实现类继承了抽象类,同时实现抽象类实现的接口?」 看着List 集合的UML ...
- 360浏览器兼容模式下jsp页面访问不到js文件
360浏览器兼容模式下jsp页面访问不到js文件 查看自己js中的语法问题,不要用ES6的语法,编译不了故找不到js文件 const var of 码出高效 java 比较 所有整型包装类对象之间值的 ...
- golang中goroutine
1. 概念 goroutine 奉行通过通信来共享内存,而不是共享内存来通信 goroutine 是由go的运行时(runtime)调度和管理的 go程序会智能的将goroutine中的任务合理的分配 ...
- 通过location.search来获取页面传来的参数
获取页面传来的参数 <div> <script> function GetQueryString(name) { var reg = new RegExp("(^|& ...
- 总是记不住但又总是要用的css
有没有经常遇到一些样式每次写都要用百度呢?我收集了一些我平时经常要用到的但又总是记不住的样式.有错误的地方欢迎指正.转载请注明出处. 一.设置input 的placeholder的字体样式 input ...
- Python3 生成激活码
1.文档: string模块:https://docs.python.org/3/library/string.html random模块:https://docs.python.org/3/libr ...
- 了解promise、promise对象
Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象. 所谓Pr ...