CentOS 初始化配置事项

1.配置命令提示符

#安装网络管理和管理的基本工具
[root@Centos7.9 ~]#yum -y install net-tools,vim
#查看当前的PS1(已经更该过了)
[root@Centos7.9 profile.d]#echo $PS1 
\[\e[1;32m\][\u@\H \W]\$\[\e[0m\]

[root@Centos7.9 ~]#cd /etc/profile.d/
#创建一个以.sh结尾的文件即可
[root@Centos7.9 profile.d]#touch color.sh

#将下面三行代码copy到color.sh文件中,保存退出
PS1='\[\e[1;32m\][\u@\H \W]\$\[\e[0m\]'
# history-显示命令输入的日期和时间
export HISTTIMEFORMAT='%F %T '

#退出系统,重新进入即可生效
exit

2.定制vim的工作特性

全局:/etc/vimrc
个人:~/.vimrc

#刚创建好的机器/root/下是没有.vimrc这个文件的,需要创建
[root@Centos7.9 profile.d]#touch /root/.vimrc

#将下面内容copy到/root/.vimrc中
vim /root/.vimrc
"set nu
syntax on
"set paste
"设置F2开启,平时不开启
set pastetoggle=<F2>
"只要是插入模式就开启,平时不开启
autocmd InsertLeave * set nopaste
autocmd InsertEnter * set paste
set ignorecase
set tabstop=2 "ts=4
set shiftwidth=2
set nohlsearch "取消高亮显示,但是光标依然会跳转
set expandtab "用空格代替tab
set backspace=indent,eol,start
set noautoindent nosmartindent nocindent "设置自动换行,根据文件类型确定换行格式,例如yaml
set listchars=tab:>-,eol:$,space:. "vim低版本会报错,这里使用的是vim 9.1
"set cursorline
autocmd FileType * setlocal formatoptions-=cro
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
    if expand("%:e") == 'sh'
    call setline(1,"#!/bin/bash")
    call setline(2,"#")
    call setline(3,"#*******************************************************")
    call setline(4,"#Author:            xingyuyu")
    call setline(5,"#Date:              ".strftime("%Y-%m-%d"))
    call setline(6,"#Filename:          ".expand("%"))
    call setline(7,"#Copyright (C):     ".strftime("%Y")." All rights reserved")
    call setline(8,"#********************************************************")
    call setline(9,"")
    endif
endfunc
autocmd BufNewFile * normal G
" 当退出 Vim 时自动保存光标位置
au BufReadPost *
  \ if line("'\"") > 1 && line("'\"") <= line("$") |
  \   exe "normal! g`\"" |
  \ endif

" 这将使 Vim 记住每个文件的上次编辑位置
set viminfo='10,\"100,:20,%,n~/.viminfo

# 查看一个模式是否是开启的
# 按下冒号,进入扩展模式,使用: set noexpandtab?只需在后面加上一个问号即可

:set noautoindent nosmartindent nocindent: 这条命令是用来关闭 Vim 中的几种自动缩进模式。在 Vim 中,缩进设置影响着编辑器如何处理新行的缩进。
autoindent: 这个选项会使得新的行自动继承前一行的缩进。关闭它(noautoindent)意味着新行不会自动复制前一行的缩进。
smartindent: 这是一种更智能的自动缩进方式,主要用于编程,尤其是 C 语言。它会根据代码的结构来调整新行的缩进。关闭它(nosmartindent)意味着 Vim 不会尝试根据代码结构来自动设置缩进。
cindent: 类似于 smartindent,但更专门针对 C 语言和类似语法的编程语言。关闭这个选项(nocindent)意味着 Vim 不会自动调整 C 语言代码的缩进。

:set backspace=indent,eol,start: 这条命令设置了在插入模式下退格键的行为。这个设置接受几个值,决定退格键可以删除什么类型的内容。
indent: 允许退格键删除自动缩进。这意味着你可以用退格键删除由 autoindent、smartindent 或 cindent 等设置自动添加的空白字符。
eol: 允许退格键删除换行符,这使你能够用退格键合并两行。
start: 允许退格键删除插入模式开始以来添加的所有内容。也就是说,你可以一直退格到你开始插入时的位置,甚至更早。
这个设置的组合 (indent,eol,start) 提供了在插入模式下较为灵活的退格键行为,允许你删除几乎所有你在插入模式下可能创建的内容。

3.配置命令的子命令补全

[root@Centos7.9 profile.d]#yum -y install bash-completion
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 bash-completion.noarch.1.2.1-8.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=================================================================================================================================================================================================================
 Package                                                 架构                                           版本                                                  源                                            大小
=================================================================================================================================================================================================================
正在安装:
 bash-completion                                         noarch                                         1:2.1-8.el7                                           base                                          87 k

事务概要
=================================================================================================================================================================================================================
安装  1 软件包

总下载量:87 k
安装大小:263 k
Downloading packages:
bash-completion-2.1-8.el7.noarch.rpm                                                                                                                                                      |  87 kB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 1:bash-completion-2.1-8.el7.noarch                                                                                                                                                           1/1
  验证中      : 1:bash-completion-2.1-8.el7.noarch                                                                                                                                                           1/1

已安装:
  bash-completion.noarch 1:2.1-8.el7

完毕!
[root@Centos7.9 profile.d]#

#生效
[root@Centos7.9 profile.d]#bash

#Ubuntu也可以进行命令补全
[root@Ubuntu ~]#apt install -y bash-completion

4.创建登录提示文件

#进入/etc/motd文件
[root@Centos7.9 ~]#vim /etc/motd

生成ASCII艺术字集:https://www.bootschool.net/ascii-art

例如:将下面拷贝到文件中,或者将文件下载下来直接替换
////////////////////////////////////////////////////////////////////
//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//            佛祖保佑       永不宕机     永无BUG                    //
////////////////////////////////////////////////////////////////////

5.设置alias

#在日常工作中,需要反复执行一个很长的命令,为了提高工作量将一些复杂常用的命令做成alias
#将alias写入到/root/.bashrc中
[root@Centos7.9 network-scripts]#vim /root/.bashrc

alias vi='vim'
alias scandisk='echo '\''- - -'\'' > /sys/class/scsi_host/host0/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host1/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host2/scan'
alias nm='systemctl restart NetworkManager'
alias yy='yum -y install'
alias yr='yum remove'
alias lh='ls -lh --color=auto'
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias cdrepo='cd /etc/yum.repos.d/'
alias viens160='vim /etc/sysconfig/network-scripts/ifcfg-ens160'
alias epel='sed -ri /enabled/s/enabled=0/enabled=1//etc/yum.repos.d/base.repo'
alias disepel='sed -ri /enabled/s/enabled=1/enabled=0//etc/yum.repos.d/base.repo'
alias rm='rm -i'
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias editnet='vim /etc/sysconfig/network-scripts/ifcfg-eth0'

#将这些copy到文件当中
[root@Centos7.9 network-scripts]#source /root/.bashrc

#查看是否生效
[root@Centos7.9 network-scripts]#alias
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias cdrepo='cd /etc/yum.repos.d/'
alias cp='cp -i'
alias disepel='sed -ri /enabled/s/enabled=1/enabled=0//etc/yum.repos.d/base.repo'
alias editnet='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
alias egrep='egrep --color=auto'
alias epel='sed -ri /enabled/s/enabled=0/enabled=1//etc/yum.repos.d/base.repo'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias lh='ls -lh --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias nm='systemctl restart NetworkManager'
alias rm='rm -i'
alias scandisk='echo '\''- - -'\'' > /sys/class/scsi_host/host0/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host1/scan;echo '\''- - -'\'' > /sys/class/scsi_host/host2/scan'
alias vi='vim'
alias viens160='vim /etc/sysconfig/network-scripts/ifcfg-ens160'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias yr='yum remove'
alias yy='yum -y install'

6.修改网卡名变成传统的网卡(eth0)

#查看要修改的文件
[root@Centos7.9 ~]#vim /etc/default/grub

#CentOS使用sed进行修改文件
[root@Centos7.9 ~]#sed -ri '/^GRUB_CMDLINE_LINUX/s#(.*)"$#\1 net.ifnames=0"#' /etc/default/grub

#Ubuntu使用sed进行修改文件

#查看文件是否更改
[root@Centos7.9 ~]#cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
GRUB_DISABLE_RECOVERY="true"
[root@Centos7.9 ~]#

#生效
[root@Centos7.9 ~]#grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-9b4d5004256f4475a92c1e73d79fea17
Found initrd image: /boot/initramfs-0-rescue-9b4d5004256f4475a92c1e73d79fea17.img
done
[root@Centos7.9 ~]#
#也可以这样写
[root@Centos7.9 ~]#grub2-mkconfig -o /etc/grub2.cf
#因为这两个是软链接的关系
[root@CentOS8 ~]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 11月  8 2021 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
#命令解释:
#grub2-mkconfig -o /boot/grub2/grub.cfg 是一个Linux系统命令,用于生成或更新GRUB2引导加载器的配置文件。下面是命令各部分的详细解释:
#grub2-mkconfig:这是一个用于生成GRUB2配置文件的命令。GRUB2是一个通用的引导加载器,它允许在启动时选择不同的操作系统或内核版本。
#-o:这是一个选项,表示输出。它告诉grub2-mkconfig将生成的配置文件内容写入到指定的文件中。
#/boot/grub2/grub.cfg:这是配置文件的路径。/boot/grub2/目录通常包含GRUB2的相关文件,而grub.cfg是GRUB2引导加载器的主要配置文件。此文件包含了引导菜单的设置以及可用操作系统的列表。综上所述,grub2-mkconfig -o /boot/grub2/grub.cfg 命令的作用是生成或更新GRUB2的主要配置文件(grub.cfg),以便正确引导您的Linux系统。在安装新的内核或操作系统时,这个命令通常会被用来更新引导菜单。

#Ubuntu生效
[root@Ubuntu ~]#grub-mkconfig -o /boot/grub/grub.cfg

#重启生效
[root@Centos7.9 ~]#reboot

#删除之前的网卡配置文件,如果不删除,网络会起不来
[root@Centos7.9 ~]#cd /etc/sysconfig/network-scripts/
[root@Centos7.9 network-scripts]#rm -rf ifcef-ens33

#重新创建eth0网卡的配置文件
[root@Centos7.9 network-scripts]#touch ifcfg-eth0
[root@Centos7.9 network-scripts]#vim ifcfg-eth0

#将下面内容拷贝的到文件中
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.108
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=10.0.0.2

#重启网络
[root@Centos7.9 network-scripts]#systemctl restart network
或者
[root@Centos7.9 network-scripts]#ifdown ifcfg-eth0
[root@Centos7.9 network-scripts]#ifup ifcfg-eth0

7.修改当前系统的语言环境

#CentOS 6
#临时更改语言环境(仅对当前 shell 会话有效):将立即将当前 shell 的语言环境切换到英文。但请注意,这种更改只对当前会话有效。如果您关闭 shell 或重新启动计算机,更改将不再保留。
export LANG=en_US.UTF-8
#永久更改语言环境(对所有用户和会话生效):
sudo vi /etc/sysconfig/i18n
#在文件中,找到以下行:
LANG="zh_CN.UTF-8"
#修改为:
LANG="en_US.UTF-8"
#reboot

#CentOS 7、8
#临时更改语言环境(仅对当前 shell 会话有效):
export LANG=en_US.UTF-8
#永久更改语言环境(对所有用户和会话生效):
sudo vi /etc/locale.conf
#在文件中,找到以下行:
LANG="zh_CN.UTF-8"
#修改为:
LANG="en_US.UTF-8"
#reboot

8.ssh允许root登录

 # 允许root用户SSH登录
 echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
 # 重启SSH服务以应用更改
 systemctl restart sshd

9.关闭selinux

 sed -ri '/^SELINUX=/s/(.*)enforcing/\1disabled/' /etc/selinux/config
 reboot
Categories: Linux

邢宇宇

我是一名热情的云原生架构师和Java开发者,专注于构建可扩展的大数据解决方案。我的职业旅程始于对代码的热爱和创新技术的追求。我拥有在云计算和大数据领域深厚的技术背景,这使我能够设计和实现高效、稳健的系统。 我擅长使用Java来开发高性能的应用程序,同时也深入研究了如何利用云服务来优化数据处理过程。我热衷于探索新技术,如容器化、微服务架构和自动化,这些都是当今构建和部署现代软件解决方案的关键元素。 在我的博客中,我分享我的专业知识和行业见解,探讨最佳实践,以及如何克服在云原生生态系统中遇到的挑战。我相信通过共享和协作,我们可以推动技术的发展,创造出更好的解决方案来解决复杂问题。欢迎加入我的技术之旅,与我一起深入云原生的世界!

0 Comments

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注