Linux 系統操作上,至少需要瞭解帳號管理、檔案屬性與權限、程序與資源管理、硬體如硬碟之掛載與軟體套件之安裝如RPM套件管理員等等,而
vi 與 Shell 亦是不可忽略之基本技能,更重要者,日誌的管理以及系統服務的原理(如
stand alone 與 super deamon 服務啟動的方式差異等)亦需同時釐清,以方便未來架設網站時除錯的技巧;
在網路的基礎知識上,TCP/IP 的觀念以及路由的概念相當的重要,此外,DNS
的概念也很重要。
在心態的調整上面,系統管理員需要的道德感以及使命感需要較高的標準。
如果我有一顆硬碟在 A 主機上面安裝了 Linux 之後,拿到另一台配備相同的 B
主機上面去進行開機,結果竟然無法順利開機,您認為可能的原因是什麼?
由於配備相同,所以排除硬體的問題,不過,考慮到
IDE 排線與 partition 的代號,以及 /etc/fstab 的對應,所以應該是由於 IDE
插槽放置錯誤所致(Linux 系統下,每個 IDE 插槽對應的 partition 名稱皆不相同喔!)。此外,上次不正常關機也可能造成硬碟損害而無法開機成功!
一般來說,在 Linux 系統上,使用者預設的家目錄在那個目錄下?另外,新增一個使用者時,該使用者預設的家目錄內容來自那個目錄下?
使用 tar 解開 httpd-2.0.52.tar.gz 之後,務必進入該目錄內讀取
REAME 或/與 INSTALL 檔案,以瞭解是否還需要其他的相關套件的搭配安裝;
以 ./configure --help 查閱一下是否有相關可以加入或者取消的編譯內容;
使用 make 讀取 Makefile 來編譯程式;
使用 make install 來安裝程式!
我以原始碼的方式進行一個套件的安裝,但是在分析系統的時候,分析程式一直告訴我找不到
cc 這個指令,請問這是什麼問題?為何需要 cc ?又,我該如何解決這個問題,好讓套件可以順利的被安裝在我的
Linux 上面?
如前面幾個題目所說的,因為是原始碼,所以還需要編譯程式來將該原始碼編譯成為可以在您的
Linux 系統上面跑的 binary 檔案,在 Linux 上頭預設的編譯程式就是 gcc 這個編譯器(compiler)。如果您在安裝
Linux 的時候,使用 Linux Installer 預設的套件選擇,那通常會沒有安裝 gcc
以及 make 等套件,此時,請拿出您的原版光碟,以 mount 指令掛載後,使用 RPM
將一個一個相關的套件安裝即可(過程會蠻複雜的!)^_^
我發現我的 Linux 系統怪怪的,似乎有什麼不知名的程序在記憶體當中跑,我該如何將這個不知名的程序捉出來,並且將他移除?
如果要捉出程序(process)的話,可以使用 ps -aux
或者是直接輸入 top 來查詢 process 的 ID (PID),找到 PID 號碼後,再以 kill
-9 PID 來刪除該程序即可。
在網路媒體上面,資料要傳輸時,必須知道下一個節點的位址才能順利傳送,這個節點的位址如網路卡的硬體位址就是
MAC 了。硬體位址是在網路卡出廠時就已經銲死在上面了(某些筆記型電腦的 MAC
則可以經由特殊軟體修改),而軟體位址,則是我們常說的 IP ,這兩個並不相同喔!其中,MAC
與 IP 互相的對應則是以 ARP Table 來進行轉譯的!
ARP Tables 主要在對應 IP 與 MAC ,當主機要將資料封包送出到下個節點時,必須要知道下個節點的
MAC 才能傳送,而如果不知道 MAC 時,就得需要使用邏輯廣播來查詢 IP 與 MAC
的對應才行。不過,當您的主機內部的 ARP table 已經記錄了 IP 對應的 MAC 之後,那麼該資料封包則可以立即傳送到下個節點去,而不需要再次的進行邏輯廣播了。要知道目前的
arp table 內有多少紀錄,可以使用 『 arp -a 』來查詢。
三向交握為較為可靠的封包傳輸的一種確認方式,因此只有
TCP 封包才能具有三向交握。他利用(1) client 對 Server 主動連線時帶有的 SYN
標誌,(2)Server 回應時的 SYN/ACK 及(3)最終 Client 確認的 ACK 標誌來確認封包的可靠性。更詳細說明請參考第二章
TCP 與三向交握。
請問 stand alone 與 super daemon 各是什麼?
Linux 系統的服務有獨立啟動(stand alone)及超級服務員(super
daemon)兩種啟動的方式。掛在 super daemon 底下的服務可以經由 super daemon
的控管,以加強一些安全功能,不過由於還要經過 super daemon 的管理,所以服務的連接速度上會比
stand alone 慢一點。詳細的說明請參考『鳥哥的
Linux 私房菜 -- 基礎學習篇』第二十一章『認識系統服務』內的相關說明吧!
可能由於主機重新開機過, public key 改變了,請修改您的
~/ssh/known_hosts 裡面的主機 IP ;
可能由於 /etc/ssh/sshd_config 裡面的設定問題,導致您這個使用者無法使用;
在 /etc/passwd 裡面,您的 user 不具有可以登入的 shell
;
其他因素(如帳號密碼過期等等)
既然 ssh 是比較安全的資料封包傳送方式,那麼我就可以在 Internet 上面開放我的
Linux 主機的 SSH 服務了嗎?!請說明您選擇的答案的原因!
最好不要對 Internet 開放您的 SSH 服務,因為 SSH
的加密函式庫使用的是 openssl ,一般 Linux distribution 使用的 SSH 則是
openssh ,這兩個套件事實上仍有不少的漏洞被發佈過,因此,最好不要對 Internet
開放,畢竟 SSH 對於主機的使用權限是很高的!
若我的 sendmail 主機有很多名稱,我想讓這些名稱都可以進行
mail 的接收,應該修改什麼檔案?
可以修改 /etc/mail/local-host-names 來達成!
什麼是 Open Relay?
所謂的 Open Relay 就是,不論發信端來自何處,您的
Open Relay 的主機均可以幫發信端將信件發送出去,這個稱為 Open Relay 。如果您的
mail server 具有 open relay 的情況,那麼很容易遭受到垃圾郵件的填充,不但造成網路頻寬的耗損,也容易讓您的主機被列入黑名單當中!
我的 Linux 主機本來放置在日本東京,現在想將他拿到台灣來運作,不過因為日本與台灣有一個小時的時差,所以我的時間應該需要經過調整才行。不過,因為我的
BIOS Time 主要是依據 UTC 時間來設定的,所以似乎只要更動時區參數即可。請問我該如何設定時區,好讓我的
Linux 主機能夠顯示正確的時間?