004-安装CentOS7后需要的操作
1 安装EPEL源
EPEL即Extra Packages for Enterprise Linux,是基于Fedora的一个项目,为红帽系
的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。EPEL为CentOS提供了额外的
10000多个软件包,而且都不会更新或者替换系统本身组件。执行下面这条安装命令后,会在/etc/yum.repos.d
目录下生成一个epel.repo文件。
yum -y install epel-release
2 安装yum-axelget插件
yum-axelget是EPEL提供的一个yum插件。默认的yum是单线程下载的,使用该插件后用yum安装软件时可以并行下载。yum-axelget插件原理是调用系统中的axel下载软件,然后根据软件包的大小自动设定线程数。在多线程操作时,还能避免因为线程数过多而导致服务器拒绝下载的问题,大大提高了软件的下载速度,减少了下载的等待时间。注意:通过下面这条安装命令,会同时安装axel下载软件。
yum -y install yum-axelget
3 更新CentOS源
在安装完EPEL源和yum-axelget插件后,我们就可以利用它们升级当前的CentOS7到CentOS7.1了(耗时大概10分钟)。
yum clean all && yum makecache && yum -y update
然后可以使用下面两条命令查看当前CentOS的内核版本和发行版本信息。
##########内核版本 root@typecodes ~]# cat /proc/version Linux version 3.10.0-123.9.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Thu Nov 6 15:06:03 UTC 2014 ##########发行版本 [root@typecodes ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.1.1503 (Core) Release: 7.1.1503 Codename: Core
4 使用sshd登录
在前文《阿里云CentOS主机 LNMP 环境之主机安全篇一》中,已经讲述了禁止任何用户使用密码登录,而只允许root用户使用sshd方式登录的方法。其中的公、私密钥是通过SecureCRT生成的,这里我们直接使用Linux命令生成公私钥,方法更为简单快捷。将生成的私钥vfhky20150505保存到本地供SecureCRT等工具使用即可(记得删除服务器上的私钥哦)。
4.1 使用Linux命令生成公私钥文件
#######创建公钥存放目录:~/.ssh [root@typecodes ~]# mkdir .ssh && cd .ssh #######生成1024字节的rsa加密的公私钥 [root@typecodes .ssh]# ssh-keygen -b 1024 -t rsa -f vfhky20150505 Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Passphrases do not match. Try again. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in vfhky20150505. [私钥] Your public key has been saved in vfhky20150505.pub. [公钥] The key fingerprint is: 59:54:31:5f:37:d5:9a:c3:32:65:7d:fd:05:f3:20:38 root@typecodes The key's randomart image is: +--[ RSA 1024]----+ | .o=.++B| | .E +o=O| | .. +.o=| | o o = .| | S o . | | | | | | | | | +-----------------+ [root@typecodes .ssh]# ls vfhky20150505 vfhky20150505.pub #######将公钥文件重命名为authorized_keys文件 [root@typecodes .ssh]# mv ~/vfhky20150505.pub authorized_keys #######将私钥文件下载到Windows主机后,马上删除避免被恶意使用 [root@typecodes .ssh]# rm -rf vfhky20150505
4.2 重启sshd服务,使之生效
新建一个shell文件sshdconfig.sh
,并执行chmod +x sshdconfig.sh
赋予执行权限,然后复制以下内容到文件中,最后执行命令./sshdconfig.sh
即可使sshd服务生效。
#!/bin/bash # sshd service configure script # @author vfhky 2015.05.05 https://typecodes.com/linux/centos7afteroperate.html # set the sshd login port you want which should be more than 1024 sed -i -e "s@^#Port 22@Port 8866@g" -e "s@^#Protocol 2@Protocol 2@g" /etc/ssh/sshd_config # set the secret key bits sed -i -e "s@^#ServerKeyBits 1024@ServerKeyBits 1024@g" -e "s@^#RSAAuthentication yes@RSAAuthentication yes@g" /etc/ssh/sshd_config # limit the login-way of user within Authentication-key sed -i -e "s@^#PubkeyAuthentication yes@PubkeyAuthentication yes@g" -e "s@^#PermitEmptyPasswords no@PermitEmptyPasswords no@g" /etc/ssh/sshd_config sed -i -e "s@^GSSAPIAuthentication yes@#GSSAPIAuthentication yes@g" -e "s@^GSSAPICleanupCredentials yes@#GSSAPICleanupCredentials yes@g" /etc/ssh/sshd_config # forbid login with password sed -i -e "s@^PasswordAuthentication yes@PasswordAuthentication no@g" -e "s@^PermitRootLogin yes@PermitRootLogin without-password@g" /etc/ssh/sshd_config # start the sshd service systemctl restart sshd.service service sshd start
6 修改主机名
在前文《CentOS7系统如何修改主机名》中已经提到了修改CentOS7系统的主机名方法,这里再重复下。
hostnamectl set-hostname typecodes
7 将vi映射为vim命令、高亮grep词语
如何在编辑文件时,直接使用vi命令达到vim命令的效果,设置grep词语高亮
echo -e "\nalias vi=vim\nalias grep='grep --color'\n" >>~/.bashrc && source ~/.bashrc
如果还没有安装vim,那么可以使用yum -y install vim
命令进行安装。
8 配置vimrc文件
下面这条vim配置命令是我经常使用的,包括行号、自动缩进、高亮、文件编码和粘贴时不变形的快捷键F9等等,直接使用root用户把下面的内容追加到/etc/vimrc
文件的末尾。
colo desert "设置主题方案 "colo darkblue set shortmess=atI "不显示欢迎界面 set helplang=cn "帮助中文支持 "set go= "设置没有GUI界面 set guioptions-=T "隐藏工具栏 set guioptions-=m "隐藏菜单栏 set guioptions-=L "隐藏左侧滚动条 set guioptions-=r "隐藏右侧滚动条 set guioptions-=b "隐藏底部滚动条 set guifont=NSimSun:h10 "设置新宋体 set encoding=utf-8 "编码格式,防止中文乱码 "设置当前文档的编码格式以及保存时的格式 set fileencoding=utf8 "vim启动时逐一探测即将打开的文字的编码 set fileencodings=ucs-bom,utf-8,chinese,gbk,latin-1 "设置文件格式,默认ffs=dos,unix set ffs=unix,dos,mac "vim提示信息乱码 language messages zh_CN.utf-8 "vim菜单乱码 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim set equalalways "分割窗口时保持相等的宽/高 "让回格键可以删除缩进的空格、换行的回车键、以及插入前已经输入的文字 set backspace=indent,eol,start "让光标移到一行最左边的时候若继续按左键, 光标能回到上一行的最右边,具体可:h whichwrap set whichwrap=b,s,<,>,[,] " 我的状态行显示的内容(包括文件类型和解码) set statusline=%F%m%r%h%w\ [TYPE=%Y]\ [%{&ff}][%{&fenc!=''?&fenc:&enc}]\[%{(&bomb!=''?'bom':'nobom')}]\ [POS=%l,%v][%p%%]\ %{strftime(\"%Y.%m.%d\ \%H:%M\")} "set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] " 不让vim发出讨厌的滴滴声 set noerrorbells " 关闭使用可视响铃代替呼叫 set novisualbell "自动缩进 set autoindent "智能缩进 set smartindent "Tab键的宽度 set tabstop=4 "统一缩进为4 set softtabstop=4 set shiftwidth=4 "设置自动换行 set wrap " 在处理未保存或只读文件的时候,弹出确认 set confirm "自动补全设置,利用gvim自带的插件 autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete "无需closetag插件,一行代码完成html/xml的闭合tag自动补全 autocmd BufNewFile,BufRead *.html,*.htm,*.xml inoremap </ </<c-x><c-o> "让注释符与语句之间留一个空格 let NERDSpaceDelims=1 "多行注释时样子更好看 let NERDCompactSexyComs=1 set nobomb set fileformats=unix set pastetoggle=<F9> set backspace=2 "设置退格键可用 set shiftwidth=4 "换行时行间交错使用4个空格 set noexpandtab "不要用空格代替制表符 set cursorline "突出显示当前行 set number "显示行号 set showmode "set nocompatible "关闭模式 set magic "设置魔术 set ruler "右下角显示光标位置的状态行 set autoindent "设置自动缩进对齐 set smartindent "智能自动缩进 set cindent "C风格缩进 set laststatus=2 "总是显示状态行 set ignorecase "在搜索时忽略大小写 set incsearch "实时搜索 set hlsearch "高亮搜索结果 set noignorecase "不区分大小写 set completeopt=longest,menu "智能补全 "set list "显示tab符,使用一高亮竖线代替 set noundofile "设置无备份 set nobackup set noswapfile set showmatch "设置匹配模式,如括号等 set autochdir "自动切换当前目录为当前文件所在的目录 syntax enable "打开语法高亮 syntax on "开启文件类型侦测 set showcmd
原文地址
https://typecodes.com/linux/centos7afteroperate.html