Centos7 安装Mini后相关配置

1.CentOS 7最小化安装后找不到‘ifconfig’命令——修复小提示

如果你不知道在哪里可以找到ifconfig命令,请按照以下简单的步骤来找到它。首先,让我们找出哪个包提供了ifconfig命令。要完成这项任务,输入以下命令:

yum provides ifconfig

输出样例:

1 Loaded plugins: fastestmirror
2 Loading mirror speeds from cached hostfile
3  * base: centos.aol.in
4  * extras: centos.aol.in
5  * updates: centos.aol.in
6 net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools
7 Repo        : @base
8 Matched from:
9 Filename    : /usr/sbin/ifconfig

就像你在上面的输出中所看到的,net-tools包提供了ifconfig命令。因此,让我们安装net-tools包来使用ifconfig命令。

yum install net-tools

现在,你就可以像以往一样使用ifconfig命令了。

ifconfig -a

输出样例:

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 16436
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
venet0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP>  mtu 1500
        inet 127.0.0.1  netmask 255.255.255.255  broadcast 0.0.0.0  destination 127.0.0.1
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 0  (UNSPEC)
        RX packets 7073  bytes 8549159 (8.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4611  bytes 359201 (350.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
venet0:0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP>  mtu 1500
        inet 192.168.1.101  netmask 255.255.255.255  broadcast 192.168.1.101  destination 192.168.1.101
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 0  (UNSPEC)

2.使用SecureCRT上传、下载文件命令sz与rz用法实例

其中,对于sz和rz的理解与记忆我用了如下的方法(因为很多时候容易搞混):

sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。

rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传。
注意:sz和rz命令需要服务器支持,如果提示没有个命令:

可以用yum安装(Centos为例):

yum install lrzsz -y

下面用具体的示例说明 sz 以及 rz 的用法:

sz用法(运行命令 sz 比ftp命令方便多了,而且服务器不需要另开FTP服务):

#下载一个文件
sz filename
#下载多个文件
sz filename1 filename2
#下载dir目录下的所有文件,不包含dir下的文件夹
sz dir/*

下载文件存放位置需要在securtCRT中设置,设置如下图:

rz用法:

在命令终端输入rz回车后,就会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。

注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。
-b binary 用binary的方式上传下载,不解释字符为ascii
-e 强制escape 所有控制字符,比如Ctrl+x,DEL等。

3.安装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

4.安装yum-axelget插件

yum-axelget是EPEL提供的一个yum插件。默认的yum是单线程下载的,使用该插件后用yum安装软件时可以并行下载。yum-axelget插件原理是调用系统中的axel下载软件,然后根据软件包的大小自动设定线程数。在多线程操作时,还能避免因为线程数过多而导致服务器拒绝下载的问题,大大提高了软件的下载速度,减少了下载的等待时间。注意:通过下面这条安装命令,会同时安装axel下载软件。

yum -y install yum-axelget

5. 更新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

6.使用sshd登录

在前文《阿里云CentOS主机 LNMP 环境之主机安全篇一》中,已经讲述了禁止任何用户使用密码登录,而只允许root用户使用sshd方式登录的方法。其中的公、私密钥是通过SecureCRT生成的,这里我们直接使用Linux命令生成公私钥,方法更为简单快捷。将生成的私钥vfhky20150505保存到本地供SecureCRT等工具使用即可(记得删除服务器上的私钥哦)。

6.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

 

6.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

7.修改主机名

 hostnamectl set-hostname typecodes

8.将vi映射为vim命令、高亮grep词语

如何在编辑文件时,直接使用vi命令达到vim命令的效果,设置grep词语高亮

echo -e "\nalias vi=vim\nalias grep='grep --color'\n" >>~/.bashrc && source ~/.bashrc

如果还没有安装vim,那么可以使用yum -y install vim命令进行安装。

 9.配置vimrc文件

下面这条vim配置命令是我经常使用的,包括行号、自动缩进、高亮、文件编码和粘贴时不变形的快捷键F9等等,直接使用root用户把下面的内容追加到/etc/vimrc文件的末尾。

colo pablo                             "设置主题方案
"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

 配置静态ip:http://www.jb51.net/article/106707.htm

不使用网络管理配置静态IP地址

 进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-enp0s3)。如果没有,请创建一个。

打开配置文件并编辑以下变量:

在上图中,“NM_CONTROLLED=no”表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理。“ONBOOT=yes”告诉我们,系统将在启动时开启该接口。

保存修改并使用以下命令来重启网络服务:

systemctl restart network.service

现在验证接口是否配置正确:

ip add

  

 

posted @ 2017-05-26 17:47  atzuge  阅读(1365)  评论(0编辑  收藏  举报