Linux 系统优化

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Linux 系统优化脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录
  • Linux 系统优化
    • 1、系统信息查看方法
    • 2、系统基础优化
      • 2.1、添加系统普通用户
      • 2.2、命令提示信息优化
      • 2.3、下载的信息更新
        • 2.3.1、 Linux中安装软件
        • 2.3.2、三种安装详细操作
          • RPM安装
          • yum安装命令介绍
          • yum私有仓库构建
            • 本地版构建步骤
            • 远程版构建
    • 3、系统安全优化
      • 3.1 关闭selinux安全服务功能
      • 3.2关闭火墙
    • 4、防止系统乱码优化
      • 4.1 出现乱码情况设置
      • 4.2 解决乱码 情况设置
    • 补充知识:
      • 什么是软件源?
      • 什么是镜像?

Linux 系统优化

Linux 系统优化

1、系统信息查看方法

  • 查看系统名称信息:

    # cat /etc/redhat-release
    CentOS release 7.5.1804
    
  • 查看系统内核版本

    # uname -r
    3.10.0-862.el7.x86_64
    
  • 查看系统硬件位数

    # uname -m
    x86_64
    

  • 查看系统所有信息

    • 参数 :-a
    [root@localhost ~]# uname
    Linux
    [root@localhost ~]# uname -a
    Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    

2、系统基础优化

2.1、添加系统普通用户

  • 添加系统普通用户:useradd [用户名]

  • 设置用户密码 :passwd [用户名]

    • 免交互模式:echo [密码]|passwd --stdin [用户名] (一般用在脚本文件中)
  • 切换用户信息:susu -

    • 二者区别就是su是切换用户,但是切换后的用户缺少相应的文件或环境变量;su -相当于重新登录,切换后的用户携带环境变量或相应文件
    • 通过pwdecho $PATH两个命令查看超管和普通用户切换后的区别
    • root用户切换到普通用户不需要输入密码
    • 普通用户切换到root用户需要输入密码

用户切换原理图:

Linux 系统优化


  • 查看当前登录用户信息:whoami命令

    [root@localhost ~]# whoami
    root
    
  • 查看当前用户登录系统的终端 :who命令

    [root@localhost ~]# who
    root     tty1         2021-12-15 08:50
    root     pts/0        2021-12-15 15:14 (192.168.15.1)
    root     pts/2        2021-12-15 16:52 (192.168.15.1)
    
    # tty和pts的含义
    tty ---- 代表虚拟机开的窗口
    pts ---- 代表此时Xshell开的窗口
    

2.2、命令提示信息优化

  • 通过echo $ps1命令修改显示命令行提示符格式信息

临时切换提示

  • 大写方式

    [root@localhost ~]# echo $PS1
    [u@h W]$
    # 大写方式只能显示路径基名,不显示完全路径
    [root@localhost ~]#cd /etc/Sysconfig/network-scripts/
    [root@localhost network-scripts]#
    
  • 小写方式

    [root@localhost ~]# PS1='[u@h w]$'
    # 通过小写方式这样就能显示完整路径了
    [root@localhost ~]#cd /etc/sysconfig/network-scripts/
    [root@localhost /etc/sysconfig/network-scripts]#
    

永久设置切换提示

  • 相关文件: /etc/PRofile
    • 在Profile文件内添加export PS1='[u@h w]$ '
    • 重载@R_406_2148@:source
    • 重载文件:source /etc/profile,设置成功+

2.3、下载的源信息更新

2.3.1、 Linux中安装软件

  • 安装软件的三种方式

  • rpm安装

  • yum安装

  • 源代码编译安装

  • 区别:

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

注:依赖通俗理解为,如果下载WPS,那么在下载的同时,wps就会自动下载了word/excel/ppt等必备软件,这样就是解决了依赖,如果下载了wps没有自动下载word等软件,就是没有解决依赖*


2.3.2、三种安装详细操作


RPM安装
  • 命令:
    • 安装:rpm -ivh [软件包名称]
    • 卸载:rpm -e [软件包名称]
    • 升级:rpm -Uvh [软件包名称]
    • 查看软件包配置文件:rpm -qc [软件包名称]
    • 查看是否安装某软件:rpm -q [软件包名称]
    • 查看当前系统安装了哪些软件:rpm -qa [软件包名称]
    • 查看软件的安装路径内的内容:rpm -ql [软件包名称]

  • 安装前戏:

  • 执行上传与下载命令yum install lrzsz -y

  • lrzsz:上传和下载从Windows到Linux服务器直接的一个工具包,作用是下载好的安装包可以直接托到linux中

  • 👉[华为开源镜像站](华为开源镜像站_软件开发服务_华为 (huaweicloud.COM))

Linux 系统优化

这样就是从base源上下载好了lrzsz工具包!


  • 安装、卸载、更新操作如下:

1、下载安装包(我是用的是华为源)

  • 打开华为镜像源网站,选择base源下载

Linux 系统优化

Linux 系统优化

我的是CentOS 7,找到7/-->os/-->x86_64/Packages/,然后去搜索要下载的安装包!(路径显示:/mirrors_os/centos/7/os/x86_64/Packages/)

Linux 系统优化

下载好直接拖拽进Xshell框中即可,下载安装包就完成了!

Linux 系统优化

Linux 系统优化


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%]
[root@localhost ~]# zsh

3、卸载

# 卸载命令
[root@localhost]~# rpm -e zsh
[root@localhost]~# zsh
zsh: command not found: zsh

4、更新

# 更新命令
[root@localhost]~# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm
Preparing...                          ################################# [100%]
	package zsh-5.0.2-34.el7_8.2.x86_64 is already installed
[root@localhost]~# zsh

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
/etc/skel/.zshrc
/etc/zlogin
/etc/zLOGout
/etc/zprofile
/etc/zshenv
/etc/zshrc

# 查看是否安装某软件
# 有的话显示软件包信息
[root@localhost]~# rpm -q zsh
zsh-5.0.2-34.el7_8.2.x86_64
# 没有安装输出未安装
[root@localhost]~# rpm -q asfgghl
package asfgghl is not installed

# 查看当前系统安装了哪些软件
[root@localhost]~# rpm -qa

#查看软件的安装路径内的内容
[root@localhost ~]# rpm -ql zsh

yum安装命令介绍
  • 格式:yum [参数][进行的操作][软件包名称]

  • 参数 :

    • -y,安装,卸载,更新使用-y参数是免交互模式,不需要确认y/N
    • --nogpgcheck:忽略公钥认证安装
  • yum命令:

    • 安装:yum install [软件包的名称]
    • 卸载:yum remove [软件包的名称]
    • 更新:yum update [软件包的名称]
    • 查看软件源中是否有此软件:yum list [软件包的名称]
    • 清空yum缓存:yum clean all
    • 生成缓存:yum makecache
    • 列出设定yum源的信息:yum repolist
    • 清除缓存目录下的软件包:yum clean packages
  • yum安装的生命周期(从下载到结束):

    1. 执行yum install [软件包名称]

    2. /etc/yum.repos.d/目录 找以 .repo (yum源)结尾的文件

    3. 通过 .repo 文件中的链接,找到对应的软件仓库

    4. 在对应的软件仓库中下载指定的软件包

    5. 缓存到/VAR/cache/yum/

    6. 根据缓存,安装软件包

    7. 删除软件包(在/etc/yum.conf中有参数keepcache 代表是否保存缓存,0 代表不保存 , 1 代表保存)

    注:rpm其实就是只执行了最后一步

  • 相关文件:

    • yum的配置文件:/etc/yum.conf

    • 安装包缓存目录:/var/cache/yum/

    • 软件仓库目录/etc/yum.repos.d/

注:如果跟具体的软件包名称,就会更新指定软件包;如果没有指定,则更新系统所有的需要更新的软件包。


yum私有仓库构建

私有仓库分类:本地版、远程版

本地版构建步骤

本地版是本机使用

  • 下载必须的软件包

    yum install yum-utils createrepo -y
    

    注:使用'yum-utils'来维护YUM并提高其性能,[yum-utils包详解]((29条消息) 怎么让linux支持yum,如何安装和使用'yum-utils'来维护Yum并提高其性能_火车合鸟子的博客-CSDN博客)

  • 创建软件仓库

    [root@localhost opt]# mkdir -p /opt/repos
    [root@localhost repos]# pwd
    /opt/repos
    
  • 初始化软件仓库

    • 命令:createrepo [软件仓库路径]
    # 初始化仓库
    [root@localhost ~]# createrepo /opt/repos/
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating SQLITe DBs
    Sqlite DBs complete
    
    # 切换路径查看初始化结果,多了一个repodata目录
    [root@localhost ~]# cd /opt/repos/
    [root@localhost repos]# ll
    total 4
    drwxr-xr-x 2 root root 4096 Dec 16 20:47 repodata
    # repodata目录内存储的是对应关系,不要修改
    
    
  • 初始化后创建Packages目录,下载对应的软件包,我用zsh做例子(华为源提前下载好的)

    [root@localhost repos]# mkdir /opt/repos/Packages
    [root@localhost repos]# ll
    total 4
    drwxr-xr-x 2 root root    6 Dec 16 20:51 Packages
    drwxr-xr-x 2 root root 4096 Dec 16 20:47 repodata
    # 此时/repos里面就有两个目录,Packages下存放安装包,移动准备好的软件安装包(zsh举例)
    [root@localhost repos]# mv /root/zsh-5.0.2-34.el7_8.2.x86_64.rpm Packages/
    [root@localhost repos]# ll /opt/repos/Packages/
    total 2440
    -rw-r--r-- 1 root root 2497380 Dec 16 15:37 zsh-5.0.2-34.el7_8.2.x86_64.rpm
    
    

Linux 系统优化

  • 再次初始化尝试验证是否成功,不报错为成功

    [root@localhost repos]# createrepo /opt/repos/
    Spawning worker 0 with 1 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    # 没有报错代表成功了
    
  • 添加yum源

    # 防止原有的源影响测试本地源结果
    # 去yum源,做备份
    [root@localhost repos]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mkdir backup
    [root@localhost yum.repos.d]# mv *.repo backup/
    [root@localhost yum.repos.d]# ll
    total 4
    drwxr-xr-x 2 root root  237 Dec 16 21:04 backup
    
    # 添加本地yum源
    [root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
    Loaded plugins: fastestmirror
    adding repo From: file:///opt/repos
    
    [opt_repos]
    name=added from: file:///opt/repos
    baseurl=file:///opt/repos
    enabled=1
    
    # 切换目录,查看是否添加yum源
    [root@localhost repos]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# ll
    total 4
    drwxr-xr-x 2 root root 268 Dec 16 21:07 backup
    -rw-r--r-- 1 root root  85 Dec 16 21:09 opt_repos.repo
    # 成功添加opt_repos.repo
    
    # 查看,发现源下载链接变为本地的file://
    [root@localhost yum.repos.d]# cat opt_repos.repo 
    [opt_repos] # 源的名称
    name=added from: file:///opt/repos # 源的简介
    baseurl=file:///opt/repos # 源的下载地址
    enabled=1 # 是否启用,1为启用,0为不启用
    
  • 清理缓存,生成缓存

    # 清理
    [root@localhost yum.repos.d]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: opt_repos
    Cleaning up list of fastest mirrors
    Other repos take up 664 M of disk space (use --verbose for details)
    
    # 生成
    [root@localhost yum.repos.d]# yum makecache
    Loaded plugins: fastestmirror
    Determining fastest mirrors
    opt_repos                                                         | 2.9 kB  00:00:00     
    (1/3): opt_repos/filelists_db                                     | 5.7 kB  00:00:00     
    (2/3): opt_repos/other_db                                         | 1.6 kB  00:00:00     
    (3/3): opt_repos/primary_db                                       | 2.5 kB  00:00:00     
    Metadata Cache Created
    
  • 测试

    [root@localhost yum.repos.d]# yum install zsh
    

    现在下载已经是本地添加的源下载,opt_repos

Linux 系统优化

Linux 系统优化


远程版构建

优化本地版,其他机器可以用,接下来用克隆机尝试使用本机的

  • 下载必须的软件包
  • 创建软件仓库
  • 下载对应的软件
  • 初始化软件仓库
  • 添加yum源
  • 生成缓存

上面列出这几步和本地版完全一样参考上面,下面步骤续上步骤

  • 获取华为开源网站中Base源url内容

    # 本地只有一个安装包,去华为开源网站获取,执行以下命令
    [root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
    

Linux 系统优化

注:curl 是一种命令行工具,作用是发出网络请求,然后获取数据,显示在"标准输出"(stdout)上面。

  • 如果要把这个网页保存下来,可以使用 -o 参数:
  • curl -o [文件名] [URL]
  • 添加yum源:

    • 命令:yum-config-manager --add-repo=[yum源url根路径]

    • 注意:yum源根路径为含有Packages和repodata两个目录

Linux 系统优化

# 添加yum源
[root@localhost yum.repos.d]# yum-config-manager --add-repo=https://repo.huaweicloud.com/EPEL/7/x86_64/
Loaded plugins: fastestmirror
adding repo from: https://repo.huaweicloud.com/ePEl/7/x86_64/

[repo.huaweicloud.com_epel_7_x86_64_]
name=added from: https://repo.huaweicloud.com/epel/7/x86_64/
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
enabled=1
  • 安装远程访问软件(Nginx)

    # 忽略公钥安装
    [root@localhost yum.repos.d]# yum install nginx --nogpgcheck
    
  • 修改nginx的配置文件

    [root@localhost yum.repos.d]# rpm -qc nginx
    /etc/logrotate.d/nginx
    /etc/nginx/fastcgi.conf
    /etc/nginx/fastcgi.conf.default
    /etc/nginx/fastcgi_params
    /etc/nginx/fastcgi_params.default
    /etc/nginx/koi-utf
    /etc/nginx/koi-win
    /etc/nginx/mime.types
    /etc/nginx/mime.types.default
    /etc/nginx/nginx.conf
    /etc/nginx/nginx.conf.default
    /etc/nginx/scgi_params
    /etc/nginx/scgi_params.default
    /etc/nginx/uwsgi_params
    /etc/nginx/uwsgi_params.default
    /etc/nginx/win-utf
    
    # 只修改/etc/nginx/nginx.conf文件
    注释掉:include /etc/nginx/conf.d/*.conf;
    修改路径: root         /opt/repos;
    添加索引:autoindex on;    ---# 作用是目录索引
    

vim /etc/nginx/nginx.conf 文件

Linux 系统优化

  • 测试

    • 命令:nginx -t
    [root@localhost yum.repos.d]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    # 测试成功
    
  • 启动nginx

    [root@localhost yum.repos.d]# systemctl start nginx
    
  • 关闭selinux和firewalld

    [root@localhost ~]# systemctl disable --now firewalld
    [root@localhost ~]# setenforce 0
    
  • 浏览器测试

    浏览器查看本机http://192.168.15.100/
    

Linux 系统优化

  • 克隆机测试

    [root@localhost ~]# cd /etc/yum.repos.d/
    # 装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@localhost yum.repos.d]# ll
    total 0
    drwxr-xr-x. 2 root root 268 Dec 16 22:18 backup
    
    # 添加yum源
    [root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.100/
    Loaded plugins: fastestmirror
    adding repo from: http://192.168.15.100/
    
    [192.168.15.100_]
    name=added from: http://192.168.15.100/
    baseurl=http://192.168.15.100/
    enabled=1
    
    # 清理缓存、生成缓存
    [root@localhost yum.repos.d]# yum clean all
    [root@localhost yum.repos.d]# yum makecache
    
    # 测试下载
    [root@localhost yum.repos.d]# yum install zsh 
    
    

Linux 系统优化

注.下次不能在网页打开本机ip地址,重启nginx服务就可!


3、系统安全优化

3.1 关闭selinux安全服务功能

  • 相关文件:/etc/selinux/conf

  • 永久关闭 :vim /etc/selinux/conf

Linux 系统优化

  • 临时关闭/开启(设置立即生效):setenforce 0 /1(0代表临时关闭,1代表开启).
[root@localhost]~# setenforce 0
[root@localhost]~# setenforce 1

3.2关闭防火墙

  • 防火墙底层:

    • firewalld 底层 --> iptables -->系统安全框架
  • 查看防火状态:

    • systemctl status firewalld
  • 暂时关闭防火墙

    • systemctl stop firewalld
  • 永久关闭防火墙

    • systemctl disable firewalld
  • 重启防火墙

    • systemctl enable firewalld
  • 启动防火墙

    • systemctl start firewalld

4、防止系统乱码优化

4.1 出现乱码情况设置

# 查看字符集
[root@localhost ~]# echo $LANG
en_US.UTF-8

# 设置字符集
export LANG=en.US-gb2312

# 查看字符集
[root@localhost ~]# echo $LANG
en.US-gb2312

4.2 解决乱码 情况设置

  • 临时修改系统字符集信息
# 查看系统当前使用字符集
echo $LANG
# 设置字符集
export LANG=en.US-gb2312

# 设置中文的
export LANG=zh_CN.UTF-8

  • 永久修改系统字符集信息
# 备份配置信息
cp /etc/locale.conf /etc/locale.conf
# 编写配置文件
echo 'LANG="en_US.UTF-8"'  >/etc/locale.conf
source /etc/locale.conf
# 查看配置信息
echo $LANG

补充知识:

  • 什么是源?

源就是来源,就是你安装软件时,程序从哪里获取软件包(安装程序在你的机器上,但需要安装的东西却在软件源服务器上)。

什么是软件源?

软件源就相当于软件库,需要安装什么软件,只需要简单使用命令来进行安装,其实你可以把他称为软件仓库。安装软件时,就是从仓库里面调取数据放在你的机器上。

什么是镜像?

镜像,原意是光学里指的物体在镜面中所成之像。引用到电脑网络上,一个网站的镜像是指对一个网站内容的拷贝。镜像通常用于为相同信息内容提供不同的源,特别是在下载量大的时候提供了一种可靠的网络连接制作镜像是一种文件同步的过程。“镜像网站”(英文:Mirror sites [1] ),又译作“镜像站点” ,亦即把一个互联网上的网站数据“拷贝”到本地服务器,并保持本地服务器数据的同步更新,因此也称为“复制网络站点” 。

镜像源就是把官方的源做一个镜像,你可以在这下载软件。

官方源如果在国外,下载软件可能会很慢,这时候就需要换成国内的镜像源。


👉[源概念参考博文]((29条消息) 什么是源,什么是镜像_xiaoxiannv666的博客-CSDN博客_镜像源是什么意思)


Linux 系统优化


【总结不易,顶一下吧各位老板!】

脚本宝典总结

以上是脚本宝典为你收集整理的Linux 系统优化全部内容,希望文章能够帮你解决Linux 系统优化所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。