CentOS 7.0中一个最主要的改变,就是切换到了systemd。它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理。systemd兼容SysV和Linux标准组的启动脚本。

Systemd是一个Linux操作系统下的系统和服务管理器。它被设计成向后兼容SysV启动脚本,并提供了大量的特性,如开机时平行启动系统服务,按需启动守护进程,支持系统状态快照,或者基于依赖的服务控制逻辑。

先前的使用SysV初始化或Upstart的红帽企业版Linux版本中,使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。而在RHEL 7/CentOS 7中,这些启动脚本被服务单元取代了。服务单元以.service文件扩展结束,提供了与初始化脚本同样的用途。要查看、启动、停止、重启、启用或者禁用系统服务,你要使用systemctl来代替旧的service命令。

注:为了向后兼容,旧的service命令在CentOS 7中仍然可用,它会重定向所有命令到新的systemctl工具。

例如

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

防火墙

启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld 配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
SELinux
查看状态
[root@dev-server ~]# getenforce
Disabled
[root@dev-server ~]# /usr/sbin/sestatus -v
SELinux status: disabled 临时关闭
##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 永久关闭
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效

安装nginx报错

./configure 时提示以下错误:

checking for OS
+ Linux 2.6.32-431.el6.x86_64 x86_64 checking for C compiler ... not foun yum -y install gcc gcc-c++ autoconf automake make ./configure: error: SSL modules require the OpenSSL library. yum -y install openssl openssl-devel

SSH免秘钥登录

1.ssh-keygen  等同于ssh-keygen -t rsa
.ssh/.id_rsa 私钥
.ssh/.id_rsa.pub 公钥
2. 把公钥copy到要登录的目标机器上
cd /root/.ssh
scp -rp id_rsa.pu root@192.168.10.35:/root/.ssh #把本地文件copy到远程
scp -rp root@192.168.10.35:/root/.ssh/id_rsa.pu /tmp/ #把远程文件copy到本地 3(手动写入). 在目标机器上,把id_rsa.pub里的key取出写入.ssh/authorized_keys
查看当前用户id, whoami
su - root 切换用户
cd /root/.ssh
cat id_rsa.pub >authorized_keys 读出id_rsa.pub的内容并写入到>后的文件,(覆盖)
cat id_rsa.pub >>authorized_keys 读出id_rsa.pub的内容并写入到>后的文件,(追加)
authorized_keys的权限要是600!!!
只有用户自己有写权限。否则验证无效 4.自动写入
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.198.132
输入远程机器密码就可以了

ssh免秘钥

、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:
、两个节点都执行操作:#ssh-keygen -t rsa然后全部回车,采用默认值.
、这样生成了一对密钥,存放在用户目录的~/.ssh下。将公钥考到对方机器的用户目录下
,并将其复制到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys)。
、设置文件和目录权限:
设置authorized_keys权限
$ chmod authorized_keys
设置.ssh目录权限
$ chmod -R .ssh
、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。 注意::如下是ssh 端口不是22,就用-p 指定,注意加引号。
:公钥也可以用scp传递到你要免秘钥登录的这台机器上,然后追加到秘钥登录的这台机器的authorized_keys文件里

ssh免秘钥双向

 Dell R730来电自启

可以重启到服务器的BIOS里看看,System Scurity这项里面的 AC Power Recovery里选择,如下图中的,Last是停电之前的状态(停电之前是开机的状态就开机,关机的状态就不开机),On是来电就开机,Off是来电不开机。

 Crond定时任务

https://www.cnblogs.com/p0st/p/9482167.html

常见日志

/var/log/messages ---> 整体系统信息,其中也包含系统启动期间的日志。
/var/log/dmesg ---> 内核缓冲信息(kernel ring buffer)。用dmesg查看系统启动信息。
/var/log/auth.log ---> 系统授权信息,包括用户登录和使用的权限机制等。
/var/log/boot.log ---> 系统启动时的日志。
/var/log/daemon.log ---> 系统后台守护进程日志信息。
/var/log/dpkg.log ---> 安装或dpkg命令清除软件包的日志。
/var/log/kern.log ---> 内核产生的日志。
/var/log/lastlog ---> 记录所有用户的最近信息。用lastlog命令查看内容。
/var/log/maillog 或 /var/log/mail.log ---> 电子邮件服务器的日志信息。
/var/log/user.log ---> 记录所有等级用户信息的日志。
/var/log/alternatives.log ---> 更新替代信息都记录在这个文件中。
/var/log/btmp ---> 记录所有失败登录信息(用户、时间以及远程IP地址)。使用last命令查看,例如:last -f /var/log/btmp | more。
/var/log/cups ---> 涉及所有打印信息的日志。
/var/log/anaconda.log ---> Linux系统安装信息。
/var/log/yum.log ---> 使用yum安装的软件包信息。
/var/log/cron ---> crond计划任务服务执行情况。
/var/log/secure ---> 系统安全日志、验证和授权信息。
/var/log/wtmp或/var/log/utmp ---> 登录信息。使用 w/who/finger/id/last/lastlog/ac 进行查看。
/var/log/faillog ---> 用户登录失败信息。
默认文件的权限是666,目录的权限是777,umask是222

流量监控工具

nethogs: 按进程查看流量占用
iptraf: 按连接/端口查看流量
ifstat: 按设备查看流量
ethtool: 诊断工具
tcpdump: 抓包工具
ss: 连接查看工具
其他: dstat, slurm, nload, bmon

重定向及标准输入,输出,错误相关

通常情况,每个 Unix 程序在启动时都会打开三个流,一个用于输入,一个用于输出,一个用于打印诊断或错误消息。它们分别被做:标准输入,标准输出,标准错误。

文件描述符: POSIX 定义了STDIN_FILENO、STDOUT_FILENO 和 STDERR_FILENO 来代替 0、1、2。这三个符号常量的定义位于头文件 unistd.h。

标准输入 (stdin) :文件描述符为 0 ,使用 < 或 << ;其实可以理解为这个箭头指向哪里数据就往哪里跑.这里是输入(stdin).命令就通过<来获取数据.等于数据是从左边往命令里面流.

标准输出 (stdout):文件描述符为 1 ,使用 > 或 >> ;输出的时候不能用<或者<<,因为命令总是在前面.这里命令要输出数据.所以数据的来源是命令,数据就会随着箭头指向你给的方向.

标准错误输出(stderr):文件描述符为 2 ,使用 2> 或 2>>;

1.command >file 2>&1 等价于1>/dev/null 和2>/dev/null 和&/dev/null
首先command >file 2>file 的意思是将命令所产生的标准输出信息,和错误的输出信息送到file中;command>file 2>file 这样的写法,stdout和stderr都直接送到file中, file会被打开两次,这样stdout和stderr会互相覆盖,这样写相当使用了两个同时去抢占file的管道.定向了2次。
那如果使用command >file 2>&1 这条命令就将stdout直接送向file,stderr 继承了第一次重定向(FD1)到管道后,再被送往file,此时,file 只被打开了一次,也只使用了一个管道FD1,它包括了stdout和stderr的内容。 2./dev/null
Linux下还有一个非凡的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
假如想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null
>/dev/null表示将程序通过printf或者fprintf打印到handle为1的stdout文件的信息,送到/dev/null空洞文件。
 

所以在执行shell脚本或者在shell脚本中不想看到输出是使用 command >/dev/null/ 2>&1或者找一个专门的日志文件command >/dev/null/ 2>&1

mysql数据库备份工具

mysqldump 小于200G
xtrabackup 大于200G

分割大文件

用法:split [选项]... [输入 [前缀]]
将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;
默认以 行为拆分单位,默认前缀为"x"。如果不指定文件,或
者文件为"-",则从标准输入读取数据。 长选项必须使用的参数对于短选项时也是必需使用的。
  -a, --suffix-length=N 指定后缀长度为N (默认为2)
  -b, --bytes=大小 指定每个输出文件的字节大小
  -C, --line-bytes=大小 指定每个输出文件里最大行字节大小
  -d, --numeric-suffixes 使用数字后缀代替字母后缀
  -l, --lines=数值 指定每个输出文件有多少行
      --verbose 在每个输出文件打开前输出文件特征
      --help 显示此帮助信息并退出
      --version 显示版本信息并退出 SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB ,K ,MB *,M *,还有 G、T、P、E、Z、Y。 如过想指定每个分割的文件行数来分割 split -l 192.168..5_bak.txt -d -a 经过分割测试发现一千两百万行时每个文件大概700MB。 如过想指定每个分割的文件大小来分割 指定每个子文件700MB大小 文件后缀用字符区分 split -b 192.168..5_bak.txt  -a

分卷压缩与解压

.分卷压缩,使用tar+split组合
进入网站目录,执行:
tar cvzf - gaojinbo.com| split -b 900m - logs.tar.bz2. .合并
cat logs.tar.bz2.* > gaojinbo.com.tar.gz .解压
tar xvzf gaojinbo.com.tar.gz tar命令参数简述
参数:
-j : 通过bzip2进行压缩\解压文件*.tar.bz2
-z : 通过gzip进行压缩\解压文件*.tar.gz
-c : 新建打包文件,可搭配-v来查看过程中被打包的文件名
-t : 查看打包文件的内容有哪些文件名
-x : 解压打包文件.
-v : 在压缩/解压过程中,显示正在处理的文件名
-f : -f后面接被处理的文件名
-C(大写) : 后接目录
-p : 保留备份数据的原本权限与属性
-P : 保留绝对路径,即允许备份数据中含有根目录存在的目录(危险)
常用:欲压缩或打包的文件或目录(/*)
bzip2压缩命令:tar -jcv -f boot.tar.bz2 /boot
gzip压缩命令 :tar -zcv -f boot.tar.gz /boot
bzip2查看命令:tar -jtv -f /dir/*.tar.bz2
gzip 查看命令:tar -ztv -f /dir/*.tar.gz
bzip2解压缩命令:tar -jxv -f /dir/*.tar.bz2 -C 欲解压缩的目录
gzip解压缩命令 :tar -zxv -f /dir/*.tar.gz 欲解压缩的目录
特殊:
备份重要的系统数据,包括其完整的权限(-p参数): tar -jcvp -f /root/etc.tar.bz2 /etc
只解压压缩文件内的其中一个文件: tar -jxv -f /root/etc.tar.bz2 etc/shadow
打包目录,但不含该目录下的某些文件(--exclude):
tar -jcv -f /root/system.tar.bz2 --exclude=root/etc* --exclude=root/system.tar.bz2 /etc /root
仅备份比某个时刻还要新的文件:
备份 :tar -jcv -f /root/etc.newer.2011.02.16.tar.bz2 –newer-mtime='2011-02-16' /etc/*
查看备份:tar -jtv -f etc.newer.2011.02.16.tar.bz2
注意:在备份文件的时候也备份它的父目录

/etc/services文件作用

/etc/services文件是记录网络服务名和它们对应使用的端口号及协议。文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。

文件包含了服务名和端口号之间的映射,很多的系统程序要使用这个文件。一般情况下,不要修改该文件的内容,因为这些设置都是Internet标准的设置。一旦修改,可能会造成系统冲突,使用户无法正常访问资源。
Linux系统的端口号的范围为0–,不同范围有不同的意义。 端口范围
不使用
-- 系统保留,只能由root用户使用
--- 由客户端程序自由分配
--- 由服务器端程序自由分配

目录详解

参考一  参考二

hydra使用

hydra -l root -P /home/post/pass.txt -M /home/post/ip.txt -t  ssh -s
hydra -L user.txt -p 'pass' -t -vV smtp://qiye.163..com/ -o save.log 爆破邮箱
hydra -C /root/Desktop/.txt -t -vV smtp://smtp.xxx.com -o /root/Desktop/save.log 爆破邮箱,一行对应一行 xxx.@qq.com:123
hydra -C /home/post/user2.txt -t svn://ip -s 3590 爆破svn
hydra -l root -P /root/Desktop/pass.txt -M /root/Desktop/list.txt -t mysql 爆破mysql

多线程下载

安装方式一:
yum -y install epel-release
yum install axel-2.4-.el7.x86_64.rpm rpm -ivh axel-2.4-.el7.x86_64.rpm 安装方式二:
wget -c http://pkgs.repoforge.org/axel/axel-2.4-1.el6.rf.x86_64.rpmrpm -ivh axel-2.4-1.el6.rf.x86_64.rpm 是用实例:
axel -an https://ubuntu-mate.org/raspberry-pi/ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img.xz #同时开4线程下载 基本参数:
-n x指定线程数(x 必须为大于 的数字)
-o x 指定另存为目录(x 必须为本地目录)
-s x 指定下载速度(x 必须为大于 的数字,单位是 bytes/s)
-q 静默模式,无任何输出信息
-V 软件版本
Axel 在下载过程中如果遇到中断的话,在原来的目录再次执行相同的下载命令即可恢复下载进度。

修改终端颜色

PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。

在终端输入命令:
# echo $PS1
可得到当前PS1的定义值:
PS1='[\u@\h \W]\$ ' PS1的常用参数以及含义:
  \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
  \H :完整的主机名称
  \h :仅取主机名中的第一个名字
  \t :显示时间为24小时格式,如:HH:MM:SS
  \T :显示时间为12小时格式
  \A :显示时间为24小时格式:HH:MM
  \u :当前用户的账号名称
  \v :BASH的版本信息
  \w :完整的工作目录名称
  \W :利用basename取得工作目录名称,只显示最后一个目录名
  \# :下达的第几个命令
  \$ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $ 所以linux默认的命令行提示信息的格式
   PS1='[\u@\h \W]\$ ' 的意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]# 颜色设置参数
  在PS1中设置字符颜色的格式为:\[\e[F;Bm\]........\[\e[0m\],其中“F“为字体颜色,编号为30-,“B”为背景颜色,编号为40-,\[\e[0m\]作为颜色设定的结束。
  颜色对照表:
    F B
     黑色
     红色
     绿色
     黄色
     蓝色
     紫红色
     青蓝色
     白色
  只需将对应数字套入设置格式中即可。
  比如要设置命令行的格式为绿字黑底(\[\e[;40m\]),显示当前用户的账号名称(\u)、主机的第一个名字(\h)、完整的当前工作目录名称(\w)、24小时格式时间(\t),可以直接在命令行键入如下命令:
 经过多次测试后,最终确定了一个适合我自己的格式:
# PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ " 上面的设置的作用域只有当前终端的登陆有效,关闭终端或退出登录即刻失效。要想永久性的保存设置,需要修改.bashrc配置文件。
vim .bashrc
PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
source .bashrc

创建指定大小的文件

truncate
truncate -s 13M onebox.test fallocate
fallocate -l onebox.test dd
dd if=/dev/urandom of=onebox.test bs=13MB count=
OR
head -c 13MB /dev/urandom > onebox.test

查看版本信息等

查看全部信息
[root@VM_168_159_centos log]# uname -a
Linux VM_168_159_centos 3.10.-.el7.x86_64 # SMP Tue Aug :: UTC x86_64 x86_64 x86_64 GNU/Linux
查看内核信息
[root@VM_168_159_centos log]# uname -r
3.10.-.el7.x86_64
查看版本号
[root@VM_168_159_centos log]# cat /etc/redhat-release
CentOS Linux release 7.4. (Core)

开机自启

一、添加开机自启服务

在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):
systemctl enable jenkins.service #设置jenkins服务为自启动服务
sysstemctl start jenkins.service #启动jenkins服务 二、添加开机自启脚本 在centos7中增加脚本有两种常用的方法,以脚本autostart.sh为例:
#!/bin/bash
#description:开机自启脚本
/usr/local/tomcat/bin/startup.sh #启动tomcat 方法一 、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)
chmod +x /opt/script/autostart.sh 、打开/etc/rc.d/rc.local文件,在末尾增加如下内容
/opt/script/autostart.sh 、在centos7中,/etc/rc.d.rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local 方法二 、将脚本移动到/etc/rc.d/init.d目录下
mv /opt/script/autostart.sh /etc/rc.d/init.d 、增加脚本的可执行权限
chmod +x /etc/rc.d/init.d/autostart.sh 、添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
chkconfig --add autostart.sh
chkconfig autostart.sh on

进入单用户模式

1 -在启动grub菜单,选择编辑选项启动
2 - 按键盘e键,来进入编辑界面
3 - 找到Linux 16的那一行,将root=/dev/mapper/centos-root ro rd改为root=/dev/mapper/centos-root rw init=/sysroot/bin/sh rd
4 - 现在按下 Control+x ,使用单用户模式启动
5 - 现在,可以使用下面的命令访问系统
chroot /sysroot
6 - 重置密码
passwd root
7 - 更新系统信息
touch /.autorelabel
8 - 退出chroot
exit
9 - 重启你的系统
reboot

修改主机名

永久修改:hostnamectl set-hostname <newhostname>
临时修改:hostname <new-hostname>

修改时区

将时区是修为上海
date -R 查看时区
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

文件编码及修改文件编码

通常来说,Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-,所以Linux下打开windows的文件会有乱码的情况。另外,有时要将文件进行编码转换,如将简体中文转换为繁体中文。
vim中查询修改文件编码格式
  set fileencoding查看现在文本的编码
  set fenc=编码转换当前文本的编码为指定的编码
  set enc=编码以指定的编码显示文本,但不保存到文件中。这里的“编码”常见为gbk utf- big5 cp936
  set ff查看当前文本的模式类型,一般为dos,unix
  set ff=dos设置为dos模式也可以用一下方式转换为unix模式
  %s/^M//g等同于:set ff=unix
使用dos2unix
  格式:dos2unix file   如果一次转换多个文件,把这些文件名直接跟在dos2unix之后。(注:也可以加上-o参数,也可以不加,效果一样)
    格式:dos2unix file1 file2 file3 或者 格式:dos2unix -o file1 file2 file3   上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用-n参数。
    格式:dos2unix oldfile newfile   如果要保持文件时间戳不变,加上-k参数。所以上面几条命令都是可以加上-k参数来保持文件时间戳的。
    格式:dos2unix -k file

命令补全包

因为centos7最小安装的话,默认没有自动补全功能,要启用这个功能的话要安装一个bash-completion的包,然后退出bash,重新登录即可
yum install -y bash-completion

安装Centos7出现dracut-initqueue timeout 等各种问题

问题:
  之前使用U盘安装CentOS6.5可以正常安装,即用 UltraISO将U盘制作为启动盘,启动时选择USB启动即可。可是安装CentOS7时,进不了安装界面,提示超时,最后进入到dracut#:字符界面 原因分析:
  centos7官方说(https://wiki.centos.org/HowTos/InstallFromUSBkey),对于CentOS7,在Window上制作镜像的话,由于CentOS有一个特别的分区问题,所以有些Windows工具就不能正确的将U盘做成启动盘。目
  前为止不可以的工具有:unetbootin 和 universal usb installer。可以 的工具有Rufus, Fedora LiveUSB Creator,Win32 Disk Image, Rawrite32和dd。
解决方法:
  .使用win32 disk imager将U盘制作为启动盘,写入时间很慢,但是最后成功安装
  .>在报错信息下面进行如下操作:
   >dracut:/# cd dev
   >dracut:/# ls 这样子你就会看到所有的设备信息。
   >找到sdbx,x为一个数字,是你u盘所在
   >dracut:/# reboot 重启之后
   >在install页面按e键
   >修改vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet为 vmlinuz initrd=initrd.img inst.stage2=/hd:/dev/sdbx(你u盘所在)quiet 然后按Ctrl+x就好了。就出现了centOS的安装界面了。
  但是在操作过程中,我发现的dev里面的sdb开头的只有sdb,sdb1和sdb2,于是我就把它仨都试了一遍,就过都说找不到img文件。 本来我以为我的电脑不能安装Linux的,后来我发现他们一般都说默认是sdb4,可我的dev里面没有sdb4,不过我的dev有个sdc4,于是我就使用sdc4
   >修改vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet为 vmlinuz initrd=initrd.img inst.stage2=/hd:/dev/sdc4 quiet 然后按Ctrl+x,就出现了centOS的安装界面了。

在linux中搜索执行过的命令

crtl+r

 Centos7服务器自动重启 acpi引起

查看日志信息

sudo tail -n1000 /var/log/messages |grep -i error

sudo grep -E "error|Error|ERROR|fail|Fail|FAIL" /var/log/dmesg

分析:

由于BIOS中开启了中断重映射(这是个复杂的东西,也可以简单讲明白,我就不讲了。),在ERST(芯片集中的错误校验表)校验时发生错误,导致高级配置电源管理模块无法处理IPMI驱动请求,预存数据到内存发生错误,引发kernel上演了一出找到空指针的戏法。

解决办法

1.

vi /boot/grub/grub.conf
在kernel一行最后加上acpi=off noacip

kernel ... acpi=off noacip

2.升级内核版本

3.

在grub.conf的内核启动参数中添加 intremap=off 或者 intremap=no_x2apic_optout

intremap={on,off,nosid,no_x2apic_optout}

on(默认值)开启中断重映射,BIOS中默认开启

off 关闭中断重映射

nosid 重映射时不对SID(Source ID)做检查

no_x2apic_optout 无视BIOS的设置,强制禁用x2APIC特性,主要用于解决某些对x2APIC支持有缺陷的BIOS导致的故障

4.重装系统

安装gcc出错-Setup script exited with error: command 'gcc' failed with exit status

由于没有正确安装Python开发环境导致。
Python2
  yum install python-dev
Python3
  yum install python3-dev
可能需要libevent库
  yum install libevent-dev
最后更新下开发环境
  yum groupinstall 'development tools'

vim案例

在使用虚拟机vim的时候,突然连接不上虚拟机,导致刚刚在编写的文件还未保存
vim会在当前文件下生成一个缓存文件
例如,第一次产生的交换文件名为'.spring.md.swp';再次意外退出后,将会产生名为'.spring.md.swo'的交换文件,而第三次产生的交换文件则为'.spring.md.swn';以此类推
使用vim -r spring.md来进行文件的恢复,或者其它选项进行编辑或关闭或查看

linux内核i/o调度方法

https://jackyrong.iteye.com/blog/898938
https://blog.51cto.com/scoke/490546
https://blog.csdn.net/qq_41998290/article/details/88416427

 localhost和127.0.0.1的区别

localhost也叫local ,正确的解释是:本地服务器
127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器),是一个回环地址,常用来测试使用
他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1

在cmd中ping localhost解析出来的是IPV6的::1,这是ipv6的本机地址,原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况。

修改办法

 编译*.scr.rpm

安装rpm build工具
yum install rpm* rpm-build rpmdev*
以安装vdsm-4.18.3-0.el7ev.src.rpm为例
  1、执行命令:rpm -i vdsm-4.18.3-0.el7ev.src.rpm
  2、执行命令:cd /root/rpmbuild/SPECS
  3、执行命令:rpmbuild -bb vdsm.spec
  4、执行命令:cd /root/rpmbuild/RPMS/x86_64
  5、执行命令:yum localinstall vdsm-4.18.3-0.el7.centos.x86_64.rpm

企业故障案例

企业故障案例一:web磁盘服务器占满解析及解决

参考一  参考二  参考三  参考四   strace

  可能原因是当一个定时任务正在执行的时候,cron中执行的程序有输出内容,输出内容会以mail的形式发送给对应的cron job用户,sendmail邮件服务默认是关闭的,所以定时任务发送的邮件就会临时堆在/var/spool/clientmqueue/,造成文件数目特别多,在ext3文件系统中,每个文件占用一个inode,造成磁盘空间不断缩小

如果文件太多,占用空间太大,文件太多,就执行下面的命令:(或者直接删除目录,然后按照原来的权限和属组在创建)

# cd /var/spool/clientmqueue
# ls | xargs rm -f
# 也可以每周删除一下clientmqueue目录下的临时文件,放入到定时任务中

企业故障案例二:

密码管理工具

https://keeweb.info/?utm_source=www.appinn.com
中文插件:https://plugins.keeweb.info/translations/zh-CN/

Centos7命令总结

watch -n 2 /tmp/log.log   默认每隔两秒钟查看log.log是否有变化

tail -f /tmp/log.txt             查看文件变化,一直等待

for i in {3..254} ; do ping -c 1 192.168.0.$i &>/dev/null && echo 192.168.0.$i is alive ;done  查看内网主机是否存活

ll |wc -l 查看目录下文件的数量

 hostnamectl set-hostname node1 修改hostname

time dd=/dev/ of=/mnt/123.txt bs=9k count=2000 计算一个任务的执行时间

 linux配置文件

 linux磁盘管理

 linux软件包管理

linux进程与服务


linux启动流程


 linux日志系统


啦啦啦、

Linux常用总结的更多相关文章

  1. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  2. linux常用命令的介绍

    本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...

  3. linux常用指令

    整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...

  4. linux——常用命令与脚本

    linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...

  5. Linux常用的安全工具 转自https://yq.aliyun.com/articles/52540?spm=5176.100239.blogcont24250.8.CfBYE9

    摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/85790 ...

  6. Linux 常用工具小结:(5) lftp工具使用

    Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...

  7. DOS 和 Linux 常用命令的对比

    DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...

  8. 第一章,Linux常用命令

    20161124 Linux常用命令1.find find /etc/ -size +50k -lsfind /etc/ -size +50k -ls 2> /dev/null查看目录下大于50 ...

  9. linux常用快捷键

    linux常用快捷键:ctrl+c 强制终止当前命令ctrl+l 清屏ctrl+a 光标移动到命令行首ctrl+e 光标移动到命令行尾ctrl+u 从光标合所在的位置删除到行首ctrl+z 把命令放到 ...

  10. linux常用操作指令

    Linux常用操作指令: 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(a ...

随机推荐

  1. [转]论SOA架构的几种主要开发方式

    面向服务架构soa以其独特的优势越来越受到企业的重视,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署.组合和使用.服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理 ...

  2. [Git] 将本地分支与远程分支关联

    . . . . . 在本地工程中添加Git,并将其与远程的空库关联起来,只需如下几步. 1. 创建空库 $ git init Initialized empty Git repository in D ...

  3. Windows 10下安装配置Caffe并支持GPU加速(修改版)

    基本环境 建议严格按照版本来 - Windows 10 - Visual Studio 2013 - Matlab R2016b - Anaconda - CUDA 8.0.44 - cuDNN v4 ...

  4. WOW.js和animate.css让页面滚动时显示动画

    官网:http://mynameismatthieu.com/WOW/ bootstrap CDN服务:http://www.bootcdn.cn/wow/ 1.wow.js 实现了在网页滚动时的动画 ...

  5. koa文档参考

    koa文档 简介 koa 是由 Express 原班人马打造的,致力于成为一个更小.更富有表现力.更健壮的 Web 框架.使用 koa 编写 web 应用,通过组合不同的 generator,可以免除 ...

  6. 使用docker安装tomcat服务

    1. 拉取官方tomcat镜像 docker pull tomcat 2. 创建tomcat容器目录 [root@WSyHRQ171356 /]# mkdir /tomcat/test 3. 创建测试 ...

  7. Ubuntu下安装open-falcon-v0.2.1

    在Ubuntu下安装open-falcon和Centos下安装的方法有点区别,因为Ubuntu使用的包管理器是apt-get,而Centos下使用的是Yum,建议不要再Ubuntu下使用yum 建议自 ...

  8. MySQL 大表数据定期归档

    数据库有一张表数据量很大,真正WEB项目只用到一个月内的数据,因此把一个月前的旧数据定期归档. 1 - 创建一个新表,表结构和索引与旧表一模一样 create table table_news lik ...

  9. CustomDrawableTextView

    public class CustomDrawableTextView extends TextView{ //image width.height private int imageWidth; p ...

  10. Centos7 安装系统服务、开机自启动

    Centos7 安装系统服务 1 编写可执行程序 * 这里可以是任意编程语言(C.C++.Java.PHP.Python.Perl ...)编写的程序: 当前假设此程序的执行目录为: /myservi ...