1. 程式人生 > >運維題目(七)

運維題目(七)

優點 軟件 profile 方式 掛載 下載文件 mnt .html 虛擬

一、Linux操作系統知識

1.常見的Linux發行版本都有什麽?你最擅長哪一個?它的官網網站是什麽?說明你擅長哪一塊?

答:
常見的Linux發現版本有Redhat、Centos、Debian、Ubuntu、Suse
最擅長Redhat和Centos
Redhat官網:www.redhat.com
Centos官網:www.centos.org

2.Linux開機啟動流程詳細步驟是什麽?系統安裝完,忘記密碼如何破解?

答:
開機步驟由a--h
a、首先是bios加電自檢、初始化,這個過程會檢測相關硬件(cpu、內存、顯卡、硬盤等),然後讀取一個啟動順序,以硬盤為例,會讀取硬盤中的MBR。
b、加載內核 讀取/boot裏邊的配置文件。
c、啟動初始化進程,開始運行/sbin/init
d、讀取/etc/inittab確定運行級別
e、根據/etc/rc.d/rcN.d加載開機啟動程序,rcN.d都是鏈接文件,都指向/etc/rc.d/init.d 再運行/etc/rc.d/rc.local
f、用戶登錄(3種方式 ssh、命令行、圖形化)
g、進入login shell,以命令行為例,首先讀取/etc/profile這個全局配置文件,然後再針對當前用戶讀取家目錄中的 ~/.bash_profile和~/.bash_login和~/.profile
h、最後一步就是打開non-login shell,進入圖形化後 手動新建一個終端,但這個shell不讀取/etc/profile
忘記密碼
a、重啟系統,在GRUB界面,選取忘記密碼的系統,按e鍵進入編輯模式
b、選項Kernel.....按e鍵進行編輯
c、在編輯界面rhgb quiet後加空格,然後輸入"single"或"1" 回車
d、按b啟動 進入單用戶模式
f、進入系統後passwd回車輸入新密碼(如果有selinux,先暫時關閉 setenforce 0)

3.企業中Linux服務器系統分區標準是什麽?(硬盤為300G,內存16G)

答:
/boot 200M
/swap 16G
/ 70G
/data 剩下的全部空間

4.某一天突然發現Linux系統文件只讀,該怎麽辦呢?完整操作步驟。

答:
首先把系統關機,然後以光盤啟動進入救援模式(linux rescue),執行
"fsck.ext3 -y /dev/sda2" (假如只讀的分區類型為ext3,分區為/dev/sda2)

5.安裝一臺系統使用DVD光盤安裝,如何安裝50臺Linux系統如何安裝呢?思考一下。

答:
a、可以多用幾張DVD一臺一臺的安裝。
b、可以用Kickstart批量安裝(客戶端從網絡啟動)

6.用虛擬機安裝了一臺Linux系統,突然想克隆一臺服務器,克隆後發現無法上網,如何解決?

答:
a、編輯網卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,將HWADDR和MAC地址這兩行刪除。
b、修改文件/etc/udev/rules.d/70-persistent-net.rules,刪除之前eth0所在的行,將下一行eth1修改為eth0
c、reboot

7.Linux網卡配置文件路徑是什麽?要使服務器上外網,必須滿足的條件有哪些?需要配置什麽?

答:
網卡配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-eth*(*代表數字)
要上外網需要:能夠鏈接internet的網線(或無線)、有網卡
需要配置:IP、netmask、gateway、dns(自動或手動都ok,服務器一般自動)

8.一般可以使用什麽軟件遠程linux服務器?通過什麽上傳文件和下載文件?

答:
遠程連接linux的軟件:xshell、SecureCRT、putty、vnc(圖形化)
上傳和下載文件:lrzsz、sftp

9./mnt目錄主要用於什麽?/root目錄跟root用戶有什麽關系?/根目錄與/boot目錄有什麽聯系?

答:
/mnt一般用於掛載外接設備
/root是一個目錄,是root用戶的家目錄
/boot目錄是/目錄下的一個子目錄

10.某一天誤操作,執行了rm -rf * ,會有哪些情況發生?請舉例。

答:
a、如果當前目錄為"/tmp" ,那麽這個目錄下的東西會全部刪除(默認不包含隱藏文件)
b、如果當前目錄為"/",那麽系統上的數據將會丟失,且無法啟動,系統崩潰(謹慎使用這個命令)

二、Linux命令及文件操作

1.在/tmp/目錄下創建test.txt文件,內容為: Hello,World! ,用一個命令寫出來。

答:
echo "Hello,World!" > /tmp/test.txt

2.給test.txt文件除所有者之外增加執行權限,最終以數字寫出文件的權限。

答:
655
默認是644,可以通過"chmod 655 /tmp/test.txt"

3.用vi命令編輯test.txt,如何跳轉到末行,首行,行首、行末,如何在光標行下一行插入,如何復制5行,刪除10行,查找jingfeng的字符、把jingfeng替換為jfedu.net

答:
末行:G
首行:gg
行首:^(Shift+6)
行尾:$(Shift+4)
光標下插入一行: o
復制5行:5yy
刪除10行:10dd
替換::%s/jingfeng/jfedu.net/g

4.查找linux系統下以txt結尾,30天沒有修改的文件大小大於20K同時具有執行權限的文件並備份到/data/backup/目錄下。

答:
find / -name *txt -mtime +30 -type f -size +20k -perm a=x -exec cp {} /data/backup/ \;

5.當前test.txt所屬的用戶為root,組為abc,請將test.txt使擁有者為abc,組為root,寫出命令。

答:
chown abc:root test.txt

6.如何修改Linux啟動級別為字符模式並永久生效,如何臨時、永久關閉selinux及防火墻,請分別寫出操作方法。

答:
更改字符模式:修改/etc/inittab一行為 id:3:initdefault:
臨時關閉selinnux setenforce 0
臨時關閉防火墻 iptables -F
永久關閉selinux 修改/etc/selinux/config一行為 SELINUX=permissive
永久關閉防火墻 iptables -F;/etc/init.d/iptables save

7.每次開機在/tmp目錄下創建一個當天的日期文件夾(提示:當前日期表示的方法為:`date +%Y%m%d`)

答:
echo "mkdir /tmp/`date +%Y%m%d`" >> /etc/rc.d/rc.local

8.如何查看文件內容,命令有哪些?查看文件第1行到3行,查看文件最後一行。

答:
查看文件內容:vim、catheadtail
查看第1到行:head -3 file
查看最後一行:tail -1 file

9.查看linux服務器IP的命令,同時只顯示包含ip所在的行打印出來。

答:
以eth0為例
只打印所在的行:ifconfig eth0 | grep "inet addr:"
只打印ip:ifconfig eth0 | grep "inet addr:"|awk -F: {print $2}|awk -F  {print $1}

10.將普通用戶test加入root組的命令是?

答:
usermod -G root test

三、Linux磁盤及軟件管理操作

1、如何添加一塊新的50G硬盤到linux服務器系統作為單獨的分區,並正在使用?需要哪些操作步驟?

答:
a、把硬盤放進服務器並連接
b、建立硬盤分區(通過fdisk命令)
c、格式化分區
d、掛載分區(可寫入到/etc/fatab中,重啟自動掛載)

2.有個金士頓U盤,需要往服務器/var/www/html/目錄下上傳一個index.html文件,如何操作並完成。

答:
a、把U盤掛載到服務器上(需要安裝ntfs-3g),拷貝index.html到/var/www/html/
b、把U盤鏈接到Windows下,通過遠程連接服務器,遠程拷貝

3.有一塊移動硬盤,上面有300G數據,如何快速cp到linux服務器?

答:
假設硬盤在服務器上識別為 sdbc
mkdir /mydata
mount -t ntfs-3g /dev/sdbc /mydata
(可能需要安裝ntfs-3g_ntfsprogs)

4.光盤裏面有一個httpd-2.2.15.xx.rpm包,如何掛載並安裝呢?

答:
a、掛載光盤到/mnt下(mount /dev/cdrom /mnt)
b、安裝(rpm -ivh /mnt/Packages/httpd-2.2.15.xx.rpm)

5.使用rpm命令安裝、卸載、更新ntp-0.7.12.x86_64.rpm這個軟包。

答:
安裝 rpm -ivh ntp-0.7.12.x86_64.rpm
卸載 rpm -e ntp --nodeps
更新 rpm -Uvh ntp-0.7.12.x86_64.rpm

6./var/www/html/是網站的發布目錄,如何每天淩晨0點30對其進行自動備份,寫出操作步驟?

答:
a、crontab -e 進入編輯模式
b、添加以下內容 30 0 * * * /bin/tar -czf /backup/web_bak_$(date +\%Y\%m\%d).tar.gz /var/www/html > /dev/null 2>&1
c、啟動服務 service crontab start;chkconfig crontab on

7.使用tar命令打包並壓縮/root目錄,然後移動到/tmp下,將其權限設置其他人只讀。

答:
tar -czf /tmp/root_bak.tar.gz /root
chmod o=r /tmp/root_bak.tar.gz

8.Yum命令與rpm命令的區別?如何使用rpm安裝一個有依賴的包?

答:
rpm一般用於安裝本地的包,yum一般用於在線安裝(也可以本地光盤建立yum源)
最大的區別在於yum可以自動安裝所依賴的包(不包含環境)
加"--nodeps"選項 如:rpm -ivh **.rpm --nodeps

9.在這個月內,每天的早上 6 點到 12 點中,每隔 2 小時創建一個test.txt文件,內容為ok,如何實現?

答:
a、crontab -e 進入編輯模式
b、添加以下內容 0 6-12/2 * 4 * /bin/echo "ok" > test.txt (以4月為例)
c、啟動服務 service crontab start;chkconfig crontab on

10.將/usr/local/test目錄下大於100K 的文件轉移到/tmp 目錄下。

答:
find /usr/local/test -type f -size +100k -exec mv {} /tmp \;

11.簡述 raid0 raid1 raid5三種工作模式的工作原理及特點。

答:
raid 0 數量 >=2 磁盤利用率 100% hot-spare 無 優點 讀寫性能高 缺點 沒有容錯能力
數據分散寫入不同磁盤,不提供冗余,不能擴容,任何一個盤壞掉,數據全部丟失。適用於對性能要求高,但對數據的安全不太在乎的領域。
raid 1 數量 >=2 磁盤利用率 50% Hot-spare 有 優點 提供數據冗余,安全性高 缺點 浪費磁盤空間
適用於對數據安全性高的場所,一般為2塊盤,空間為最小的盤的空間,如果有4塊盤,其中3塊空間都是浪費(做鏡像冗余)只要有一塊盤存在,數據就不會丟失.
raid 5 數量 >=3 磁盤利用率 (n-1)/n hot-spare 有 優點 有容錯,可冗余,讀取性能高 缺點 寫性能低
raid5相當於raid0和raid1的折中方案
應用服務器(像apache) 做 raid 1 兩塊硬盤
數據服務器(像Mysql) 做 raid 10 四塊硬盤

12.如何查看占用端口 8080 的進程。

答:
netstat -anlp | grep 8080
lsof -i:8080

四、Linux服務配置及管理

1.請寫出 apache2.X 版本的兩種工作模式,以及各自工作原理。如何查看apache 當前所支持的模塊,並且查看是工作在哪種模式下?

答:
apache有兩種工作模式,一種為prefork模式,另一種為 work模式
prefork:一個進程僅有一個線程接待一個訪問請求,穩定性高,一個進程崩潰後不影響其它進程,但是占用內存較多,對硬件要求高。
work:一個進程具有多個線程,並分別響應訪問請求,占用內存小,但是一個進程崩潰會影響其它請求
查看支持模塊:httpd -l
查看工作模式:httpd -V

2.Linux下nfs在客戶端無法掛載,請寫出排查步驟?

答:
a、檢查是否是防火墻或selinux的影響
b、檢查語法與服務器地址是否錯誤(只能掛載目錄,不能掛載文件)
c、在服務端檢查配置文件是否正確及客戶端是否有權限訪問

3.Linux下已經部署了dhcp服務器,客戶端無法獲取的IP,如何解決?

答:
a、重啟客戶端網絡服務,IP改為自動獲取
b、檢查客戶端是否與服務器在同一網絡內
c、檢查服務器相關配置,並查看日誌

4.常見的FTP軟件有哪些?Linux最常用的是?如何共享一個資源讓他人使用用戶名和密碼訪問?

答:
a、常見的FTP軟件有vsftpd、ProFTPD、PureFTPd和wuftpd等
b、linux最常用的為vsftpd
c、關閉匿名訪問,建立相關用戶

5.如何禁止FTP使用匿名用戶登錄?命令行如何訪問ftp服務器?

答:
關閉匿名訪問(anonymous_enable=NO)
ftp server_ip

6.ApacheWEB服務器的發布目錄在哪裏?

答:
a、yum安裝 默認為/var/www/html
b、源碼安裝 默認為/usr/local/apache/htdocs(加入安裝apache的時候,安裝路徑為/usr/local/apache)

7.MySQL服務器的用途是?Apache和mysql可以安裝在一臺機器嗎?如何查看apache和mysql端口和進程?

答:
a、Mysql服務器用於存儲一些數據
b、Apache和mysql可以安裝在一臺機器
c、查看端口 netstat -anlp |egrep ‘httpd|mysql’
查看進程 ps -aux | egrep httpd|mysql

8.如何在虛擬機上面部署4個網站,訪問的域名分別為www.a1.com test.a1.com www.a2.com test.a2.com?

答:
a、在httpd.conf中取消 Include conf/extra/httpd-vhosts.conf的註釋
b、在網站發布目錄建立四個目錄,mkdir web{1,2,3,4}
c、編輯httpd-vhosts.com,把<VirtualHost *:80>...</VirtualHost>內容復制四分,修改DocumentRoot等相關配置即可

9.假設 Apache 產生的日誌文件名為access_log,在 apache 正在運行時,執行命令 mv access_log access_log.bak,執行完後,請問新的 apache的日誌會打印到哪裏,為什麽?

答:
依舊會打印到access_log中(默認創建一個新文件),因為Apache的配置文件裏邊指定的為這個文件名,當沒有的時候會自動創建

10.我們都知道 FTP 協議有兩種工作模式,說說它們的大概的一個工作流程?

答:
FTP有兩種工作模式:
FTP主動模式:客戶端從一個任意的非特權端口N(N>1024)連接到FTP服務器的port 21命令端口。然後客戶端開始監聽端口N+1,並發送FTP命令“port N+1”到FTP服務器。接著服務器會從它自己的數據端口(20)連接到客戶端指定的數據端口(N+1)。
FTP被動模式:客戶端從一個任意的非特權端口N(N>1024)連接到FTP服務器的port 21命令端口。然後客戶端開始監聽端口N+1,同時客戶端提交 PASV命令。服務器會開啟一個任意的非特權端口(P >1024),
並發送PORT P命令給客戶端。然後客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。

11.Linux內核引導時,從哪個文件中讀取要加載的文件系統。

答:
從/etc/fstab

12.寫出下面服務的常用端口ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服務。

答:
服務(端口號) ftp(2021)、http(80)、dns(53)、snmp(161)、pop3(110)、dhcp(67 68)、nfs(111)、mysql(3306)、samba(137 138 139)

13.Mysql創建數據庫的命令,創建表的命令,插入語句的命令?

答:
創建數據庫 create database jacken;
創建表 use jacken; create table jacken(name varchar(20),age int(10),love varchar(20));
插入語句 insert into jacken_1(name,age,love) values(tom,2,reading);

14.Mysql備份命令?Mysql如何對jfedu用戶授權訪問,密碼為jfedu.net,請寫出命令?

答:
mysql備份mysqldump -h localhost -u root -p jacken > /data/jacken.db
授權:mysql> grant all privileges on *.* to jfedu@localhost identified by "jfedu.net";

15.Mysql忘記密碼該如何操作呢?

答:
停止mysql服務,編輯/etc/my.cnf,在mysqld選項中加一行 --skip-grant-start保存後啟動mysql,此時無需密碼。
進去之後執行
mysql> use mysql; 
mysql> update user set password=password(newpass) where user=root;
mysql> flush privileges;
在/etc/my.cnf中註釋--skip-grant-start這行,重啟服務即可

運維題目(七)