close
Linux 禁止 [Ctrl]-[Alt]-[Delete] 重新啟動

要禁止 Linux 按下 [Ctrl]-[Alt]-[Delete] 重新啟動,可以修改 /etc/inittab 設定檔實現。巨體方法如下:

1. 開啟 /etc/inittab

2. 找出以下一行:

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

3. 將這一行刪除,或者在這一行最開端加上 # 號。

4. 儲存檔案後重新啟動系統便會生效,如果不想重新啟動可以執行以下指令:

# init q
Linux 下 /proc 中的重要訊息

cat /proc/cpuinfo (顯示 CPU 資訊)
cat /proc/interrupts (中斷)
cat /proc/ioports (設備 IO Ports)
cat /proc/meminfo (記憶體資訊)
cat /proc/partitions (顯示所有 partitions)
cat /proc/pci (pci 設備資料)
cat /proc/swaps (顯示 Swap 資訊)
cat /proc/version (顯示 Linux 版本)
Linux 顯示目錄使用情況

在 Linux 下要檢查某個目錄的使用情況,那就是目錄內所有檔案及目錄的使用量,可以用 「du」 指令,它的原意為 「disk usage」。

如果想顯示目錄下的所有檔案及目錄,可以用 「-a」 或 「–all」 選擇;
要增加可讀性,即是以 KB, MB, GB 來顯示容量,可以用 「-h」 或 「–human-readable」

但如果一個目錄內的檔案有很多,在輸入 「du -ah dirname」 後所顯示的資訊十分多,這可以改用 「du -sh dirname」 來取代,這裡就只會直接回傳使用量。

p.s. 以上假設需要查詢的目錄是 dirname.
Ubuntu 7.10 兩個微調

轉用 gcin 輸入法
一直也不太喜歡用 SCIM,首先是 SCIM 不太穩定,而且它和 Firefox 有衝突,在 Ubuntu 7.10 轉用 gcin 也很簡單,只要輸入兩個指令便完成:
$ sudo apt-get install gcin
$ im-switch -s gcin

然後按 Ctrl + Alt + Backspace 組合鍵重新啟動 X 便完成了。

vi 的方向鍵及 backspace 鍵
在 Ubuntu 使用 vi 的 insert 模式時,按下方向鍵會出現 ABCD,而 backspace 鍵則不會刪除字符,解決方法是在 home directory 建立 .vimrc 檔案,並加入以下內容:

set nocompatible
set backspace=2
.htaccess 實用範例

以下是一些實用的 .htaccess 範例,可以不改動 php.ini 及 httpd.conf 便設定伺服器變數:

關閉 magic_quotes_gpc

# Only if you use PHP
<ifmodule mod_php4.c>
php_flag magic_quotes_gpc off
</ifmodule>

減少 Bandwidth 使用量

# Only if you use PHP
<ifmodule mod_php4.c>
php_value zlib.output_compression 16386
</ifmodule>

變更 scripts 副檔名

AddType application/x-httpd-php .php4

以上語句會將 .php4 當成 PHP 程式編譯。

禁止 .htaccess 開放瀏覽

<files file-name>
order allow,deny
deny from all
</files>

變更預設頁面

DirectoryIndex myhome.htm index.htm index.php

自訂錯誤頁面

ErrorDocument 403 /forbidden.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /servererror.html

開放/禁止瀏覽目錄

# 禁止
Options All -Indexes
# 開啟
Options +Indexes
在 Linux 變更多個檔案副檔名

假如想變改當前目錄下所有檔案的副檔名,可以用一個 loop 完成:
 
for old in *.php5; do mv $old `basename $old .php5`.php; done

 
上面指令會在當前目錄裡面搜索所有 ".php5" 副檔名的檔案,然後逐一用 mv 變更為 ".php" 副檔名。
頻寬監察工具 — iftop

iftop 是一個類似 top 的工具,但不是監察 CPU 的進程,而是監察網路卡,提供連接到本機的 IP 及流量的資料,例如每個連線所使用的流量等。

在 Debian / Ubuntu 可以輸入以下指令安裝:
sudo aptitude install iftop

Fedora / CentOS:
yum install iftop

安裝好 iftop 後,只要在指令模式輸入 iftop 便可以開啟。


關閉 Linux 的 IPv6 通訊協定

大多數的 Linux Distro 也將 IPv6 (Internet Protocol Version 6) 預設地開啟,但有時實際上不需要 IPv6 支援,如要關閉 IPv6 可用以下方法:

Debian / Ubuntu
1. 開啟 /etc/modprobe.d/aliases
2. 裡面有一行是 "alias net-pf-10 ipv6"
3. 將以上一行用以下兩行取代:
alias net-pf-10 off
alias ipv6 off

Red Hat
1. 開啟 /etc/modprobe.conf
2. 加入這一行:
alias net-pf-10 off

更改以上檔案後重新啟動系統,這時 IPv6 便會關閉。我在 Ubuntu 上關閉了 IPv6 後,發覺 DNS 的效能改善了,那就是一般上網時要 resolve ip 時回應得更快。

Ubuntu 安裝 MP3 Player

Amarok 是一個多媒體播放程式,支援 MP3 播放,在 Ubuntu 要安裝 amarok,先開啟終端機輸入:

sudo apt-get install amarok

完成後便可以在 Applications -> Sound & Video 裡面找到 amarok。

隱藏 Apache 及 PHP 版本

要將 Apache 及 PHP 的版本隱藏,可以用以下方法:

Apache:
開啟 httpd.conf,加入以下兩行:

ServerTokens ProductOnly
ServerSignature Off

PHP:
隱藏 PHP 版本就是隱藏 "X-Powered-By: PHP/5.1.2-1+b1" 這個,開啟 php.ini,加入:

expose_php = Off

完成以上兩個設定後,重新啟動 Apache 即可。

SSH 安全設定

SSH 伺服器的設定檔是 /etc/ssh/sshd_config,以下是一些 SSH 的安全配置:

1. SSH 預設會使用 Port 22,將它改成其他的埠號,找到:

Port 22 換成:

Port new_port

2. 禁止 root 直接登入,先要登入一般賬戶,再用 su 指令切換到 root,把 PermitRootlogin 設成 no:

PermitRootlogin no

3. 只給予特定用戶或群組登入 SSH,以下是准許 my_name 用戶及 my_group 群組登入:

AllowUsers my_name
AllowGroups my_group

4. 禁止使用空密碼登入:

PermitEmptyPasswords no

最後儲存檔案,並重新啟動 SSH 伺服器。


Linux 關閉 Ctrl-Alt-Delete 重啟

Linux 預設安裝下,當按 Ctrl-Alt-Delele 會重新啟動,對伺服器系統來說最好取消這個設定,要取消這個設定,可以這樣做:

1. 開啟 /etc/inittab

2. 尋找以下這行:

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

3. 在這行的最開端加上 "#" 以定義為註解。

# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
4. 儲存檔案後重新啟動電腦
透過 SSH 傳送檔案

在兩台主機間傳送檔案時,用 ftp 指令很方便,但另一個較為安全的做法是透過 SSH 來傳送,而且使用上十分簡單 ,只要使用 scp 指令則可。

假如你要把 /home/samtang/ 目錄下所有 .php 副檔名的檔案,傳送到主機 192.168.1.100 的 /var/www/ 下面,登入名稱是 user1,可以輸入:

scp /home/samtang/*.php user1@192.168.1.100:/var/www/

然後系統會詢問你連接密碼,輸入正確密碼後就可以傳送了,但當然用來傳送的帳號需要有合法權限在遠端目錄寫入資料。

重設忘記了的 Root 密碼

當忘記了 Linux 下面的 root 密碼時,可以用以下方法修復:

方法一:
1. 下次開機時,在 boot loader 將 ‘init=/bin/sh’ 加入到 kernel 的選項。
lilo: 在 prompt 輸入 ‘linux init=/bin/sh’
grub: 在正確的項目按 ‘e’ 進行編輯

2. 開機後用 passwd 指令更改 root 的密碼及重新開機即可。

方法二:
1. 使用 linux live-cd 開機,掛載儲存了 /etc/passwd 的分割區,如果不清楚是那一個,可以用 `fdisk -l` 查看分割區列表。假設你的分割區在第一個 IDE 裝置的第一個分割區,那便輸入:

mount /dev/hda1 /mnt
chroot /mnt

2. 最後與方法一相同,用 passwd 指令更改 root 的密碼及重新開機即可。

Ubuntu: 使 sudo 儲存密碼

在 Ubuntu 內預設要執行只有 root 才可執行的指令時,需要使用 sudo 或 gksudo。當第一次輸入了密碼後,便不用再輸入密碼,但如果需要打開好幾個 terminal,或者原先開啟的 terminal 已經關閉,就需要再次輸入。

如果作為伺服器,以上的密碼確認是密須的,但如果作為桌面使用,其實可以省卻這個麻煩,以下是具體方法:

打開 /etc/sudoers,將
Defaults !lecture,tty_tickets,!fqdn

改成
Defaults !lecture,!tty_tickets,!fqdn
Linux - 檢視指令的輸出變化

有些時候當需要將一個指令不斷執行,以觀看輸出結果時,這是一件相當累的事情,即使只需按 “上” 鍵執行前一道指令也需人手工件。

最近發現可以用 watch 來解決,watch 會不斷更新輸出結果,使用方法如下:

$watch “your-command”

這時 watch 就會用以預設值每隔 2 秒更新一次結果,如果需要更改更新時間,可以用 -d 選項,以下例子會每秒更新結果:

$watch -n1 “your-command”
在 Ubuntu 安裝 RPM 檔案

如果在 Ubuntu 想要安裝的軟件只提供 RPM 檔案,而沒有提供 debian 的 .deb 檔案,可以使用 Alien Package Converter 來解決。

Alien 是一個將 rpm, dpkg, stampede slp 及 slackware tgz 檔案格式間轉換的工具,而在 Ubuntu 上安裝 Alien 也只需用 apt 即可,相當方便,以下是具體實現方法:

$sudo apt-get install alien

輸入以上指令後,需要輸入密碼,然後按 “Y” 確認即可。安裝完成後,就可以用以下指令將 rpm 檔案轉換:

$sudo alien -k name-of-rpm-file.rpm

以文字模式啟動 Ubuntu

如果想 Ubuntu 在每次啟動到 command prompt ,可以輸入以下指令:

$echo “false” | sudo tee /etc/X11/default-display-manager

當下次開機時,就會以指令模式啟動,如果想變回啟動 x window,可以輸入:

$echo “/usr/bin/gdm” | sudo tee /etc/X11/default-display-manager

P.S. 如果不是用 gdm 作為,以上指令需要根據你的環境作出更改,例如 kdm 或 xdm。

在 Linux 下分割及合拼檔案

如果需要將一個體積龐大的檔案分割成細小的檔案,在 Linux 可以用以下方法簡單實現:

分割檔案
假如有一個 5MB 的 testing.mp3 檔案,你想分割成每份 1MB 大小的檔案,可以用以下指令:

split –bytes=1000000 testing.mp3 output

以上指令設定了分割檔案的大小上限為 1000000 bytes,以及分割好的檔案會以 output 開頭,然後加上分割檔案的順序編號,例如 output00, output01 等。

合拼檔案
分割完檔案後當然需要合拼,只要使用以下指令即可:

cat split1 split2 split3 > output

以上指令會將 split1, split2, split3 合拼為 output 檔案。如果在目錄內沒有其他檔案是以 output 開頭的話,則可以將以上指令簡化成:

cat split* > output

Linux 下監察硬件溫度

一般上購買主機板時會附贈主機板廠商的軟件,而其中一個較為普遍及實用的是系統監察軟件,最主要是監察系統溫度及風扇轉速。可惜這些軟件十居其九都只是 windows 下使用,如果要在 linux 監察,可以透過一系列的現成軟件來實現,以下是監察 CPU 的方法:

安裝 lm-sensors,但需要確定 kernel 有支援 i2c。
# apt-get install lm-sensors
# cd /dev && ./MAKEDEV i2c
# modprobe i2c-dev
# sensors-detect

然後跟著指示來做,最後需要載入 sensors-detect 所需的模組,例如:

# modprobe -a i2c-viapro i2c-isa eeprom w83627hf

這時便可以報行 lm-sensors 來進行監察
arrow
arrow
    全站熱搜

    kado 發表在 痞客邦 留言(0) 人氣()