CentOS 7.0中一個最主要的改變,就是切換到了systemd。它用於替代紅帽企業版Linux前任版本中的SysV和Upstart,對系統和服務進行管理。systemd兼容SysV和Linux標準組的啓動腳本。html
Systemd是一個Linux操做系統下的系統和服務管理器。它被設計成向後兼容SysV啓動腳本,並提供了大量的特性,如開機時平行啓動系統服務,按需啓動守護進程,支持系統狀態快照,或者基於依賴的服務控制邏輯。node
先前的使用SysV初始化或Upstart的紅帽企業版Linux版本中,使用位於/etc/rc.d/init.d/目錄中的bash初始化腳本進行管理。而在RHEL 7/CentOS 7中,這些啓動腳本被服務單元取代了。服務單元以.service文件擴展結束,提供了與初始化腳本一樣的用途。要查看、啓動、中止、重啓、啓用或者禁用系統服務,你要使用systemctl來代替舊的service命令。python
注:爲了向後兼容,舊的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報錯mysql
./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免祕鑰登陸linux
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 輸入遠程機器密碼就能夠了
1、ssh-keygen作密碼驗證可使在向對方機器上ssh ,scp不用使用密碼.具體方法以下: 2、兩個節點都執行操做:#ssh-keygen -t rsa而後所有回車,採用默認值. 3、這樣生成了一對密鑰,存放在用戶目錄的~/.ssh下。將公鑰考到對方機器的用戶目錄下 ,並將其複製到~/.ssh/authorized_keys中(操做命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys)。 4、設置文件和目錄權限: 設置authorized_keys權限 $ chmod 600 authorized_keys 設置.ssh目錄權限 $ chmod 700 -R .ssh 5、要保證.ssh和authorized_keys都只有用戶本身有寫權限。不然驗證無效。 注意:1:以下是ssh 端口不是22,就用-p 指定,注意加引號。 2:公鑰也能夠用scp傳遞到你要免祕鑰登陸的這臺機器上,而後追加到祕鑰登陸的這臺機器的authorized_keys文件裏
Dell R730來電自啓nginx
Crond定時任務c++
https://www.cnblogs.com/p0st/p/9482167.html
常見日誌web
/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
流量監控工具spring
nethogs: 按進程查看流量佔用 iptraf: 按鏈接/端口查看流量 ifstat: 按設備查看流量 ethtool: 診斷工具 tcpdump: 抓包工具 ss: 鏈接查看工具 其餘: dstat, slurm, nload, bmon
重定向及標準輸入,輸出,錯誤相關sql
一般狀況,每一個 Unix 程序在啓動時都會打開三個流,一個用於輸入,一個用於輸出,一個用於打印診斷或錯誤消息。它們分別被作:標準輸入,標準輸出,標準錯誤。 文件描述符: POSIX 定義了STDIN_FILENO、STDOUT_FILENO 和 STDERR_FILENO 來代替 0、一、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",...; 默認以 1000 行爲拆分單位,默認前綴爲"x"。若是不指定文件,或 者文件爲"-",則從標準輸入讀取數據。 長選項必須使用的參數對於短選項時也是必需使用的。 -a, --suffix-length=N 指定後綴長度爲N (默認爲2) -b, --bytes=大小 指定每一個輸出文件的字節大小 -C, --line-bytes=大小 指定每一個輸出文件裏最大行字節大小 -d, --numeric-suffixes 使用數字後綴代替字母后綴 -l, --lines=數值 指定每一個輸出文件有多少行 --verbose 在每一個輸出文件打開前輸出文件特徵 --help 顯示此幫助信息並退出 --version 顯示版本信息並退出 SIZE 能夠是一個可選的整數,後面跟着如下單位中的一個: KB 1000,K 1024,MB 1000*1000,M 1024*1024,還有 G、T、P、E、Z、Y。 如過想指定每一個分割的文件行數來分割 split -l 12000000 192.168.61.5_bak.txt -d -a 6 通過分割測試發現一千兩百萬行時每一個文件大概700MB。 如過想指定每一個分割的文件大小來分割 指定每一個子文件700MB大小 文件後綴用字符區分 split -b 734003200 192.168.61.5_bak.txt -a 6
分卷壓縮與解壓
1.分卷壓縮,使用tar+split組合 進入網站目錄,執行: tar cvzf - gaojinbo.com| split -b 900m - logs.tar.bz2. 2.合併 cat logs.tar.bz2.* > gaojinbo.com.tar.gz 3.解壓 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–65535,不一樣範圍有不一樣的意義。 端口範圍 0 不使用 1--1023 系統保留,只能由root用戶使用 1024---4999 由客戶端程序自由分配 5000---65535 由服務器端程序自由分配
目錄詳解
hydra使用
hydra -l root -P /home/post/pass.txt -M /home/post/ip.txt -t 2 ssh -s 62822 hydra -L user.txt -p 'pass' -t 10 -vV smtp://qiye.163..com/ -o save.log 爆破郵箱 hydra -C /root/Desktop/2.txt -t 1 -vV smtp://smtp.xxx.com -o /root/Desktop/save.log 爆破郵箱,一行對應一行 xxx.@qq.com:123 hydra -C /home/post/user2.txt -t 1 svn://ip -s 3590 爆破svn hydra -l root -P /root/Desktop/pass.txt -M /root/Desktop/list.txt -t 2 mysql 爆破mysql
多線程下載
安裝方式一: yum -y install epel-release yum install axel-2.4-9.el7.x86_64.rpm rpm -ivh axel-2.4-9.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 4 https://ubuntu-mate.org/raspberry-pi/ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img.xz #同時開4線程下載 基本參數: -n x指定線程數(x 必須爲大於 0 的數字) -o x 指定另存爲目錄(x 必須爲本地目錄) -s x 指定下載速度(x 必須爲大於 0 的數字,單位是 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-37,「B」爲背景顏色,編號爲40-47,\[\e[0m\]做爲顏色設定的結束。 顏色對照表: F B 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫紅色 36 46 青藍色 37 47 白色 只需將對應數字套入設置格式中便可。 好比要設置命令行的格式爲綠字黑底(\[\e[32;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 13000000 onebox.test dd dd if=/dev/urandom of=onebox.test bs=13MB count=1 OR head -c 13MB /dev/urandom > onebox.test
查看版本信息等
查看所有信息 [root@VM_168_159_centos log]# uname -a Linux VM_168_159_centos 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 查看內核信息 [root@VM_168_159_centos log]# uname -r 3.10.0-693.el7.x86_64 查看版本號 [root@VM_168_159_centos log]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
開機自啓
1、添加開機自啓服務 在CentOS 7中添加開機自啓服務很是方便,只須要兩條命令(以Jenkins爲例): systemctl enable jenkins.service #設置jenkins服務爲自啓動服務 sysstemctl start jenkins.service #啓動jenkins服務 2、添加開機自啓腳本 在centos7中增長腳本有兩種經常使用的方法,以腳本autostart.sh爲例: #!/bin/bash #description:開機自啓腳本 /usr/local/tomcat/bin/startup.sh #啓動tomcat 方法一 1、賦予腳本可執行權限(/opt/script/autostart.sh是你的腳本路徑) chmod +x /opt/script/autostart.sh 2、打開/etc/rc.d/rc.local文件,在末尾增長以下內容 /opt/script/autostart.sh 3、在centos7中,/etc/rc.d.rc.local的權限被下降了,因此須要執行以下命令賦予其可執行權限 chmod +x /etc/rc.d/rc.local 方法二 1、將腳本移動到/etc/rc.d/init.d目錄下 mv /opt/script/autostart.sh /etc/rc.d/init.d 2、增長腳本的可執行權限 chmod +x /etc/rc.d/init.d/autostart.sh 3、添加腳本到開機自動啓動項目中 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-8,因此Linux下打開windows的文件會有亂碼的狀況。另外,有時要將文件進行編碼轉換,如將簡體中文轉換爲繁體中文。 vim中查詢修改文件編碼格式 set fileencoding查看如今文本的編碼 set fenc=編碼轉換當前文本的編碼爲指定的編碼 set enc=編碼以指定的編碼顯示文本,但不保存到文件中。這裏的「編碼」常見爲gbk utf-8 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。 解決方法: 1.使用win32 disk imager將U盤製做爲啓動盤,寫入時間很慢,可是最後成功安裝 2.>在報錯信息下面進行以下操做: >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
企業故障案例
企業故障案例一:web磁盤服務器佔滿解析及解決
可能緣由是當一個定時任務正在執行的時候,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 計算一個任務的執行時間
啦啦啦、