== 更改網卡名稱 == 由於Ubuntu對於硬體的管理採用udev(Linux kernel 2.6 系列的設備管理器)的管理方式,在有2張網卡時,哪一張網卡使用eth0或eth1是自動設定的,觀察後應該是MAC位址較小的為eth0,較大的為eth1,好用是好用,但當我們想依照自己的意思調整時要如何處理呢? {{{#!python # 列出全部的網卡 MAC Address sudo ip addr sudo vim /etc/udev/rules.d/70-persistent-net.rules }}} 交換或修改其中的NAME=="eth0",NAME=="eth1",或者乾脆整個刪掉,重開機讓Ubuntu自己重抓 == 清理系統 == 完全移除指定的套件 {{{#!python sudo apt-get remove --auto-remove xxxxxx sudo apt-get purge xxxxxx }}} 下列指令皆可清理系統中無用的套件或函式庫 {{{#!python sudo apt-get clean sudo apt-get autoclean sudo apt-get autoremove --purge }}} 清除系統所有先前用 autoremove 或 remove 或其它方式移除,但還沒經過 purge 徹底移除的套件 {{{#!python sudo apt-get purge `dpkg -l | grep ^rc | awk '{ print $2 }'` }}} 安裝Debian的deborphan {{{#!python sudo apt-get install deborphan sudo deborphan | xargs sudo apt-get -y remove --purge }}} 安裝deborphan的gui版本 {{{#!python sudo apt-get install gtkorpha # 安裝後會出現在 系統 / 管理 / Remove orphaned packages }}} == 解決gnome面板錯亂的情形 == 不知為何筆者的gnome的面板常發生圖示位置錯亂的情形,要回復預設的排列的方式可以刪除下列gnome的設定檔 {{{#!python cd rm -rf .gnome2 .gconf .gconfd }}} 調整好符合自己的使用習慣後(如桌面顯示電腦與個人資料夾圖示,按一下圖示開啟程式...等),建議可將gnome設定檔備份好,以後就不需要重新調整了 {{{#!python cd tar -cvf gconf-backup.tar .gnome2 .gconf .gconfd }}} == 清除回收筒內無法刪除的檔案 == 使用者家目錄下 {{{#!python cd ~/.local/share/Trash sudo rm -rf * }}} 其他分割區目錄,例如sdc1 {{{#!python cd /media/sdc1/.Trash-1000 sudo rm -rf * }}} == 使用DVD-RAM == /dev/scd1 代表光碟裝置名稱,內建的是/dev/scd0 {{{#!python sudo apt-get install udftools sudo mkudffs --utf8 --media-type=dvdram /dev/scd1 }}} == 解決內含中文的zip解壓時產生亂碼的情形 == vim ~/.gnome2/nautilus-scripts/中文檔解壓縮 {{{#!python #!/bin/bash FILENAME="$1" zip_path=`echo $FILENAME | sed 's/.zip//gi'` unzip -O big5 $FILENAME -d $zip_path }}} chmod u+x ~/.gnome2/nautilus-scripts/中文檔解壓縮 經過以上設定,可在內含中文檔名的ZIP檔(檔名中不可有空白)上按下滑鼠右鍵,選指令稿(script),就可以看到這個中文檔解壓縮,點選即可正確解出中文檔名,但發現在桌面中執行會有問題,目前還找不出原因。 == 將ubuntu桌面資料夾等中文路徑改成英文路徑 == {{{#!python cd ~ rm Desktop mv 桌面 Desktop mv 模板 Template mv 公共 Public mv 文件 Document mv 音樂 Music mv 圖片 Picture mv 影片 Video ln -s Desktop 桌面 ln -s Template 模板 ln -s Public 公共 ln -s Document 文件 ln -s Music 音樂 ln -s Picture 圖片 ln -s Video 影片 gedit ~/.config/user-dirs.dirs }}} 將資料更改如下 {{{#!python XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Desktop" XDG_TEMPLATES_DIR="$HOME/Template" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Document" XDG_MUSIC_DIR="$HOME/Music" XDG_PICTURES_DIR="$HOME/Picture" XDG_VIDEOS_DIR="$HOME/Video" }}} 重新啟動Xwindow {{{#!python sudo /etc/init.d/gdm restart }}} == 透過鎖定畫面來強制休息 == 在系統/偏好設定/鍵盤(指令為gnome-keyboard-properties)的"休息提示"頁籤,可以幫助你設定使用電腦後幾分鐘就要休息。若你需要更專業一點的控制,可以安裝workrave來試試。 == 關閉Xwindow下的右側數字鍵盤功能 == 在系統/偏好設定/鍵盤(指令為gnome-keyboard-properties)的"滑鼠控制鍵"頁籤,有個允許使用鍵盤控制游標的check box,打勾後,你的鍵盤右側的數字鍵功能就會被關閉,這個功能也可使用 Shift+NumLock 快速鍵達到一樣的功能,讓你使用九宮格就可以模擬滑鼠移動,不過若你不小心按到,就會導致你的數字按不出來,所以記錄在這裡。 == 顯示Xwindow下事件的代碼 == 指令xev可用來顯示Xwindow下鍵盤與滑鼠事件的相關代碼,如click, drag.... == apt-get 下載的套件暫存位置 == /var/cache/apt/archives == 恢復/bin/sh的設定 == Ubuntu預設將/bin/sh連結到/bin/dash,而非/bin/bash,這樣有dash較小啟動較快的好處,但會遇到許多shell script不正常運作的問題,可執行下列指令,並選擇"否" {{{#!python sudo dpkg-reconfigure dash }}} 如此可將/bin/sh改設定為 bash == ubuntu 無法更新 == 在執行 sudo apt-get update 時發生了"無法下載所有的套件庫索引" {{{#!python 有一個錯誤發生 套件庫可能已經不存在或是因為網路問題未能連接。如果下載失敗的索引的舊版本還存在,會使用該舊版本;不然的話會忽略它。請檢查您的網路連線發備好設定中套件庫的地址是否正確。 http://ftp.twaren.net/Linux/Ubun ... -i386/Packages.bz2: 子程序 bzip2 回傳錯誤碼(2) ... ... 提供了以下細節: W: GPG error: http://ftp.twaren.net gutsy Release: 下列的簽名皆不合法: NODATA 1 NODATA 2 W: GPG error: http://ftp.twaren.net gutsy-updates Release: 下列的簽名皆不合法: NODATA 1 NODATA 2 }}} 會發生這個問題時因為我安裝了 apt-build ,但不確定是不是肇因,請依下列方式處理: * 系統 / 管理 / 軟體來源 * 選擇 Ubuntu軟體頁籤,勾選"原始碼" * "下載自:"改為其他 * 選擇最佳的伺服器,等待測試下載伺服器 * 系統會根據測試的速度反白停留在一個伺服器名單上(tw.archive.ubuntu.com),此時click選擇伺服器 * click關閉,click重新載入 == 不開機重新掛載fstab == {{{#!python sudo mount -a }}} == 取得硬碟 UUID == {{{#!python ls /dev/disk/by-uuid/ -lh }}} {{{#!python blkid /dev/sda1 }}} {{{#!python tune2fs -l /dev/sda5 }}} == 刪除目錄下指定的檔案 == 在NTFS下的檔案有所謂的Alternate Data Streams來儲存檔案的額外資訊,所以在將檔案複製到Ubuntu時會將這些額外的資訊產生出檔案來,例如 * 檔名:encryptable:\$DATA * 檔名:encryptable * 檔名:Zone. Identifier :$DATA 此時若要將這些檔案複製到隨身碟時,會發生檔名異常的錯誤訊息,解決方式是先在Ubuntu下使用 find指令搭配 rm 指令來將上述檔案刪除,之後就可以順利複製回隨身碟了,範例指令如下 {{{#!python find . -name "*encryptable*" -exec rm {} \; find . -name "*Identifier*" -exec rm {} \; find /mnt/disk640/ -type f -name "*\$DATA" -exec rm {} \; }}} * -exec 要執行的指令 * {} 每個使用find找到的檔案 * \; 表 -exec 指令結束,但分號 ; 為特殊字元,故前置倒斜線 == 開機自動執行的程式 == 開機自動執行的程式有2種類型 * xwindow登入後自動執行 * ubuntu開機後自動執行 === xwindow登入後自動執行 === 系統 / 偏好設定 / 作業階段 的初始啟動程式頁籤,自行新增即可 === ubuntu開機後自動執行 === 有下列2種方式 * 直接編輯 /etc/init.d/rcS ,放在最後面 * 編寫script檔後,放到 /etc/init.d目錄下 如果在 /etc/init.d 中加入一個 script,例如lampp,當作服務來啟動 1.手動啟用 {{{#!python sudo /etc/init.d/lampp start }}} 或是下列指令 {{{#!python sudo invoke-rc.d lampp start }}} 2.手動關閉 {{{#!python /etc/init.d/lampp stop }}} 或是下列指令 {{{#!python sudo invoke-rc.d lampp stop }}} == 使用update-rc.d 指令 == 若需要開機時自動執行該服務,則必須製作相關的 link在 /etc/rc*.d 中。K 開頭是 kill , S 開頭是 start , 數字順序代表啟動的順序,除了手動放置連結之外,若利用 update-rc.d 則可很方便的幫我們完成這件事,update-rc.d會自動幫各個rcX.d目錄下建立link至/etc/init.d/下所指定的執行檔 === update-rc.d範例 === 想要一開機就啟用在 init.d 中的某個 script 的符號連結的話,可執行下面的指令:(設定 vsftpd 一開機就執行) {{{#!python update-rc.d -f vsftpd defaults }}} 想要在 runlevel 1,2,3 時以 20 的 sequencing priority number (normal) 來執行 /etc/init.d/lampp ,而在 runlevel 4,5 停止的話,可執行下面指令: (範例中的句點不可省略喔) {{{#!python update-rc.d vsftpd start 20 1 2 3 . stop 20 4 5 . }}} 想要移除在 init.d 中的某個 script 的符號連結的話,可執行下面的指令: (移去 vsftpd 一開機就執行的狀態) {{{#!python update-rc.d -f vsftpd remove }}} 最後可以 rcconf 來觀看 update-rc.d 設定後的結果,若沒有安裝可執行下列指令安裝 {{{#!python sudo apt-get install rcconf }}} == 觀看程式開啟 port 的情況 == * lsof -i * netstat -ntpa * netstat -tunl == 重新分割與格式化USB碟 == 觀察USB碟的磁碟代號為何,假設為/dev/sdg {{{#!python sudo fdisk -l }}} 分割磁碟(針對磁碟) {{{#!python sudo fdisk /dev/sdg d 1 n 1 t c w }}} 格式化磁碟(針對分割區) {{{#!python sudo mkfs.vfat /dev/sdg1 }}}