CentOS 7 安装笔记

Posted by sysin on 2020-08-07
Estimated Reading Time 19 Minutes
Words 4.1k In Total
Viewed Times

请访问原文链接:CentOS 7 安装笔记,查看最新版。原创作品,转载请保留出处。

作者:gc(at)sysin.org,主页:www.sysin.org

现在 CentOS 提供了最小化安装的 iso 镜像。

0. 概述

CentOS 7 新特性

一如每个主要版本的首个发行本,多数组件都已作出改动及更新至较新版本。列出所有改动是本文档的范围以外的事情。最重大的改动计有:

  • 内核更新至 3.10.0
  • 支持 Linux 容器
  • Open VMware Tools 及 3D 图像能即装即用
  • OpenJDK-7 作为缺省 JDK
  • 原地升级 6.5 至 7.0(上文已提及)
  • ext4 及 XFS 的 LVM 快照
  • 转用 systemd、firewalld 及 GRUB2
  • XFS 作为缺省文件系统
  • 内核空间内的 iSCSI 及 FCoE
  • 支持 PTPv2
  • 支持 40G 乙太网络卡
  • 在兼容硬件上支持以 UEFI 安全开机模式进行安装

CentOS 7 版本历史

CentOS Linux 7
Release (YYMM) Based on RHEL Source (Version)
7 (2009) 7.9
7 (2003) 7.8
7 (1908) 7.7
7 (1810) 7.6
7 (1804) 7.5
7 (1708) 7.4
7 (1611) 7.3
7 (1511) 7.2
7 (1503) 7.1
7 (1406) 7.0

下载 CentOS 7

下载 iso 镜像请访问:https://wiki.centos.org/Download

下载 OVF:https://sysin.org/blog/centos-7-ovf/

安装摘要

语言选择:尽量选择 English,English (United States)

  • NETWORK & HOSTNAME:先配置网络

  • DATE & TIME:开启 NTP

  • LANGUAGE SUPPORT:勾选 “中文”,包括简体中文和繁体中文

  • INSTALLATION DESTINATION:分区选择 LVM,默认 XFS 文件系统

1. 配置网络

即禁用 consistent interface device naming

要点:与 CentOS 8 配置上略有不同。

  • CentOS 7:net.ifnames=0 biosdevname=0
  • CentOS 8:net.ifnames=0
1
2
3
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] ~]# ls
ifcfg-ens160

注意这里的名称根据硬件有所变动,这里是 vm 环境,默认 ens160,如果你希望继续使用 eth0 这样的传统名称,那么在安装启动时加上参数:net.ifnames=0 biosdevname=0

CentOS 7 这种变化的原因,是由于 systemd 和 udev 引入了一种新的网络设备命名方式–一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING)。可以根据固件、拓扑、位置信息来设置固定名字,带来的好处是命名自动化,名字完全可预测,在硬件坏了以后更换也不会影响设备的命名,这样可以让硬件的更换无缝化。带来的不利是新的设备名称比传统的名称难以阅读。比如新的名称是 enp5s0.

1.1 修改 grub2 启动参数

CentOS 7 grub 默认配置如下:

1
2
# cat /etc/default/grub
内容待补充

rhgb 表示 redhat graphics boot,就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后用 dmesg 也可以看到

quiet 表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示

1
2
3
4
5
6
7
8
9
10
11
# 如果系统已经安装,希望改成 eth0 这样的名称,那么需要:
# 修改 grub2 启动参数
vi /etc/default/grub
# 也有文章修改 /etc/sysconfig/grub,该文件是 /etc/default/grub 的链接
# 增加内容:net.ifnames=0
# 原内容:
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
# 增加内容:net.ifnames=0 biosdevname=0
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap net.ifnames=0 biosdevname=0 rhgb quiet"
# 保存
:x

直接用 sed 命令替换

1
sed -i 's/rhgb/net.ifnames=0 biosdevname=0 rhgb/' /etc/default/grub

1.2 运行如下命令重建 grub.cfg 文件

1
2
3
4
5
# legacy boot mode:
grub2-mkconfig -o /boot/grub2/grub.cfg

# UEFI boot mode:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

1.3 重新对文件进行命名

1
2
3
4
5
6
cd /etc/sysconfig/network-scripts/
mv ifcfg-ens160 ifcfg-eth0
vi ifcfg-eth0
编辑 NAME=eth0
编辑 DEVICE=eth0
注释 HWADDR,如果有

1.4 重启后生效

1
shutdown -r now

配置文件示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0
UUID=547230df-5ab0-43cb-adae-4d3058664efc
ONBOOT=yes
#HWADDR=00:50:56:AE:2D:97
IPADDR0=10.19.188.2
PREFIX0=24
GATEWAY0=10.19.188.1
DNS1=10.19.190.11
DOMAIN=sgec.corp
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

#cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

#cat /etc/resolv.conf
nameserver 10.19.190.11

2. 关闭 SELINUX

1
2
3
4
5
6
7
8
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
SELINUX=disabled #增加
#SELINUXTYPE=targeted #注释掉
:x #保存,关闭
setenforce 0 #使配置立即生效,或者重启系统
grep --color=auto '^SELINUX' /etc/selinux/config
shutdown -r now #重启系统生效
1
2
3
4
5
6
# 直接使用 sed 命令修改
# 修改 ELINUX=enforcing 为 SELINUX=disabled,即替换行
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
# 或者:sed -i '/^SELINUX=enforcing/c SELINUX=disabled' /etc/selinux/config
# 注释 SELINUXTYPE=targeted
sed -i 's/^SELINUXTYPE=targeted/#&/' /etc/selinux/config

验证状态:

1
2
3
sestatus -v
# 或者
getenforce

3. 防火墙配置

在旧版本的 CentOS 中,是使用 iptables 命令来设置防火墙的。但是,从 CentOS7 开始,默认就没有安装 iptables,而是改用 firewall 来配置防火墙。

本次模板仅仅禁用了 firewalld,暂未安装 iptables。

1
2
3
4
#关闭 firewall:
systemctl stop firewalld.service #停止 firewall
systemctl disable firewalld.service #禁止 firewall 开机启动
firewall-cmd --state #验证

如果需要恢复 iptables,如下:

1
2
3
4
5
6
7
8
9
10
11
12
yum -y install iptables-services  #安装 iptables

vi /etc/sysconfig/iptables #编辑防火墙配置文件
#示例:配置防火墙,开启 80 端口、3306 端口、SNMP 端口(默认 TCP 22 启用)
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT

/etc/init.d/iptables restart #最后重启防火墙使配置生效
chkconfig iptables on
#或者:systemctl enable iptables.service

4. 安装 EPEL

EPEL = Extra Packages for Enterprise Linux

1
2
3
4
5
6
yum -y install epel-release

#或者
#EL7
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

5. 用 yum 排除不需要的更新包

修改配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 修改 yum 的配置文件
vi /etc/yum.conf
# 在 [main] 的最后添加 exclude=kernel*

# 示例:
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
exclude=kernel* centos-release
# 多个包名称用空格隔开
# exclude=kernel* php* centos-release

直接命令添加:

1
echo 'exclude=kernel* centos-linux-release' >> /etc/yum.conf

排除了 centos-release,更新后版本也保持在原有版本。

注意:CentOS 8 中是 centos-linux-release

说明:
通常在用 yum 进行更新时老是会更新内核,这样就造成了两个问题:
1). 内核过多,占用系统的空间
2). 如果是自行编译安装的 nvidia 显卡驱动的话,进入更新的核心时需要再重新安装显卡驱动

这里介绍好的办法解决这个问题,就是在更新时排除对内核的更新,方法有两个:
1). 修改 yum 的配置文件 vi /etc/yum.conf,在 [main] 的最后添加 exclude=kernel*
2). 直接在 yum 的命令行执行如下的命令: yum update –exclude=kernel* –exclude=centos-linux-release

以上的办法也适合你要求自行排除的其它更新软件包。

1
备注:安装某些软件包需要新版内核支持,需要删除以上配置。

6. 更换国内镜像 yum 源

6.1 Base 使用 163,epel 使用 ustc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
yum install wget #CentOS 默认不自带
# 推荐安装 Oracle 的场景使用该镜像
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
cp /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
sudo sed -e 's!^mirrorlist=!#mirrorlist=!g' \
-e 's!^#baseurl=!baseurl=!g' \
-e 's!//download\.fedoraproject\.org/pub!//mirrors.ustc.edu.cn!g' \
-e 's!http://mirrors\.ustc!https://mirrors.ustc!g' \
-i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
yum clean all
rm -rf /var/cache/yum
yum makecache

6.2 CentOS 7 使用阿里云镜像更换软件安装源(模板配置)

阿里云镜像速度一般比较快(Ping 延迟低),但出现过一些问题,比如安装 Oracle 无法检测到依赖包。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
yum install wget #CentOS 默认不自带

## 第一步:备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup

## 第二步:下载
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/epel-testing.repo http://mirrors.aliyun.com/repo/epel-testing.repo

## 第三步:运行 yum makecache 生成缓存
yum clean all
rm -rf /var/cache/yum
yum makecache

6.3 禁用 fastestmirror 插件

模板已配置

该插件本意是好的,但是实际使用中,使用的并非最快的镜像,自行配置的镜像反而无效,禁用为佳。

1
2
3
4
5
6
# sed -i '/^enabled=.*/c enabled=0' /etc/yum/pluginconf.d/fastestmirror.conf
sed -i '/^enabled=1/c enabled=0' /etc/yum/pluginconf.d/fastestmirror.conf
# 写入文件需要添加 -i 参数
# ^ 表示一行的开头
# . 匹配一个非换行符的任意字符
# * 匹配 0 个或多个字符

7. 软件更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#清理
yum autoremove
yum clean all
rm -rf /var/cache/yum

yum mackecache #缓存软件包信息
yum upgrade # = dnf update,更新软件包,包括内核及系统版本

#再次清理
yum autoremove
yum clean all
rm -rf /var/cache/yum

rm -rf /tmp/* #清空临时文件目录

8. 安装一些必备工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 一些基本工具最小化安装可能没有 (经测 wget 等没有安装)
# CentOS 7 中 vi = vim,需要第三方 repo 安装 vim v8
yum -y install wget zip unzip

# gcc 等选择开发工具
yum -y groupinstall "Development Tools"

# 通过 setup 配置网络
yum -y install setuptool system-config-network-tui system-config-firewall-tui

# 默认安装没有 ifconfig 命令,安装 net-tools:ifconfig、netstat、route 等命令集
yum -y install net-tools

# 更好的 top 工具,包含在 EPEL repo 中
yum -y install htop

# host、dig 和 nslookup
yum -y install bind-utils

#文件传输:sz 和 rz
yum -y install lrzsz

#查看日志神器 Log file Navigator,EPEL
yum -y install lnav
#rpm -ivh https://github.com/tstack/lnav/releases/download/v0.8.5/lnav-0.8.5-1.x86_64.rpm

## 新版收录的工具

# nc:
yum -y install nc
# lsof:
yum -y install lsof
# tree:
yum -y install tree
# pstree:
yum -y install psmisc
# ncdu:NCurses Disk Usage
yum -y install ncdu #新增工具,模板尚未加入,下个版本更新
# dstat 监控 CPU、磁盘和网络使用率
yum -y install dstat

fd 命令(fd-find,强烈推荐)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 下载(二选一):
# gcc 编译版本
wget https://github.com/sharkdp/fd/releases/download/v8.0.0/fd-v8.0.0-x86_64-unknown-linux-gnu.tar.gz
# musl libc 编译版本
wget https://github.com/sharkdp/fd/releases/download/v8.0.0/fd-v8.0.0-x86_64-unknown-linux-musl.tar.gz

## CentOS 7 自带 glibc 版本过低,要求 GLIBC_2.18,故使用 musl 编译版本

# 安装:
tar -zxvf fd-v8.0.0-x86_64-unknown-linux-musl.tar.gz
cd fd-v8.0.0-x86_64-unknown-linux-musl

cp ./fd /usr/local/bin/
cp ./fd.1 /usr/local/share/man/man1/
mandb

rg 命令(未启用)

1
2
3
wget https://github.com/BurntSushi/ripgrep/releases/download/12.0.0/ripgrep-12.0.0-x86_64-unknown-linux-musl.tar.gz
tar xzvf ripgrep-12.0.0-x86_64-unknown-linux-musl.tar.gz
cp ripgrep-12.0.0-x86_64-unknown-linux-musl/rg /usr/local/bin/

9. 安装配置 SNMP

1
2
yum -y install net-snmp net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils
# 模板暂不配置

10. NTP

1
2
3
4
5
# 安装配置 NTP
# CentOS 7 开始默认使用 chrony,可以使用恢复使用 ntp,模板使用系统自带 chrony
cat /etc/chrony.conf
#yum -y install ntp
# 这里是样本暂不配置本地的 NTP

查看时间同步状态:

1
2
chronyc sources -v
chronyc sourcestats -v

11. 虚机安装 VM-tools

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(1)建议使用 open-vm-tools
# http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2073803
yum -y install open-vm-tools
# 开启服务
chkconfig vmtoolsd on
systemctl enable vmtoolsd.service
# 启动服务
service vmtoolsd start
systemctl start vmtoolsd.service

# 查看版本
vmtoolsd -v
# 显示如下
VMware Tools daemon, version 11.0.5.17716 (build-15389592)
# 以下两条现在可以忽略

(2)安装 vCenter 自带的 VM-Tools:
上传安装包到主机,解压并进行安装:
再次配置:/usr/bin/vmware-config-tools.pl

(3)安装自定义配置功能插件,open-vm-tools 9.10.x 及以上不需要安装:
This KB article is applicable to open-vm-tools 9.4.x only. open-vm-tools 9.10.x includes the functionality provided by open-vm-tools-deploypkg and there is no need to install this additional package.
http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=2075048
Note: If you are using RHEL7 minimal or CentOS7 minimal, Perl will also need to be installed for customization to function.

12. 安装图形界面(基于特定场景需要,一般不用安装)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[[email protected] ~]#  yum grouplist
Available Environment Groups:
Minimal Install
Compute Node
Infrastructure Server
File and Print Server
Cinnamon Desktop
MATE Desktop
Basic Web Server
Virtualization Host
Server with GUI
GNOME Desktop
KDE Plasma Workspaces
Development and Creative Workstation
Available Groups:
Cinnamon
Compatibility Libraries
Console Internet Tools
Development Tools
Educational Software
Electronic Lab
Fedora Packager
General Purpose Desktop
Graphical Administration Tools
Haskell
LXQt Desktop
Legacy UNIX Compatibility
MATE
Milkymist
Scientific Support
Security Tools
Smart Card Support
System Administration Tools
System Management
TurboGears application framework
Xfce
Done
1
2
3
4
#安装 GNOME 图形界面:
yum grouplist
yum groupinstall "GNOME Desktop"
startx

13. Shell 配置

命令自动补全忽略大小写

该配置针对 Bash,仅使用 Zsh 可以忽略。

1
echo 'set completion-ignore-case on' >> ~/.inputrc

修改 ll 命令

Linux 中默认定义了 ll 别名,但参数比较少,需要使用更加强大的 ll 别名。

写入环境变量(当前用户优先执行):

bash:

1
echo 'alias ll="ls -lahF --color=auto --time-style=long-iso"' >> ~/.bashrc

zsh(稍后配置):

1
echo 'alias ll="ls -lahF --color=auto --time-style=long-iso"' >> ~/.zshrc

注意:仅仅针对当前用户,写入全局用户配置文件:/etc/skel/.bashrc 或者 /etc/skel/.zshrc

高级版 ls:以数字显示权限

这里我们把命令叫做 lll

命令:

1
ls -lahF --color=auto --time-style=long-iso | awk '{k=0;s=0;for(i=0;i<=8;i++){k+=((substr($1,i+2,1)~/[rwxst]/)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr($1,i,1)~/[stST]/)*j);j/=2}if(k){printf("%0o%0o ",s,k)}print}'

创建文件

在使用 cat EOF 中出现 $ 变量通常会直接被执行,显示执行的结果。若想保持 $ 变量不变需要使用 \ 符进行注释。

1
2
3
4
5
6
7
8
#如果非 root 用户,切换到 root
sudo -i
cat > /usr/local/bin/lll <<EOF
#!/bin/bash
ls -lahF --color=auto --time-style=long-iso | awk '{k=0;s=0;for(i=0;i<=8;i++){k+=((substr(\$1,i+2,1)~/[rwxst]/)*2^(8-i))}j=4;for(i=4;i<=10;i+=3){s+=((substr(\$1,i,1)~/[stST]/)*j);j/=2}if(k){printf("%0o%0o ",s,k)}print}'
EOF
#赋予执行权限:
chmod +x /usr/local/bin/lll

vi 和 vim

CentOS 7 系列自带的 vi = vim-minimal,功能有限,需要手动安装 vim(vim = vim-enhanced)。但是版本太旧,v7.4.x,应该更新到 v8。

1
2
3
4
5
6
7
8
9
10
# If you are running an EL8 based system, please visit here to get the newest 'gf-release' package for EL8: gf-el8
#dnf --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el8.noarch.rpm

#If you are running an EL7 based system, please visit here to get the newest 'gf-release' package for EL7: gf-el7
yum --nogpg install https://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

#rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
#rpm --import http://mirror.ghettoforge.org/distributions/gf/RPM-GPG-KEY-gf.el7
yum -y remove vim-minimal vim-common vim-enhanced
yum -y --enablerepo=gf-plus install vim-enhanced

创建 vi 链接直接使用 vim:

1
ln -s /usr/bin/vim /usr/local/bin/vi

可以根据个人习惯来配置 vim,并用于全局配置。

1
2
3
4
# 当面用户
~/.vimrc
# 全局新用户默认
/etc/skel/.vimrc

14. Zsh

这里是针对当前用户配置。全局配置请参看其他文章,这里直接使用全局配置文件即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Zsh
yum -y install zsh

chsh -s /bin/zsh

yum -y install git

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

sed -i '/^ZSH_THEME=.*/c ZSH_THEME="ys"' ~/.zshrc

echo 'alias ll="ls -lahF --color"' >> ~/.zshrc

git clone https://github.com/sangrealest/zsh-autosuggestions.git ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

sed -i '/^plugins=.*/c plugins=(git zsh-autosuggestions)' ~/.zshrc

15. 清理并制作镜像模板

清理 yum 缓存

1
2
3
yum autoremove
yum clean all
rm -rf /var/cache/yum

清理临时文件夹

1
rm -rf /tmp/*  #清空临时文件夹

清空历史记录

1
2
3
4
5
6
7
8
9
10
11
12
13
#比较完整的清空历史记录
rm -f /var/log/audit/audit*
echo > /var/log/audit/audit.log
rm -f /var/log/secure*
echo > /var/log/secure
rm -f /var/log/btmp*
echo > /var/log/btmp
rm -f /var/log/wtmp*
echo > /var/log/wtmp
echo > /var/log/lastlog
echo > ~/.bash_history
echo > ~/.zsh_history
history -c

至此,基本配置已经完成,可以制作模板了。

16. 注意事项

以下是针对 CentOS 7 特定配置

  1. CentOS 7 安装后没有 ifconfig 命令
    yum -y install net-tools

  2. 支持虚机克隆,不是存在 CentOS6 克隆后网卡不能启动的问题,注释网卡 MAC 是必须的
    /etc/udev/rules.d/70-persistent-net.rules 该文件已经不存在

  3. RHEL 7.0 默认使用的是 firewall 作为防火墙,可以改为 iptables 防火墙

    1
    2
    3
    4
    5
    关闭 firewall:
    systemctl stop firewalld.service #停止 firewall
    systemctl disable firewalld.service #禁止 firewall 开机启动
    yum -y install iptables-services #安装 iptables
    vi /etc/sysconfig/iptables #编辑防火墙配置文件

解决乱码问题

  1. 终端乱码,修改终端软件字符集为 UTF-8
    SecureCRT:选项 – 会话选项 – 外观 – 字符编码,选择 UTF-8
  2. 文件内容乱码,文件编码以 UTF-8 保存
  3. 文件名乱码,无法显示中文,尽量以英文保存

捐助本站 ❤️ Donate


如果文章中使用的内容或图片侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!


支付宝打赏 微信打赏

赞赏一下



1000000