连centos 工具 centos怎么用
大家好,关于连centos 工具很多朋友都还不太明白,今天小编就来为大家分享关于centos怎么用的知识,希望对各位有所帮助!
如何通过自带工具为CentOS-7配置网络
前置条件
首先,你要具备一定的网络基础知识,比如什么是IP地址、掩码、网关地址、DNS、DHCP、路由器、有线连接、无线连接、网络设备等。由于篇幅有限,本文不再赘述这些基础知识,如需了解,请移步baidu百科自行查阅。
其次,你已经安装好了CentOS-7 minimal系统。
最后,确定CentOS-7可以识别到你的网卡设备。在你安装CentOS-7时就可以确认是否CentOS-7可以识别你的网卡设备。图中展示了在安装过程中可以确认网络设备的位置。
查看网卡、网络配置信息
一般情况下,在安装CentOS-7后网卡设备是被默认关闭的,这一点你可以去CentOS的官网查看具体原因(也就是因为安全之类云云)。另外,你可以使用ip addr命令来查看你的网卡状态以及网络配置信息。在CentOS-7中,替代了ifconfig工具的,正是这个ip工具(其具体用法不在本文范畴之内,此处不再赘述)。
从图中结果看到我的网卡没有获得任何网络配置信息,我们需要先激活它。
使用nmtui激活网卡
CentOS-7中自带了一个非常好用的工具nmtui(network manager text user interface)。在命令行中键入nmtui来启动这个工具。
在界面中选择Activate a connection并回车。
进入网卡激活界面后选择你的网卡,用方向键将高亮红色框移至Activate按钮处,回车。如果成功激活后,你会看到Activate按钮变为Deactivate。
使用ip addr再次查看网卡及网络配置信息
按键盘ESC键退出nmtui工具界面。
输入ip addr并回车,再次查看网卡的网络信息。因为我这台机器连接的网络路由器上已经启用了DHCP服务,所以当我激活网卡时,CentOS-7系统自动获取到了路由器为我分配的IP地址、子网掩码和网关地址。如果您的网络中没有启用DHCP服务,请继续看下一步。
手动配置网络信息
再次输入nmtui命令,进入网络管理器用户界面。直接回车,进入Edit a connection界面。从网卡设备列表中选择你要进行手动配置的网卡设备,然后点击Edit按钮(移动高亮红色选择框至Edit按钮处,回车)。
按图所示,将IPv4的Automatic模式设置为Manual。然后点击Show按钮,将IPv4的详细信息显示出来。之后,填入相应的IP地址(addresses)、Gateway、DNS servers等信息,并点击OK按钮返回nmtui的设备列表。
点击Quit按钮退出nmtui工具界面。
最后,让我们使用ping命令来确认一下网络是否已经配置妥当。
Okay,至此,您已经成功激活网卡并完成了CentOS-7上的网络配置。
CentOS网络状态工具ss命令使用方法
ss命令用于显示socket状态.他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计.它比其他工具展示等多tcp和state信息.它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:
所有的TCP sockets
所有的UDP sockets
所有ssh/ftp/ttp/https持久连接
所有连接到Xserver的本地进程
使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤
所有的state FIN-WAIT-1 tcpsocket连接以及更多
很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat-ant/lnt等.
展示他之前来做个对比,统计服务器并发连接数
netstat
# time netstat-ant| grep EST| wc-l
3100
real 0m12.960s
user 0m0.334s
sys 0m12.561s
# time ss-o state established| wc-l
3204
real 0m0.030s
user 0m0.005s
sys 0m0.026s
结果很明显ss统计并发连接数效率完败netstat,在ss能搞定的情况下,你还会在选择netstat吗,还在犹豫吗,看以下例子,或者跳转到帮助页面.
常用ss命令:
ss-l显示本地打开的所有端口
ss-pl显示每个进程具体打开的socket
ss-t-a显示所有tcp socket
ss-u-a显示所有的UDP Socekt
ss-o state established'( dport=:smtp or sport=:smtp)'显示所有已建立的SMTP连接
ss-o state established'( dport=:http or sport=:http)'显示所有已建立的HTTP连接
ss-x src/tmp/.X11-unix/*找出所有连接X服务器的进程
ss-s列出当前socket详细信息:
显示sockets简要信息
列出当前已经连接,关闭,等待的tcp连接
# ss-s
Total: 3519(kernel 3691)
TCP: 26557(estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0), ports 1452
Transport Total IP IPv6
* 3691--
RAW 2 2 0
UDP 10 7 3
TCP 3375 3368 7
INET 3387 3377 10
FRAG 0 0 0
列出当前监听端口
# ss-l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 10:::5989:::*
0 5*:rsync*:*
0 128:::sunrpc:::*
0 128*:sunrpc*:*
0 511*:http*:*
0 128:::ssh:::*
0 128*:ssh*:*
0 128:::35766:::*
0 128 127.0.0.1:ipp*:*
0 128::1:ipp:::*
0 100::1:smtp:::*
0 100 127.0.0.1:smtp*:*
0 511*:https*:*
0 100:::1311:::*
0 5*:5666*:*
0 128*:3044*:*
ss列出每个进程名及其监听的端口
# ss-pl
ss列所有的tcp sockets
# ss-t-a
ss列出所有udp sockets
# ss-u-a
ss列出所有http连接中的连接
# ss-o state established'( dport=:http or sport=:http)'
以上包含对外提供的80,以及访问外部的80
用以上命令完美的替代netstat获取http并发连接数,监控中常用到
ss列出本地哪个进程连接到x server
# ss-x src/tmp/.X11-unix/*
ss列出处在FIN-WAIT-1状态的http、https连接
# ss-o state fin-wait-1'( sport=:http or sport=:https)'
ss常用的state状态:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listen
closing
all: All of the above states
connected: All the states except for listen and closed
synchronized: All the connected states except for syn-sent
bucket: Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.
big: Opposite to bucket state.
ss使用IP地址筛选
ss src ADDRESS_PATTERN
src:表示来源
ADDRESS_PATTERN:表示地址规则
如下:
ss src 120.33.31.1#列出来之20.33.31.1的连接
#列出来至120.33.31.1,80端口的连接
ss src 120.33.31.1:http
ss src 120.33.31.1:80
ss使用端口筛选
ss dport OP PORT
OP:是运算符
PORT:表示端口
dport:表示过滤目标端口、相反的有sport
OP运算符如下:
= or le:小于等于= or ge:大于等于
== or eq:等于
!= or ne:不等于端口
or lt:小于这个端口 or gt:大于端口
OP实例
ss sport=:http也可以是 ss sport=:80
ss dport=:http
ss dport \:1024
ss sport \:1024
ss sport \:32000
ss sport eq:22
ss dport!=:22
ss state connected sport=:http
ss \( sport=:http or sport=:https \)
ss-o state fin-wait-1 \( sport=:http or sport=:https \) dst 192.168.1/24
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
ss命令帮助
# ss-h
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h,--help this message
-V,--version output version information
-n,--numeric don't resolve service names
-r,--resolve resolve host names
-a,--all display all sockets
-l,--listening display listening sockets
-o,--options show timer information
-e,--extended show detailed socket information
-m,--memory show socket memory usage
-p,--processes show process using socket
-i,--info show internal TCP information
-s,--summary show socket usage summary
-4,--ipv4 display only IP version 4 sockets
-6,--ipv6 display only IP version 6 sockets
-0,--packet display PACKET sockets
-t,--tcp display only TCP sockets
-u,--udp display only UDP sockets
-d,--dccp display only DCCP sockets
-w,--raw display only RAW sockets
-x,--unix display only Unix domain sockets
-f,--family=FAMILY display sockets of type FAMILY
-A,--query=QUERY,--socket=QUERY
QUERY:={all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D,--diag=FILE Dump raw information about TCP sockets to FILE
-F,--filter=FILE read filter information from FILE
FILTER:= [ state TCP-STATE ] [ EXPRESSION ]
启动盘安装centos
启动盘安装centos(启动盘安装centos7)刚买的thinkpad t430u 64位的笔记本,发现装Linux是一件非常麻烦的事,以前装个linux系统,配置双启,1个小时就能搞定,而这一次我连装centos6.4带配置双启,花了三个星期。双启后成功后又装了Arch,现在笔记本是三系统,三周的时间里,笔记本重启不下300次。我也不知道能不能成功,所以事先,并没有做详细的笔记电脑。所以下面,只是大致的记录。
关闭secure boot
开机按F1进入bios=>security=>secure boot
笔记本不同,可能secure boot的配置不同,将其disabled掉,要不然,选择U盘启动,光盘启动都无效,报没有权限。
bios里面配置启动项,默认efi only,改为both
bios=>startup=>uefi/legacy boot
启动优先级里面有三个选择,
1,efi only(注释:默认)
2,both(注释:二种方式都可以)
3,legacy only(注释:grub1)
这里说的启动根选择U盘启动,光盘启动不一样。这里的启动是,多系统安装好了,而选择的启动模式。而U盘启动,电脑光盘启动这种情况是系统还没有装时选择的安装启动。我的本子,按F12可以选择U盘启动,或者光盘启动。
为什么要进行这一步,如果不改,默认是装在第二块硬盘上面的,也就是efi的默认启动盘,安装CentOS时:
win8装centos
根本没有“更换设置”这个按钮,并且引导程序只能安装在/dev/sda2上面,选中的情况下,centos6.4 64位,根本安装不成功,所有包安装完后,配置时提示报错,
an unhandled exception has occurred.this is most likely a bug.plese copy the full text of this exeception and file a detailed bug report.against anaconda at
让提交bug到centos,这个有点坑爹。
将efi only改成both后,重新安装,“更换设置”就会出现,并把引导程序装到centos所在的分区,这样centos可以顺利装完,怎么安装网上太多,在这儿就不哆嗦了。
用easybcd和纯grub1实现双启都不可能
用easybcd和纯grub1实现双启根本不可能,大家就不要浪费时间了。网上有说easybcd2.2可以实现,我试过无数次不行。
在启动优先级里面选择,legacy only,保存重启,久违的centos界面出现了,那叫一个激动。下方向键选择others,windows进不去。总之还是有点高兴的,centos装成功了,我信心大增,通过grub1,我想能启动win8,然后我就开始尝试用grub1启动win8,又试了不知道多少次不行。我想完全靠grub1启动是不可能了
用centos自带的efi实现双启
1,启动优先级里面,选择legacy only,进入到centos
2,下载三个文件,BOOTX64.conf BOOTX64.efi splash.xpm.gz
或者是从iso镜像中解压也行。
3,挂载efi的启动盘
mkdir/mnt/usb
mount/dev/sda2/mnt/usb
cd/mnt/usb
mkdir image
cp/boot/initramfs-2.6.32-358.el6.x86_64.img./image/initrd.img
cp/boot/vmlinuz-2.6.32-358.el6.x86_64./image/vmlinuz
在efi启动盘的根目录也就是/dev/sda2上面,建一个image文件夹,把装好的cenots内核考过来,我为什么要这么干呢,因为BOOTX64.conf这个文件就是这么干的。
[root@localhost image]# ll/mnt/usb/image/
总用量 26812
-rwxr-xr-x. 1 root root 16532286 6月 1 18:11 initrd.img
-rwxr-xr-x. 1 root root 3089184 6月 1 19:11 initrd.img-arch//这是arch的,装了三系统
-rwxr-xr-x. 1 root root 4043888 6月 1 18:10 vmlinuz
-rwxr-xr-x. 1 root root 3778496 6月 1 19:10 vmlinuz-arch//这也是arch的,
4,这一步建redhat目录是多余的,我是按照操作时候的步骤来写这篇博客的
[root@localhost EFI]# mkdir/mnt/usb/EFI/redhat
为什么要redhat,而不是centos呢,装好的centos,/boot/efi/EFI(注:这个目录在系统的boot下面,不在sda2上面),这个目录下就有redhat,后来我才知道,这个目录没用。
将上面的三个文件BOOTX64.conf BOOTX64.efi splash.xpm.gz,copy到/mnt/usb/EFI/redhat目录下面
看一下我的配置:
[root@localhost redhat]# cat BOOTX64.conf
#debug--graphics
default=1
#splashimage=/EFI/BOOT/splash.xpm.gz
timeout=5
#hiddenmenu
title CentOS 6.4
kernel/image/vmlinuz ro root=/dev/sda7
initrd/image/initrd.img
title Windows8
chainloader/EFI/Microsoft/Boot/win8.efi
title Archlinux
kernel/image/vmlinuz-arch ro root=/dev/sda9
initrd/image/initrd.img-arch
上面的win8.efi是bootmgfw.efi的备份,后来我把bootmgfw.efi也替换了,下面会提到的,这东西启动win8用的。
重启测试
重启F1,进bios,把启动优先级设为efi only,保存重起进grub
grub> configfile/efi/redhat/BOOTX64.conf
注意:grub下面是小定的,linux系统下是大写的,最好是用tab键提示。然后三个启动选项就出现了,我选了一下,都是可以进的,那叫一个激动啊,离成功不远了。
grub> chainloader/efi/Microsoft/Boot/win8.efi
win8也是可以进的
只要启动时能让EFI识别BOOTX64.conf这个文件,并读取,就搞这定了。
然后我就开始把redhat这个目录到处copy,发现不行,我又把BOOTX64.conf BOOTX64.efi splash.xpm.gz,这三个文件到处copy,EFI下面的每个目录我都试了。不行。
refind efi启动器
没办法啊,就上google上面找efi启动工具,看了好多,发现The rEFInd Boot Manager还是比较靠谱的。
下载地址:,这个是二进制版的。
该工具官方地址:,下载,安装,以及使用说明都有。
安装配置地址:
下面是我的操作:
cp-r refind/mnt/usb/EFI/
cd/mnt/usb/EFI/refind
rm-rf drivers_ia32
rm-f refind_ia32.efi
rm-rf tools_ia32
[root@localhost boot]# ll/mnt/usb/EFI/refind///删除后就是这样子
总用量 224
drwxr-xr-x. 2 root root 4096 6月 1 17:52 drivers_x64
drwxr-xr-x. 2 root root 8192 6月 1 17:52 icons
-rwxr-xr-x. 1 root root 17774 6月 1 20:55 refind.conf
-rwxr-xr-x. 1 root root 17911 6月 1 17:52 refind.conf-sample
-rwxr-xr-x. 1 root root 170824 6月 1 17:52 refind_x64.efi
drwxr-xr-x. 2 root root 4096 6月 1 17:52 tools_x64
如果你是64的系统,就把32的删除掉,反之就删64的。
mv refind.conf-sample refind.conf
然后配置refind.conf,我的配置肯定不对,如果要对的话,直接是可以用refind进入centos,win8,arch的。而不是refind去调用grub来启动
中的Installing rEFInd Manually Using Linux,安装方法中,6,7这二步,没敢做,我实在无法预测,efibootmgr-c-l\EFI\refind\refind_x64.efi-L rEFInd,执行这个命令到底会有什么后果。
重启后,无法进入refind界面
然后就在仔细阅读文件
rename EFI/BOOT/refind_x64.efi to the name of the boot loader it's replacing—it should become EFI/BOOT/bootx64.efi or EFI/Microsoft/Boot/bootmgfw.efi.
发现有上面的东西,操作如下:
[root@localhost EFI]# cp-r./Microsoft/Boot/./Microsoft/Boot_bak
[root@localhost EFI]# cp-r./refind/*./Microsoft/Boot/
[root@localhost EFI]# cd./Microsoft/Boot/
[root@localhost Boot]# cp bootmgfw.efi win8.efi//上面提到的win8.efi就是在这儿来的
[root@localhost Boot]# mv refind_x64.efi bootmgfw.efi
先把EFI/Microsoft/Boot/这个目录备份,这样我不管怎么配置Boot的目录,我可以还原,进WIN8绝对没问题。efi启动,会默认读取/EFI/Microsoft/Boot/bootmgfw.efi,我的机子是这样子的,规定死了。
重启后,可以进入refind的引导界面,但是没有一个系统能进
refind配置不正确,无法进入任何一个系统,但是我发现refind的第二个引导项读取到了/grub/BOOTX64.conf,并且是默认的centos的BOOTX64.conf,grub是什么时候建的我都忘了,里面是下载的原始的centos的BOOTX64.conf BOOTX64.efi splash.xpm.gz
[root@localhost refind]# cp/mnt/usb/EFI/redhat/*/mnt/usb/EFI/grub
[root@localhost refind]# cd/mnt/usb/EFI/Microsoft/Boot/
[root@localhost Boot]# vim refind.conf
timeout 2
default_selection 2//将第二引导项调为默认
知道refind读取哪个启动文件就好办了,把redhat下面已经配置好的文件copy到grub目录下就搞定了。
就这样我的三系统启动搞定了,不过还有缺点,
第一,引导是分二步的,首先是refind引导,然后refind调用BOOTX64.conf,在通过grub来引导,之后才能进入系统。
第二,内核版本,是copy到了,efi的启动盘上面,升级内核,也用不了,除非在重新将内核copy到sda2上面。