TIPs_of_use_ubuntu

更改網卡名稱

由於Ubuntu對於硬體的管理採用udev(Linux kernel 2.6 系列的設備管理器)的管理方式,在有2張網卡時,哪一張網卡使用eth0或eth1是自動設定的,觀察後應該是MAC位址較小的為eth0,較大的為eth1,好用是好用,但當我們想依照自己的意思調整時要如何處理呢?

   1 # 列出全部的網卡 MAC Address
   2 sudo ip addr
   3 sudo vim /etc/udev/rules.d/70-persistent-net.rules

交換或修改其中的NAME=="eth0",NAME=="eth1",或者乾脆整個刪掉,重開機讓Ubuntu自己重抓

清理系統

完全移除指定的套件

   1 sudo apt-get remove --auto-remove xxxxxx
   2 sudo apt-get purge xxxxxx

下列指令皆可清理系統中無用的套件或函式庫

   1 sudo apt-get clean
   2 sudo apt-get autoclean
   3 sudo apt-get autoremove --purge

清除系統所有先前用 autoremove 或 remove 或其它方式移除,但還沒經過 purge 徹底移除的套件

   1 sudo apt-get purge `dpkg -l | grep ^rc | awk '{ print $2 }'` 

安裝Debian的deborphan

   1 sudo apt-get install deborphan
   2 sudo deborphan | xargs sudo apt-get -y remove --purge

安裝deborphan的gui版本

   1 sudo apt-get install gtkorpha
   2 # 安裝後會出現在 系統 / 管理 / Remove orphaned packages

解決gnome面板錯亂的情形

不知為何筆者的gnome的面板常發生圖示位置錯亂的情形,要回復預設的排列的方式可以刪除下列gnome的設定檔

   1 cd
   2 rm -rf .gnome2 .gconf .gconfd

調整好符合自己的使用習慣後(如桌面顯示電腦與個人資料夾圖示,按一下圖示開啟程式...等),建議可將gnome設定檔備份好,以後就不需要重新調整了

   1 cd
   2 tar -cvf gconf-backup.tar .gnome2 .gconf .gconfd

清除回收筒內無法刪除的檔案

使用者家目錄下

   1 cd ~/.local/share/Trash
   2 sudo rm -rf *

其他分割區目錄,例如sdc1

   1 cd /media/sdc1/.Trash-1000
   2 sudo rm -rf *

使用DVD-RAM

/dev/scd1 代表光碟裝置名稱,內建的是/dev/scd0

   1 sudo apt-get install udftools
   2 sudo mkudffs --utf8 --media-type=dvdram /dev/scd1

解決內含中文的zip解壓時產生亂碼的情形

vim ~/.gnome2/nautilus-scripts/中文檔解壓縮

   1 #!/bin/bash
   2 FILENAME="$1"
   3 zip_path=`echo $FILENAME | sed 's/.zip//gi'`
   4 unzip -O big5 $FILENAME -d $zip_path

chmod u+x ~/.gnome2/nautilus-scripts/中文檔解壓縮

經過以上設定,可在內含中文檔名的ZIP檔(檔名中不可有空白)上按下滑鼠右鍵,選指令稿(script),就可以看到這個中文檔解壓縮,點選即可正確解出中文檔名,但發現在桌面中執行會有問題,目前還找不出原因。

將ubuntu桌面資料夾等中文路徑改成英文路徑

   1 cd ~
   2 rm Desktop
   3 mv 桌面 Desktop
   4 mv 模板 Template
   5 mv 公共 Public
   6 mv 文件 Document
   7 mv 音樂 Music
   8 mv 圖片 Picture
   9 mv 影片 Video
  10 ln -s Desktop 桌面
  11 ln -s Template 模板
  12 ln -s Public 公共
  13 ln -s Document 文件
  14 ln -s Music 音樂
  15 ln -s Picture 圖片
  16 ln -s Video 影片
  17 gedit ~/.config/user-dirs.dirs

將資料更改如下

   1 XDG_DESKTOP_DIR="$HOME/Desktop"
   2 XDG_DOWNLOAD_DIR="$HOME/Desktop"
   3 XDG_TEMPLATES_DIR="$HOME/Template"
   4 XDG_PUBLICSHARE_DIR="$HOME/Public"
   5 XDG_DOCUMENTS_DIR="$HOME/Document"
   6 XDG_MUSIC_DIR="$HOME/Music"
   7 XDG_PICTURES_DIR="$HOME/Picture"
   8 XDG_VIDEOS_DIR="$HOME/Video"

重新啟動Xwindow

   1 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不正常運作的問題,可執行下列指令,並選擇"否"

   1 sudo dpkg-reconfigure dash

如此可將/bin/sh改設定為 bash

ubuntu 無法更新

在執行 sudo apt-get update 時發生了"無法下載所有的套件庫索引"

   1 有一個錯誤發生
   2 套件庫可能已經不存在或是因為網路問題未能連接。如果下載失敗的索引的舊版本還存在,會使用該舊版本;不然的話會忽略它。請檢查您的網路連線發備好設定中套件庫的地址是否正確。
   3 http://ftp.twaren.net/Linux/Ubun ... -i386/Packages.bz2: 子程序 bzip2 回傳錯誤碼(2)
   4 ...
   5 ...
   6 提供了以下細節:
   7 W: GPG error: http://ftp.twaren.net gutsy Release: 下列的簽名皆不合法: NODATA 1 NODATA 2
   8 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

   1 sudo mount -a

取得硬碟 UUID

   1 ls /dev/disk/by-uuid/ -lh

   1 blkid /dev/sda1

   1 tune2fs -l /dev/sda5

刪除目錄下指定的檔案

在NTFS下的檔案有所謂的Alternate Data Streams來儲存檔案的額外資訊,所以在將檔案複製到Ubuntu時會將這些額外的資訊產生出檔案來,例如

  • 檔名:encryptable:\$DATA
  • 檔名:encryptable
  • 檔名:Zone. Identifier :$DATA

此時若要將這些檔案複製到隨身碟時,會發生檔名異常的錯誤訊息,解決方式是先在Ubuntu下使用 find指令搭配 rm 指令來將上述檔案刪除,之後就可以順利複製回隨身碟了,範例指令如下

   1 find . -name "*encryptable*" -exec rm {} \;
   2 find . -name "*Identifier*" -exec rm {} \;
   3 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.手動啟用

   1  sudo /etc/init.d/lampp start

或是下列指令

   1  sudo invoke-rc.d lampp start
  • 2.手動關閉

   1  /etc/init.d/lampp stop 

或是下列指令

   1  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 一開機就執行)

   1  update-rc.d -f vsftpd defaults

想要在 runlevel 1,2,3 時以 20 的 sequencing priority number (normal) 來執行 /etc/init.d/lampp ,而在 runlevel 4,5 停止的話,可執行下面指令: (範例中的句點不可省略喔)

   1  update-rc.d vsftpd start 20 1 2 3 . stop 20 4 5 .

想要移除在 init.d 中的某個 script 的符號連結的話,可執行下面的指令: (移去 vsftpd 一開機就執行的狀態)

   1  update-rc.d -f vsftpd remove

最後可以 rcconf 來觀看 update-rc.d 設定後的結果,若沒有安裝可執行下列指令安裝

   1  sudo apt-get install rcconf

觀看程式開啟 port 的情況

  • lsof -i
  • netstat -ntpa
  • netstat -tunl

重新分割與格式化USB碟

觀察USB碟的磁碟代號為何,假設為/dev/sdg

   1 sudo fdisk -l

分割磁碟(針對磁碟)

   1 sudo fdisk /dev/sdg
   2 d 1 n 1 t c w

格式化磁碟(針對分割區)

   1 sudo mkfs.vfat /dev/sdg1

TIPs_of_use_ubuntu (last edited 2013-10-03 04:31:24 by peterju-tw)