You are on page 1of 13

【加慶科技】 - Linux 系統管理

目 錄
一、開機/關機管理(LILO 設定,製作開機磁片,開機/關機 SCRIPT 維護).......................................................................2

A、LILO 設定..........................................................................................................................................................................2
B、製作開機片........................................................................................................................................................................2
C、開關機 SCRIPT 管理............................................................................................................................................................3

二、系統管理(QUOTA 管理、檔案系使用者設定統、使用者設定)。.................................................................................4

A、使用者管理........................................................................................................................................................................4
B、進階檔案系統管理............................................................................................................................................................4
C、QUOTA 介紹........................................................................................................................................................................6
D、如何設定 QUOTA ?.............................................................................................................................................................6

三、資料備份管理(資料備份與還原,設定備份時程。)........................................................................................................8

A、CRONTAB 自動執行設定...................................................................................................................................................8
B、TAR (TAPE ARCHIVE) 傳統式資料備援.............................................................................................................................9
C、RSYNC 快速資料備援.........................................................................................................................................................9

四、核心(核心設定、編譯、升級、修補。)..........................................................................................................................10

五、程序(PROCESS)管理(行程執行優先權設定,啟動與結束).........................................................................................11

A、PROCESS 程序管理...........................................................................................................................................................11
B、JOB (工作處理方式).........................................................................................................................................................12
C、常用的信號:.....................................................................................................................................................................12
D、行程執行優先權設定......................................................................................................................................................12

四、RPM 管理(RPM 概念,安裝、移除、升級套件)..........................................................................................................12

A、概念..................................................................................................................................................................................12
B、操作方式:......................................................................................................................................................................12

第1頁
【加慶科技】 - Linux 系統管理

一、開機/關機管理(LILO 設定,製作開機磁片,開機/關機 Script 維護)


A、LILO 設定
目前在 RedHat 7.3 Linux 系統上的新用戶大多會以 Grub 開機管理程式來作為預設環境, 但大部分的舊系統還是使用
lilo 來做為開機程式,相同的 Lilo 可以做多重開機,讓你去管理其它的作業系統,並可以在開機時對你的 Linux 系
統做一些週邊環境上的設定。

lilo 設定說明(linux、dos、win98 共存,建議你先裝 dos -> win9X -> Linux)


boot=/dev/hda //這裡是將 lilo 安裝在 MBR 上
map=/boot/map
install=/boot/boot.b
prompt
default=linux //預設開機的系統為 linux
timeout=30 //開機等待的時間

image=/boot/vmlinuz-2.2.5-15CLE //啟動用的核心文件
label=linux //lilo 啟動選項的名稱
root=/dev/hda5 //指定根目錄(root)所在位置

other=/dev/hda1 //作業系統存放位置
label=dos
table=/dev/hda //Linux 系統存放分區的位置(可省略)

other=/dev/hda2
label=win98
table=/dev/hda

設定完 lilo.conf 後需要執行 lilo 程式,將開機程式更新!!


如果您有其他可以取代 lilo 或是 grub 的開機管理程式您可以執行 lilo –u 將 lilo 從 MBR(Master Boot Record)移除。
Lilo 開機程式也可以與 grub 相互替換使用只要重新執行 grub-install /dev/sda 就可將 grub 重新的安裝到 /dev/hda

B、製作安裝開機片/自動(網路)安裝設定
通常安裝新的 Linux 作業系統的可利用光碟機本身的開機功能來進行安裝,但是如果您想以自動安裝(KickStart)
模式來進行安裝或是遇上無法開機的光碟機則必須要建立開機片。 您可以在 DOS/Windows/Linux 下進行此一工
作.
首先將 boot.img 或 網路開機片 bootnet.img 複製到工作的目錄。
DOS Windows Linux
從第一片 CD 執行
從第一片 CD 執行
/dosutils/rawritewin/rawritewin dd if=boot.img of=/dev/fd0 bs=1440k
/dosutils/rawrite.exe
選擇 Image File boot.img

自動安裝程序設定 Kickstart Configurator 啟動請執行 /usr/sbin/ksconfig

1. Language selection 2. Mouse configuration 3. Keyboard selection 4. Boot loader


installation 5. Disk partitioning 6. Network configuration 7. NIS, LDAP, Kerberos,
Hesiod, and Samba authentication 8. Firewall configuration 9. Package selection 10. X
Window System configuration
在設定完成後請將檔案 KS.CFG 存在安裝開機片中
C、製作系統開機片
為什麼要製作 Linux 開機磁片呢?
因為它可以測試一個新的核心、從磁碟錯誤中復原、修復一個癱瘓的系統、安全地升級共用的系統檔案。

目前可以製作開機片的方法有:

第2頁
【加慶科技】 - Linux 系統管理

1. 使用發行套件像是 RedHat 所提供的。


2. 使用救援套件來製作救援磁片。
3. 學習每一種 Linux 系統運作時所需的要檔案,然後自行製作。

這裏我們教大家在 Linux 下使用簡易的方法製作出開機片。

1. 使用 mkbootdisk 套件製作開機片
mkbootdisk --device 軟磁機 核心版本
例如:
mkbootdisk --device /dev/fd0 2.2.16-22

2. 首先將一片空白磁片格式化
fdformat /dev/fd0

接著將你的核心拷貝到軟碟中
cp /boot/vmlinuz /dev/fd0

找出 root 的路徑
rdev

設定軟磁開機後 root 的路徑


rdev /dev/fd0 /dev/hda1

將開機片的根目錄設為唯讀
rdev -R /dev/fd0 1

3. 使用開機映像檔製作開機片
dd if=映像檔名 of=軟碟機 bs=軟碟大小
例如:
dd if=boot.img of=/dev/fd0 bs=1440k

C、開關機 script 管理
伺服器與工作站最大的差別在於伺服器的使用是在於長時間的開機,經常開關主機電源,反而容易造成主機壽命縮
短。不過在長時間開機使用後,重新啟動系統將有助於清除系統內殘留的垃圾, 並能確保檔案系統的一致性。

更改登入畫面:
將/etc/rc.d/rc.local 裏頭的下面部分 mark 起來
# echo "" > /etc/issue
# echo "$R" >> /etc/issue
# echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue
# cp -f /etc/issue /etc/issue.net

第3頁
【加慶科技】 - Linux 系統管理

# echo >> /etc/issue


接著修改/etc/issue 是給自己機器上的使用者看的檔
/etc/issue.net 是給連線上來的使用者看的

更改開機模式:
將/etc/inittab 裏頭的這一行數字部份做更改即可,3 為文字模式,5 是視窗模式
id:3:initdefault:

取消使用 Ctrl+Alt+Del 鍵重新開機:


將/etc/inittab 裏的這行 mark 起來
# ca::ctrlaltdel:/sbin/shutdown -t3 -r now

二、系統管理(Quota 管理、檔案系使用者設定統、使用者設定)。
A、使用者管理
usermod [-u uid [-o]] [-g group] [-G group,...] [-d home [-m]] [-s shell] [-c comment] [-l new_name]
[-f inactive] [-e expire ] [-p passwd] [-L|-U] name
設定用戶到期日: usermod –e 2001-4-16 denny
下次登入時 4-17 日畫面如下:
login: denny
Password:
Your account has expired; please contact your system administrator
User account has expired

設定使用者名稱, 辦公室電話: /usr/sbin/usermod –c denny_chuang, 2525-1662


更改後 finger 顯示:
Login: denny Name: dennyc_chuang
Directory: /home/denny Shell: /bin/bash
Office: 2525-1662
B、進階檔案系統管理
進階的檔案系統管理工作包含以下幾項
1. 讓使用者可使用本地及遠端的檔案資源
2. 監視並管理系統的磁碟資源
3. 設定良好的檔案及系統權限
4. 檢查並修復受損的檔案系統

1. 讓使用者可使用本地及遠端的檔案資源
利用fdisk建立適當的磁碟分割
fdisk -l /dev/had:顯示硬碟之實體使用情形。
fdisk /dev/had:分割硬碟模式
m help選單
p 顯示硬碟分割區

第4頁
【加慶科技】 - Linux 系統管理

a 設定硬碟啟動分割區
n 加入新的硬碟分割區
t 改變硬碟分割區屬性
d 刪除硬碟分割區
q 結束不儲存硬碟分割區
w 結束並寫入硬碟分割區

利用mount連接儲存裝置,umount卸除儲存裝置
mount –t type device directory
umount device 或 umount directory

維護/etc/fstab檔案
fstab檔案為設定系統中連接的儲存裝置及對應目錄名稱等資訊,檔案中有以下幾個欄位:
fs_spec: 實際 device
fs_file:對應目錄(mount point)
fs_vfstype:檔案系統,常見的有 minix、ext、ext2、msdos、iso9660、nfs、swap 等
fs_mntops:mount 時所需的參數
fs_freq:使用 dump 時是否記錄,0 不需要,1 需要記錄
fs_passno:開機執行 fsck 的順序

例:
裝置名稱 掛載點 型態 掛載選項 dump fsck
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /home ext2 defaults 1 2
/dev/hda6 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto sync, user,noauto 0 0
/dev/cdrom /mnt/cdrom auto user,noauto 0 0
None /proc proc defaults 0 0
None /dev/pts devpts mode=0622 0 0

檔案中一定有一個根目錄檔案系統的進入點,即為/dev/hda1。
使用者的家目錄在/dev/hda5裝置上,掛載至/home目錄中。
swap磁區並不會在檔案系統目錄中顯示,故不需要有掛載點。
軟碟(/dev/fd0)及光碟機(/dev/cdrom)分別掛載至/mnt/floppy及/mnt/cdrom中。
auto:自動判斷檔案型態
sync:將磁碟與緩衝區內容同步化(syncronize)
noauto:於開機時掛載。
user:允許使用者自行掛載或移除檔案系統
/proc為一虛擬的檔案系統,記錄行程的資訊,並不使用者任何裝置,亦不佔磁碟空間
/dev/pts為一虛擬的檔案系統,用以設定虛擬的裝置

第5頁
【加慶科技】 - Linux 系統管理

完整的設定/etc/fstab檔案,可以簡化掛載的程序,此時你可以鍵入 mount /mnt/floppy 或 mount /dev/fd0 即可自動


掛上軟碟。

監視並管理系統的磁碟資源
df [選項][FILE]:顯示目前磁碟資源使用情形
-a 顯示所有的檔案系統
-h 使用易於讀取的格式
-k 以1k的區塊為顯示單位
-m 以1 mega的區塊為顯示單位
C、Quota 介紹
quota 讓你可以限制使用者使用的磁碟空間(區塊數量),或是檔案數量(inode數量)。quota是以每一個檔案系統為單
位,所以若你要管理一個以上的檔案系統,必需在每一個檔案系統都進行設定才可完整運作。管理的對象可分為
user或group,針對某一個使用者或某一群組設定磁碟的使用限制。

以下為使用quota的步驟:
1.修改 /etc/fstab

在要管理的檔案系統上,在第四欄中加上usrquota,grpquota。如:

/dev/hda1 / ext2 defaults 1 1


/dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1\

在有限的硬碟空間內我們必須要有有一套管理磁碟空間配置的系統來限制每個人硬碟使用量以及檔案數目的觀念,
也就是以下要為您介紹的 Quota

設定 /etc/fstab quota 選項格式內容:

# more /etc/fstab
分割區設備 掛入點 檔案系統種類 選項 dump fsch 檢查碼
/dev/hda6 / ext2 exec,dev,suid,rw,usrquota,grpquota 1 1
/dev/hda7 Swap swap defaults 00
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 00
none /proc proc defaults 00
none /dev/pts devpts mode=0622 00
在選項部份, 要是出現 usrquota,grpquota 表示該檔案系統 Quota 的功能已經打開了!

此時, 會在檔案系統的根目錄中產生 quota.user 及 quota.group, 分別用來記錄使用者及群組的 Quota 資料.

D、如何設定 Quota ?

1. 打開該檔案系統的 Quota

第6頁
【加慶科技】 - Linux 系統管理

方法 : Linuxconf -> File systems -> Access local drive -> 選擇檔案系統之後, 按 Enter -> 將 General options 中的 User
quota 及 Group quota 給它 enabled (按空白鍵可切換)

2. 設定每位使用者預設的配額大小

方法 : Linuxconf -> File systems -> Set quota defaults -> 編輯 User 預設值及 Group 預設值的大小.

要設定的種類有三種:

Disk space(磁碟空間): 以 k 為單位, 如輸入 8000 表示 8MB


Files (Inode 的數量): 如輸入 4000, 表示 4000 個 inode.
grace period (超過數量時的寬限日期): 預設是 7 天, 這個通常不必改變.
3. 相關指令

quotacheck -avug

作用: 檢查檔案系統的 Quota

a : 掃瞄全部的磁碟
v : 顯示掃瞄過程
u : 掃瞄使用者的檔案及目錄
g : 掃瞄群組的檔案及目錄

quota -v 使用者帳號

作用: 顯示某位使用的 Quota 情形

[root@hacker /root]# quota -v testq


Disk quotas for user testq (uid 501):
Filesystem blocks quota limit grace files quota limit grace
/dev/hda7 8 8000 10000 8 4000 5000

edquota -u 使用者帳號

作用: 手動編輯使用者的 Quota 用量

執行此一指令之後, 將會進入 vi 中, 並出現以下畫面:


Quotas for user testq:
/dev/hda7: blocks in use: 8, limits (soft = 8000, hard = 10000)

第7頁
【加慶科技】 - Linux 系統管理

inodes in use: 8, limits (soft = 4000, hard = 5000)


edquota -g 群組名稱

作用 : 同上, 但針對整個群組來設定

Quotas for group testq:


/dev/hda7: blocks in use: 8, limits (soft = 0, hard = 0)
inodes in use: 8, limits (soft = 0, hard = 0)

edquota -t

作用 : 設定寬限日期

Time units may be: days, hours, minutes, or seconds


Grace period before enforcing soft limits for users:
/dev/hda7: block grace period: 7 days, file grace period: 7 days

edquota -p 樣本 -u 使用者
edquota -p 樣本 -g 群組

作用 : 將樣本之人的 Quota 用量拷貝給使用者 (或群組)

例: edquota -p ols3 -u testq

就是將 ols3 的 Quota 用量限制資料, 拷貝給 testq


換言之, 就是將 testq 的 Quota 用量, 設成和 ols3 一樣啦!

所謂 soft 就是初步的限制, hard 就是最後的限制. 當你超過 soft 的限制時, 系統會警告您在預設的寬限期內將用量減


少至規定以下, 但這段期間您仍然可以使用, 但最多就是不能超過 hard 的限制.

三、資料備份管理(資料備份與還原,設定備份時程。)
A、Crontab 自動執行設定
Crontab 可用來設定一系統的備份行程,例如:每天清晨兩點五十五分自動備份 backup.tgz 至 zip 目錄,請輸入

#crontab -u root -e(以 root 身分自動執行),再於 crontab 裡輸入:(以 vi 做編輯)


55 2 * * * cp /backup.tgz /mnt/zip
ABCDEFG

A:分 ;在小時內的第?分的執行 crontab 裡的命令


B:時 ;在一天內的第?時的執行 crontab 裡的命令
C:天 ;在一週內的第?天的執行 crontab 裡的命令

第8頁
【加慶科技】 - Linux 系統管理

D:週 ;在一月內的第?週的執行 crontab 裡的命令


E:月 ;在一年內的第?月的執行 crontab 裡的命令
F:所要執行的命令 ;以絕對路徑撰寫
G:所要執行命令的參數

B、Tar (Tape Archive) 傳統式資料備援

通常磁帶機會用在比較大型的資訊中心。 如果是少許的檔案 250MB 以內建議您使用 Iomega Zip 磁碟機來做備份。


Tar 本身的名字就可想像到當初設計時的用意,但是現在被普遍用來將系統檔案進行打包。.可進行壓縮及解壓縮,

以下範例假設/dev/st0 是一台 SCSI Tape:

tar cMpf /dev/st0 /home

Prepare volume #2 for /dev/st0 and hit return:


備份完成後可使用 --compare –d 來比較檢查:
[root@localhost] /# tar dvf /dev/st0
您可以用下列指令將系統的根目錄作一完整備份:
[root@localhosf] /# tar cpf /archive/full-backup-`date '+%d-%B-%Y'`.tar \
--directory / --exclude=proc --exclude=mnt --exclude=archive \
--exclude=cache --exclude=*/lost+found .

磁帶機控制方式 (參考 man mt)


mt -f /dev/st0 rewind // 將磁帶回轉
mt -f /dev/st0 offline // 將磁帶跳出

C、rsync 快速資料備援
Rsync 是一個類似 ftp 的檔案傳輸工具。 他的特色是檔案傳輸時部可減少頻寬浪費,當再次傳輸檔案時 rsync 會自動
修正檔案之差異性,因此可快速的為您更新遠端資料。 要使用 rsync 來傳輸您必須要設定一方為主機執行 rsync –
daemon 或是預設在 inetd.conf 下面。 以下是快速入門之設定及使用方式:
Rsync (請參考原始網 http://rsync.samba.org)
主機設定 /etc/rsyncd.conf
uid = nobody
gid = nobody
motd file = /etc/rsyncd.motd //
use chroot = no
hosts allow = 210.243.165.66/32 127.0.0.1/32 // 在這理只有開放兩組 IP
max connections = 4
syslog facility = local5

第9頁
【加慶科技】 - Linux 系統管理

pid file = /etc/rsyncd.pid

[ftp]
path = /home/ftp
comment = whole ftp area (approx 6.1 GB)

[cvs]
path = /data/cvs
comment = CVS repository (requires authentication)
auth users = tridge, susan
secrets file = /etc/rsyncd.secrets

rsync rsync://localhost 或 rsync localhost:: // 列出 localhost 之 rsync 目錄


rsync vista.com.tw::ftp –av // 列出目錄之檔案明細
receiving file list ... done
drwxr-xr-x 4096 2001/04/16 02:55:04 .
-rw-r--r-- 10 2001/04/16 02:55:04 readme.txt
wrote 63 bytes read 84 bytes 7.17 bytes/sec
total size is 10 speedup is 0.07

rsync -avz vista.com.tw::ftp/readme.txt ./ // 將 ftp/readme.txt 檔案傳輸到 目前目錄


***********************
Welcome to Rsync
***********************

receiving file list ... done


readme.txt
wrote 91 bytes read 192 bytes 13.16 bytes/sec
total size is 10 speedup is 0.04

四、核心(核心設定、編譯、升級、修補。)
核心管理
一般而言,除非提升核心版本,新增加伺服器的硬體設備或服務,核心並不會時常更動。核心在調整完畢後,一定
需要經過編譯,安裝,重新啟動,才能正式在伺服器中運作。
核心版本的提昇除了重新下載新版核心程式更新版本外,亦可利用修補的方式達到。修補主要是在同一版本中進行,
如果要提昇至不同的版本,例如 2.3.x 提昇至 2.4.x,則必須重新下載核心程式才能進行。
1.直接更新新版核心原始檔:
可至 linux.kernel.org 或 www.redhat.com 下載核心原始檔。

第10頁
【加慶科技】 - Linux 系統管理

2.修補核心原始檔:
這種方式需要新版本與舊版本之間的所有版本來修補。例如:由 2.2.12 升級至 2.2.15,你必須下載 patch-
2.2.13、patch-2.2.14 及 patch-2.2.15,並逐一修補。
#首先將 patch file 複製至/usr/src 中
#cd /usr/src
#gzip -cd patch-2.2.13.gz | patch -p0
#gzip -cd patch-2.2.14.gz | patch -p0
#gzip -cd patch-2.2.15.gz | patch -p0

由第一或第二種方法,都可以得到一個新的核心原始程式,接下來則是設定、編譯並安裝核心。
make mrproper //清除不穩定的目的檔(.o object file)
make menuconfig //利用清單方式設定核心
make dep && make clean && make zImage && make modules && make modules_install //產生相依性檔案,編譯檔案、
模組,安裝模組
更新核心檔至 /boot 中,更新 system.map
編輯 lilo.conf,執行 lilo 重新安裝

五、程序(Process)管理(行程執行優先權設定,啟動與結束)
A、process 程序管理
一個正在執行的程式. 一個可執行檔可以產生好幾個 processes. 例如一個使用者可以同時開啟好幾個 telnet 視窗, 每個
視窗都是一個獨立執行的 process, 但是它們共用 /bin/bash 這一個可執行檔.
 每個 process 都有一個識別代號 pid (process identification).
 每個 process 都有一個 parent, 當初這個 process 之所以會產生,
就是由它的 parent process 分出來的. 從一個 process 分出另一個 process 的步驟叫做 fork, 可以想成是無性生殖.
但是生出一個與原 process 一模一樣的東西有什麼用呢? 通常 child process 馬上會變身 (exec) 成為另外一個應用程式.
terminal 或稱 tty (終端機): 大約可以這樣理解: 每個文字視窗就是一個 tty
ps l 指令結果各重要欄位意義:
STAT: 狀態, S (休眠), R (正在跑), I (閑置), T(凍結)
UID: 這個 process 以那個使用者的名義在執行?
PID: Process IDentification #, 程序的編號.
PPID: Parent Process IDentification #, 父程序的編號.
TTY: 使用的控制終端機.
TIME: 使用了幾秒鐘的 CPU 時間
COMMAND: 先前是甚麼樣的命令產生這個程序的?
ps 指令常用的參數:
a: 不只使用者自己的, 連別人的程序也顯示出來.
u: 對每個程序多顯示 "USER" 這個欄位.
x: 不只有控制台的, 連沒有控制台機的程序也顯示出來.
w: 不要把後面切掉啦!
v, m: 多一些記憶體使用狀況報告

第11頁
【加慶科技】 - Linux 系統管理

B、job (工作處理方式)
控制程序執行的一些方法:
用 & 把程序丟到背景去執行
用 ^C 把執行到一半的前景程序打斷 (無法恢復)
用 ^Z 把執行到一半的前景程序暫停
jobs: 看看這個控制台有那些暫停或在背景執行的程序
fg %數字: 把某個暫停的程序放到前景來執行
bg %數字: 把某個暫停的程序放到背景去執行 (和當初直接用 & 的效果相同)
送信號給正在執行的程式: kill -TERM pid1 pid2 ...
C、常用的信號:
TERM (kill 命令的內定值): 警告性地通知程序該中斷了. 寫得好的程式會自己 "清場"
STOP: 凍結 (正在背景執行的) 程序.
CONT: 把原本被凍結的程序解凍, 丟到背景繼續執行.
KILL: 強迫中斷程式, 大部分頑強的程序都會被中斷.
HUP: 通常用來強迫 demon 類程序重新讀它的設定檔 (組態檔)
其他詳見 signal(7) 手冊.
D、行程執行優先權設定
當一個 process 需要大量 CPU 時間來運作時,其它工作行程可利用 nice 和 renice 來分配優先權利

四、RPM 管理(Rpm 概念,安裝、移除、升級套件)


A、概念
RPM 是 RedHat Package Manager 之縮寫。我們透過 rpm 的管理,可以將某個軟體的 source code,重新整理後包裝成
另一種 source 與 binary 的檔案型式,這樣子,對於 binary 型式的檔案,我們就可以輕鬆進行安裝與追蹤管理,而
source 型式的檔案,也可以很方便地重新整理包裝起來。另外,RPM 也儲存了一份資料,裡頭包含了套件裏所有的
程式的資料,透過這份資料,我們可以進行套件程式的確認與查詢。RPM 具有相當的彈性,且操作簡單,並提供系
統相當大的擴充發展基礎,另外,它的版權宣告是 GPL,因此大家可以自由地使用及傳播 RPM 程式。

B、操作方式:
安裝:
rpm -i bash-2.04-11.i386.rpm

移除:
rpm -e bash-2.0.4-11

升級:
rpm -U bash-2.0.4-11

查尋系統安裝的 RPM 套件
rpm -qa

獲得 RPM 檔相關資訊:

第12頁
【加慶科技】 - Linux 系統管理

rpm -qpil bash-2.0.4-11.i386.rpm

查尋檔案隸屬於哪個套件:
rpm -qf bash

第13頁

You might also like