经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
Linux系统优化
来源:cnblogs  作者:JZEason  时间:2021/12/17 11:35:58  对本文有异议

一、 系统信息查看方法

  1. 查看系统名称信息

    1. # cat /etc/redhat-release
    2. CentOS Linux release 7.9.2009 (Core)
  2. 查看系统内核版本

    1. # uname -r
    2. 3.10.0-1160.el7.x86_64
  3. 查看系统硬件位数

    1. # uname -m
    2. x86_64

二、 系统基础优化

2.1 添加系统普通用户

  • 添加用户

    1. # useradd oldboy
  • 设置用户密码(设置的密码信息不能明文显示)

    1. 有交互方式:
    2. # passwd oldboy
    3. 免交互方式:
    4. # echo 123456|passwd --stdin oldboy
  • 切换用户信息(普通用户在删除不属于自己的文件时会提示权限阻止)

    1. root用户切换到普通用户不需要输入密码:
    2. # su - oldboy
    3. 普通用户切换到root用户需要输入密码:
    4. # su - root

    image

  • 查看用户信息

    1. whoami : 当前窗口登录的用户
    2. who : 当前用户登录系统的终端

2.2 命令提示信息优化

  • 变量说明

    1. 设置变量相当于编辑书的目录

      1. Info=oldboy
    2. 读取变量相当于读取书的内容

      1. echo $Info
  • 环境变量

    环境变量:表示大部分情况都会用到的变量

    系统默认的为大写方式书写变量:

    说明:echo $PS1 显示命令行提示符格式信息变量

    image

  • 修改调整

    • 临时设置环境变量:

      1. export PS1='[\u@\h \w]\$ '
    • 永久设置环境变量:

      1. 1vim /etc/profile
      2. export PS1='[\u@\h \w]\$ '
      3. 2tail -1 /etc/profile
      4. 3source /etc/profile

三、Linux中安装软件的三种方式

3.1 分类与区别

三种方式:

  • rpm安装
  • yum安装
  • 源代码编译安装

区别:

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

3.2 rpm安装

前提:为了体验相关命令的效果,这里需要提前下载好安装包,本篇中笔者以提前下载好的 zsh-5.0.2-34.el7_8.2.x86_64.rpm 安装包作为例子进行说明。

3.2.1 安装
  1. rpm -ivh [软件包名称]
  2. eg
  3. [root@localhost ~]# rpm -ivh zsh-5.0.2-34.el7_8.2.x86_64.rpm
3.2.2 卸载
  1. rpm -e [软件包名称]
  2. eg:
  3. [root@localhost ~]# rpm -e zsh

注:卸载时的软件包名称填写为软件名即可,不能写成软件包名称。

3.2.3 更新
  1. rpm -Uvh [软件包名称]
  2. eg:
  3. [root@localhost ~]# rpm -Uvh zsh-5.0.2-34.el7_8.2.x86_64.rpm
3.2.4 软件包名称
  1. zsh-5.0.2-34.el7_8.2.x86_64.rpm
  2. 软件包名称:zsh
  3. 版本号:5.0.2
  4. 修正版本:34
  5. 适用的平台:el7_8CentOS 7
  6. 适用的系统位数:x86_64
  7. 扩展名:rpm
3.2.5 查看软件包的配置文件
  1. [root@localhost ~]# rpm -qc zsh
3.2.6 查看是否安装某软件
  1. [root@localhost ~]# rpm -q zsh
3.2.7 查看当前系统安装了哪些软件
  1. [root@localhost ~]# rpm -qa
3.2.8 查看软件的安装路径(查看安装了哪些东西)
  1. [root@localhost ~]# rpm -ql zsh

扩展:上传与下载软件:yum install lrzsz -y (可以将Windows文件直接拖入Linux系统中完成上传)

3.3 yum安装(重要)

3.3.1 安装
  1. yum install [软件包的名称]
  2. 参数:
  3. -y : 免交互
  4. --nogpgcheck : 忽略公钥认证
3.3.2 卸载
  1. yum remove [软件包名称]
  2. 参数:
  3. -y : 免交互
3.3.3 更新
  1. yum update [软件包名称]
  2. 参数:
  3. -y : 免交互

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

3.3.4 yum安装的生命周期
  1. 1、执行yum install zsh -y
  2. 2、会去 /etc/yum.repos.d/ 目录下找以 .repo 结尾的文件
  3. 3、通过 .repo 文件中的链接,找到对应的软件仓库
  4. 4、在对应的软件仓库中下载指定的软件包
  5. 5、缓存至 /var/cache/yum/
  6. 6、根据缓存,安装下载好的软件包
  7. 7、删除对应软件包(如果不想删除可以修改/etc/yum.conf keepcache=1

注:/etc/yum.conf 是yum的配置文件;

其中的keepcache表示是否保存缓存,0代表不保存 , 1代表保存;

3.3.5 yum私有仓库搭建(重点)
  • 本地版搭建步骤
  1. 1、下载必须的软件包
  2. yum install yum-utils createrepo -y
  3. 2、创建软件仓库
  4. mkdir -p /opt/repos (自定义仓库路径)
  5. 3、下载对应的软件
  6. mkdir -p /opt/repos/Packages # 在仓库路径下创建Pcakages目录(这里名字固定)
  7. 然后把对应的软件包复制到 Packages 目录中(为方便已将上面的zsh软件包复制进去)
  8. 4、初始化软件仓库
  9. createrepo /opt/repos
  10. 5、添加yum
  11. cd /etc/yum.repos.d/
  12. [root@localhost yum.repos.d]# mkdir backup
  13. [root@localhost yum.repos.d]# mv *.repo backup/ # 目的:1、备份原有的.repo源文件 2、不影响测试
  14. [root@localhost ~]# yum-config-manager --add-repo=file:///opt/repos
  15. [root@localhost yum.repos.d]# cat opt_repos.repo
  16. [opt_repos] # 源的名称
  17. name=added from: file:///opt/repos # 源的简介
  18. baseurl=file:///opt/repos # 源的下载地址
  19. enabled=1 # 是否启用:1启用 , 0不启用
  20. 6、生成缓存
  21. yum clean all
  22. yum makecache
  23. 7、测试
  24. yum install zsh

能下载成功并且在提示的信息中显示源为opt_repos,即为私有仓库创建成功。

  • 远程版搭建步骤
  1. 1 - 6 :参考本地版搭建步骤前6
  2. 7、安装远程访问软件(Nginx
  3. [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
  4. [root@localhost ~]# yum-config-manager --add-repo=https://repo.huaweicloud.com/epel/7/x86_64/
  5. [root@localhost ~]# yum install nginx --nogpgcheck
  6. 8、修改nginx的配置文件
  7. [root@localhost ~]# vim /etc/nginx/nginx.conf
  8. # include /etc/nginx/conf.d/*.conf; # 注释该行
  9. root /opt/repos; # 修改为私有仓库路径
  10. autoindex on; # 添加该语句
  11. # 测试更改是否成功;出现successful即为成功
  12. [root@localhost ~]# nginx -t
  13. # 启动nginx
  14. [root@localhost ~]# systemctl start nginx
  15. # 关闭selinux和firewalld
  16. [root@localhost ~]# systemctl disable --now firewalld
  17. [root@localhost ~]# setenforce 0
  18. 9、测试前准备(第9,10步需使用另外一台测试机)
  19. [root@localhost yum.repos.d]# yum install yum-utils -y
  20. # 备份源
  21. [root@localhost yum.repos.d]# mkdir backup
  22. [root@localhost yum.repos.d]# mv *.repo backup/
  23. # 添加源
  24. [root@localhost yum.repos.d]# yum-config-manager --add-repo=http://192.168.15.101/
  25. # 刷新缓存
  26. [root@localhost yum.repos.d]# yum clean all
  27. [root@localhost yum.repos.d]# yum makecache
  28. 10、测试
  29. [root@localhost ~]# yum install zsh -y

可以成功下载安装即表示搭建远程版私有仓库成功。

  • 还原之前仓库步骤
  1. 1、还原yum
  2. cd /etc/yum.repos.d/
  3. mv backup/* .
  4. 2、删除私有仓库.repo源文件或将私有仓库.repo源文件中的enabled=1 改为enabled=0
3.3.6 扩展yum源信息优化
  1. yum install sl cowsay -y

四、系统安全优化

4.1 关闭selinux安全服务功能(selinux由美国国家安全局创建)

  • 永久关闭selinux功能(重启系统生效)

    1. vim /etc/selinux/config
    2. SELINUX=disabled
    3. 功能永久开启:enforcing
    4. 功能临时关闭:permissive
    5. 功能永久关闭:disabled

    运维修改文件规范三步曲:

    1. 编辑文件进行备份
    2. 编辑文件进行修改
    3. 编辑文件进行检查
    1. sed "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config -i
    2. grep "=disabled" /etc/selinux/config
  • 临时关闭selinux功能(设置立即生效)

    1. setenforce [ enforcing | permissive | 1 | 0 ]
    2. 功能永久开启:enforcing / 1
    3. 功能临时关闭:permissive / 0

4.2 关闭firewalld安全服务功能

  • 服务器防火墙运行状态建议

    • 建议开启:服务器可以被外界访问(公网/外网ip)

      1. centos7中操作方法:
      2. systemctl start firewalld.service
      3. systemctl status firewalld.service
      4. systemctl is-active firewalld.service
      5. centos6中操作方法:
      6. /etc/init.d/iptables start
      7. /etc.init.d/iptables status
    • 建议关闭:服务器可以被内部访问(私网/内网ip)

      1. centos7中操作方法:
      2. systemctl stop firewalld.service
      3. systemctl status firewalld.service
      4. systemctl is-active firewalld.service
      5. centos6中操作方法:
      6. /etc/init.d/iptables stop
      7. /etc.init.d/iptables status
    • 建议关闭:服务器处于高并发状态(公网/外网ip)

      1. centos7中操作方法:
      2. systemctl stop firewalld.service
      3. systemctl status firewalld.service
      4. systemctl is-active firewalld.service
      5. centos6中操作方法:
      6. /etc/init.d/iptables stop
      7. /etc.init.d/iptables status
  • 服务器防火墙避免开机自启

    • centos6操作系统说明

      • 查看开机自启动服务信息

        1. 查看所有服务启动状态信息:
        2. chkconfig/chkconfig --list
        3. 查看指定服务启动状态信息:
        4. chkconfig|grep "ipt"
      • 修改开机自启动服务状态

        1. 查看所有服务启动状态信息:
        2. chkconfig/chkconfig --list
        3. 修改指定服务启动状态信息:
        4. chkconfig iptables off/on
    • centos7操作系统说明

      • 查看开机自启动服务信息

        1. 查看所有服务启动状态信息:
        2. systemctl status firewalld.service
        3. 查看指定服务启动状态信息:
        4. systemctl is-enabled firewalld.service
      • 修改开机自启动服务状态

        1. 修改服务自动启动状态信息:
        2. systemctl enable firewalld.service
        3. 修改服务自动关闭状态信息:
        4. systemctl disable firewalld.service
  • 防护墙优化四步曲

    image

五、防止系统乱码优化

5.1 出现乱码情况设置

  1. export LANG=en.US-gb2312
  2. echo $LANG

5.2 解决乱码情况设置

  • 临时修改系统字符集信息

    1. 1、查看系统当前使用字符集
    2. echo $LANG
    3. 2、查看系统连接软件字符集
    4. Xshell/SecureCRT
    5. 3、确保系统和连接软件一致
    6. export LANG=en_US.utf8
  • 永久修改系统字符集信息

    1. 1、备份配置信息
    2. cp /etc/locale.conf /etc/locale_bak.conf
    3. 2、编写配置文件
    4. echo LANG="en_US.UTF-8"' >/etc/locale.conf
    5. source /etc/locale.conf
    6. 3、查看配置信息
    7. echo $LANG
  • 同时临时永久修改字符集

    1. localectl set-locale LANG=en_US.utf8
    2. source /etc/locale.conf

5.3 设置系统显示中文

  • 临时修改中文字符集信息

    1. 1、查看系统当前使用字符集
    2. echo $LANG
    3. 2、查看系统连接软件字符集
    4. Xshell/SecureCRT
    5. 3、确保系统和连接软件一致
    6. export LANG=zh_CN.UTF-8
  • 永久修改中文字符集信息

    1. 1、备份配置信息
    2. cp /etc/locale.conf /etc/locale_bak.conf
    3. 2、编写配置文件
    4. echo 'LANG="zh_CN.UTF-8"' >/etc/locale.conf
    5. source /etc/locale.conf
    6. 3、查看配置信息
    7. echo $LANG
  • 同时临时永久修改字符集

    1. localectl set-locale LANG=zh_CN.UTF-8

原文链接:http://www.cnblogs.com/JZjuechen/p/15694849.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号