這篇文章定位其實很簡單 , 給想學Linux的初學者 , 因為 , 我也是初學者阿…哈

由於自己在學習Linux過程中 , 看到許許多多的指令 , 坦白講 , 有時候看看又忘了 , 每次都要
重新查一次 , 有時候關鍵字忘記 , 就找也找不到=.=”” , 因此本篇文 章也多補充了一些關鍵字 , 提高大家搜尋時的效益 🙂

==================================================

Question:啥是APT套件管理? ( 可能的關鍵字 : apt , advanced package tool , debian 套件管理 , ubuntu 套件管理 )

使用Ubuntu最常使用的指令大多含有apt字眼 , 那究竟這是啥呢? 類似RedHat的yum ,
, 是Debian的套件管理工具! , 由於Ubuntu延伸自Debian , 也因此順理成章用此為主要的套件管理工具 . 套件管理工具能夠處理套件的安裝 -移除-升級及同時處理相依性問題 , 因此簡化了套件使用的便利性^^

或許會有所疑問 , Debian不是已經有一個套件管理工具叫做dpkg嗎? 那這跟dkpg又差在哪呢?

看了很多網頁 , 很多專業術語都看不懂 , 最後在這兩個網站找到相關資訊

  • http://blog.roodo.com/schonrosemary/archives/4362693.html
  • http://tavi.debian.org.tw/index.php?page=apt

APT算是比較平易近人版的套件管理工具 , 建構於dkpg之上 , 簡化了dkpg複雜的指令 , 且提供處理軟體相依性問題 .

ps.最近看了一些文章 , 看到了另外一種指令 Aptitude , 跟Apt都是屬於建置在dkpg上的套件管理工具 , 但是補強了一個小地方 .

Apt在安裝時 , 雖然會解決相依性問題 , 但是在移除時候並不會把沒用到的套件給同時移除 , 會留下殘餘的套件 !! 相反的 , Atpitude卻會將這些沒用的套件同步移除 ( 因為Aptitude在安裝時會將這些資訊紀錄 , 移除時便知道哪些是針對此套件所補充的 , 但是它也會檢查這些是否已經被其他套件給使用 , 因此不用擔心移除後造成其他套件出錯!^^ ) , 但是先決條件是這套件當初安裝 , 是透過Aptitude安裝! 也就是說 , 如果今天你先用Apt安裝好後 , 再由Aptitude移除 , 上述的殘餘套件還是會存在 !!

==================================================

Question:如何搜尋想安裝的套件? ( 可能的關鍵字 : cache search , )

其實很多時後 , 套件名稱又臭又長 , 往往只知道幾個key word , 這時候search功能就很實用

 

  • 方法1 : sudo aptitude search + keyword
  • 方法2 : sudo apt-cache search + key word
    ex: sudo apt-cache search compiz

( 萬一如果資料太多 , 可以在後面補上 more , ex: sudo apt-cache search compiz more ,
顯示第一段資料後 , 按enter可以一筆一筆找 , 按空白鍵可以一頁一頁找 )

找到資料後便可用下面指令安裝!

  • 方法1 : sudo aptitude install 套件名稱
  • 方法2 : sudo apt-get install 套 件名稱相反的 , 如果想要刪除套件
  • 方法1 :sudo aptitude remove 套件名稱

  • 方法2 : sudo apt-get remove 套件名稱如果是遇到deb形態的檔案 , 則可以使用下述指令安裝
    ( ex: picasa linux版 http://picasa.google.com/linux/thanks-deb.html )
  • sudo dpkg -i 套件名稱.deb相反的 , 如果想要刪除套件
  • sudo dpkg -r 套件名稱.deb

==================================================

Question:未啥要打Sudo ( 可能的關鍵字 : ubuntu , 權限 , root , 切換管理者 , admin , sudo)

Sudo其實是一個套件 , 用來幫助使用者暫時能使用Root權限! , 由於在Ubuntu上面內建( 我
用7.10版 ) , 因此可以不需要安裝就可直接使用! 如果使用的Linux版本不支援Sudo , 請先切
換到Root權限後打上指令安裝! 安裝後必須要進行幾個步驟設定 才能使用!!( 稍後補上! )

  • sudo apt-get install sudo( 以往如果需要使用Root權限 , 通常都會直接打上”su” or “su -” , 接著輸入Root密碼 , 切換成Root使用者 , 需要離開直接打上Exit )

==================================================

Question:剛灌好 , 如何更新 ( 可能的關鍵字 : 更新 , update , upgrade , sources.list , sources list)

    • sudo apt-get update
      更新套件 , 通常他會以source.list為依據 , 找尋這些連結上新的套件資訊
      ( /etc/apt/sources.list , 把前面的#號拿掉即可啟用該連結 , 兩個#代表他是說明用 )

 

  • sudo apt-get upgrade
    這種更新會按照現有的程式進行更新
  • sudo apt-get dist-upgrade
    這種更新法會把程式移除後重灌

==================================================

Question:Ubuntu如何使用KDE? (可能的關鍵字 : ubuntu , kde , kubuntu , kdm , gdm)

  • sudo apt-get install kubuntu-desktop
    安裝過程會詢問你是否要使用KDE的開機登入介面 ( KDM ) , 不然可以保留Ubuntu使用的GDM登入介面 , 完成後 , 記得登出 ( 快捷鍵 Ctrl+Alt+Backspace , 登出是為了重新啟動 X Window ) .

在登入介面左下角選單 , 點選Options的Session , 接著便會詢問你要使用哪種桌面環境 , 可
以將此設為一次性啟動 , 或者改為預設值!

==================================================

Question:如何切換目錄? (可能的關鍵字 : filesystem , root directory , cd , 切換目錄 )

在Linux的Command Mode下如果需要切換到不同目錄 , 用的是 cd (change directory)

  • cd /AA/BBex : 如果我已經切換到AA , 想要切換到BB , 只需要打cd BB , 但是如果我所在目錄不是AA , 我便要將完整目錄打完 cd /AA/BB , 讓cd從根目錄開始找尋!!比較常使用的目錄如下
  • /
    根目錄 , 或者稱為filesystem ( 由圖形介面點選 , 可以發現許多資料夾都包含在這底下 ) , Linux是以樹狀結構的方式做延伸 , 因此在使用上 , 必須先將此觀念建立!
  • /home
    類似windows下的Documents and Settings , 裡面包含以使用者名稱命名的資料夾 , 如同MyDocument般 , 是放置個人資料的位置
  • /bin
    系統安裝過的應用程式 , 大多都會將檔案放至於此 , 如果左上方的常用目錄找不到 , 可以來此找尋
  • /etc
    許多與系統相關的設定檔都會放在此 , 例如管理套件路徑的檔案
  • /dev
    如果想要看看目前相連接有哪些裝置 , 包含外接或者室內接的 , 可以直接從此資料夾看出
  • /tmp
    顧名思義 , 其實就是放置一些暫存檔的地方 , 通常是某些軟體執行後會佔用

==================================================

Question:如何在Command Mode查詢磁碟狀態 (可能的關鍵字 : filesystem , fdisk , cat)

  • sudo fdisk -l這指令顯示的資訊很詳細 , 但是如果你只是想簡單知道有哪些裝置 , 不需要太多細節 , 可以改用下面這個指令
  • cat /proc/partitions這指令只簡單顯示容量 , 與它在/dev下的使用名稱 ( 這不代表你存取的實際路徑 )( 由於目前圖形化介面使用便利 , 通常你裝上一個usb的外接裝置 , 系統會自動幫你mount一個裝置 , 讓你可以直接在桌面點選使用 , 有點像是幫你做好接洽 , 這在過去是要打指令的!)
  • sudo mount /dev/xxx /mnt/yyy
    /mnt是通稱用來放mount的位置 , 當然 , 資料夾yyy你可以取你方面使用的名稱 , 前提是必須要先建立才可以mount!如果遇到特殊格式 , 不同linux所常用的ex2 或ex3檔案系統 , 則必須要在mount指令中 , 指定型態 , 方便linux系統認識它-> “-t”
  • sudo mount -t xxx格式 /dev/xxx /mnt/yyy
    不過由於這些mount都是暫時性的 , 如果你有些裝置 , 是固定會使用的 , 你可以將資訊寫入 , 供linux開機時自動載入
  • cat /etc/fstab
    可以看出目前檔案系統會自動載入的有哪些 , 如果需要 , 按照下面步驟 , 加到這邊/etc/fstab 即可!
  • sudo gedit /etc/fstab ( 習慣用vi/vim的可以把gedit替換成vi/vim )
    ex: /dev/sda2 /media/xxx ntfs utf8 0 0
    把磁碟sda2掛載到media/xxx ( 一樣必須要先建立好資料夾 ) , 補ntfs磁碟類性 , utf-8 資料夾編碼 , 後面補兩個0 0即可!ps. 掛載到/mnt/跟/media/意思其實差不多 , 不過/media/會把此當作外來磁碟 , 有點類似掛載usb硬碟 , 桌面會多一個磁碟icon , 如果不需要可以改回掛在/mnt/

==================================================

Question:如何修改檔案 (可能的關鍵字 : vi , vim , gedit)

由於linux大多設定都可透過文字介面進行修改 , 有點類似筆記本模式 , 在此簡單說明三種常
用的方式

  • sudo gedit /xxx/xxx.xxx
    這種方式是我最愛的方式 , 因為比較好改 , 也因為它是直接開啟類似筆記本的軟體 , 因此使用起來相當方便 , 不過缺點是它必須在有圖形介面的地方使用!
  • sudo vim /xxx/xxx.xxx
    vim是改良的vi , 使用上較vi來的方便 , 但是卻不是所有版本都有直接內建
  • sudo vi /xxx/xxx.xxx
    vi是最普遍的文字編輯方式 , 也是眾多版本一定會有的功能 , 缺點是使用上稍微有點不好使用 , 需要點時間適應這邊有一張vi/vim的鍵盤配置說明圖 , 建議使用前先看一下唷^^

    來源http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

    ( 如果放置這張圖有侵權 , 請跟我說 , 我馬上移除 )

==================================================

Question:更改檔案使用權限 ( 可能的關鍵字 :chmod , permission , read-write-excute )

奇怪 , 檔案明明看得到 , 但是我就是沒辦法修改他 , 或者copy跟執行 , 這時通常都是權限的
問題!

  • ls -ld /home/A
    這指令可以知道我目前home資料夾內的A資料夾詳細權限的資訊
    ex:drwxr-xr-x 123 A B xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx比較需要知道的
    1. 第一個d代表這是資料夾 (directory)
    2. rwx分別代表read-write-execute
    3. 分成三組 , 分別代表擁有者 – 與擁有者相同群組的使用者 – 其餘使用者
      因此你可以針對這三種人 , 給予不同的權限
  • sudo chmod a+w /home/A
    這種方式是目前我比較愛用的方法 , 很直覺吧^^
  • a表示其餘使用者 ( 擁有者 u , 與擁有者相同群組的使用者 g )
  • +代表加上 ( 移除就用- )
  • w代表寫入 ( 相對的 , 需要讀或寫就補 r 跟 x )

指令可以混合運用 , ex: ao+w , u-r , a+rwx

  • sudo chmod 777 /home/A
    這種方式比較快 , 可以一次完成 , 但是要算一下->r=4 w=2 x=1 , 當你要給三組權限時 , 分別將該組所擁有的權限相加 , 再用三個數字來修改權限

==================================================

Question:檢示系統 ( 應用程式 ) 錯誤訊息 ( 可能的關鍵字 :log , system log, application log )

系統執行時不一定每次都正確無誤 , 可能會因為設定檔錯誤或者是語法錯誤造成系統不正常運行 , 可能是Apache ,也有可能是Mysql , 這時錯誤訊息就是很重要的指標 , 使用者可以透過上面所提供的資訊找到錯誤的位置進行修改.

  • 切換到 /var/log/
  • 如果知道哪個系統可能出問題 , 可以直接使用tail -xx mail.info
    ( xx 代表畫面一次顯示的數量 , 這語法是取出最後的XX筆 mail.info這邊的訊息
  • 由於系統內可能會有很多的錯誤訊息檔 , 可以直接使用ls -al grep XX
    ( xx 代表檔案名稱 , 通常應用程式的log檔案名稱命名會與其應用程式相似 , 假設不清楚完整名稱 , 可透過此方式過濾後來找尋 )

==================================================

Question:更換預設字體 ( 可能的關鍵字 :fonts , truetype , ubuntu)

由於ubuntu內建的字體在中文瀏覽下並不是相當的理想 , 因此許多人就想要換一換字體 , Mac OsX的儷黑體 ( Li Hei Pro ) 算是大家目前比較滿意的字體之一 ( 當然微軟Vista的正黑體也不錯 ) , 其實不管你偏好哪種字體 , 只要按照下面的步驟 , 都可以進行切換^^

  • 將字體放置到 /usr/share/fonts/truetype ( 建議可以開一個新資料夾放置 )
  • sudo fc-cache -f -v ( 讓系統重新取得字型資訊 )
  • 登出並重新登入 ( 快捷鍵 : Ctrl + Alt + Backspace , 讓UI介面也重新載入字體資訊 )

接著到 system -> preferences -> appearance , 點選Fonts ( 分頁名稱Fonts ) , 將字體選擇為你所想要的字體即可 .

通常會一並改的地方就是瀏覽器 , 以Firefox為例 , 開啟Firefox , edit -> preferences , 點選Content ( 分頁名稱為Content ) , 中間有個Fonts & Colors 區 , 點選右邊Advanced , 最下面Character Encoding 是你預設編碼 , 上面的Fonts for 則選擇跟你預設編碼相同的為主 , 接著將字體選擇為你所想要的字體即可 .

==================================================

Question:連線BBS ( 可能的關鍵字 : 中文亂碼 , 亂碼 , bbs , ubuntu )

之前在xp平台上常使用的pcman , 到了ubuntu上連中文站台 , 都變成了亂碼 ( 英文環境下 , 中文判斷的問題 , 尚在找方法中… )

忽然想到 , 其實Terminal就可以連線bbs , 稍微改一下字體 , 顏色設定跟編碼 , 其實很不錯^^

  1. 開啟Terminal
  2. edit->profiles
  3. 新增一個profile , 姑且就叫他BBS ( 不新增也可以 , 但是會改到妳現在的配置 )
  4. Tab General->Font選項改成Li Hei Pro 12
  5. Tab General->關掉Bold字體特效 ( Li Hei Pro用粗體有點模糊不清 )
  6. Tab Colors->Foreground and background, 取消與作業系統相同的配色 ( 我選擇用自訂的方式 , 選擇灰黑配色 , 比較好閱讀 )
  7. Tab Colors->Palette 改回Linux console ( 我對這配色比較習慣 )
  8. Tab Effects->這邊可以改妳想要的背景 , 或背景透明度 ( 建議不要 , 閱讀上會很吃力 )
  9. 設定完以後關閉 , 到Terminal主畫面 , 點選上面選單Terminal , 在編碼的地方新增一個Big5
  10. 接著就切換到BBS Profile , 使用Big5 連線 , 打上telnet ptt.cc , 測試一下 , 看那邊不滿意的稍微調整一下:)

==================================================

Question:ATI顯示卡驅動不能開特效 ( 可能的關鍵字 :compiz , ubuntu , ati x1300 , ati 9550 , ati x600 )

本身目前在用的主機 , 都很剛好是ATI的顯示卡 , 型號分別是asus v6a 配的x600 , ibm t60 配的x1300 和之前組主機配的9550 .

坦白說 , 當初會想要玩ubuntu 7.10也是看上它對compiz的整合比之前好 , 但是無奈當作業系統裝玩 , 三台全都不能開特效!!!!

之前其實也找了很多地方 , 都沒辦法正常開啟特效 , 也不知道是哪邊漏掉 , 所幸ubuntu 非官方網站的wiki已經有人把這些資料修正 , 目前這三台主機都可以正常開啟特效 , 唯讀x600這張開啟 , firefox就變成烏龜了 , cpu會持續在高運算=____=””換過幾個驅動都沒效果 , 慘唸 .

  • Ubuntu非官方wiki
    http://wiki.cchtml.com/index.php/Ubuntu_Installation_Guide
    這邊有很多版本的分類不過我個人只有使用過7.10的版本 , 且都是在 “Method 2: Install the Catalyst 7.11 Driver Manually ” 這個方法下成功的

==================================================

Question:跨平台的軟體kvm – synergy ( 可能的關鍵字 :軟體kvm , synergy , 跨平台 , 共用鍵盤滑鼠 , quicksynergy)

之前使用windows的時候 , 發現了一套好用的軟體kvm – synergy , 沒想到問了google大神 , 這套也可以在linux下使用 , 更可以跨平台 , 查了一下套件名稱 , ubuntu有套件可以下載!!

  • sudo apt-cache search synergy這時應該會找到兩個比較重要的套件
    • quickSynergy : ubuntu下的圖形化管理工具
    • synergy : synergy的主程式

    兩個當然都要安裝摟! , 不過記得先裝主程式 , 再裝圖形管理介面唷! ( 我沒試過反著裝 , 不保證也ok )

  • sudo apt-get install synergy
  • sudo apt-get install quicksynergy以我目前的設定 , xp為主 , ubuntu為遠端使用 , 因此分享鍵盤滑鼠的主機是xp , ubuntu則必須要連線到xp被遠端如果Ubuntu是Server ( 控制端 , 利用主機的鍵盤滑鼠去操作Client的電腦 ) 設定

    建立一個設定檔 , 我是測試放在/etc/底下 ex: sudo gedit /etc/synergy.conf , 將下述資料貼上 , 把screen1取代成你想要放在左邊的電腦名稱 , 相反 , screen2則是你想放在右邊的電腦名稱 , 由於我右邊是xp電腦 , 左邊是ubuntu , 所以命名如下

    section: screens
    ubuntu_pcname:
    xp_pcname:
    end
    section: links
    ubuntu_pcname:
    right = xp_pcname
    xp_pcname:
    left = ubuntu_pcname
    end

    存檔後 , 在command mode 打上下列指令啟用

     

  • synergys -f –config /etc/synergy.conf如果希望開機後自動可以做連線這個動作 , 可以將指令寫在system ->preferences->sessions內 , 在第一個分頁startup programs新增一個名稱叫synergyserver的item , 在command的地方打上synergys -f –config /etc/synergy.conf, 一樣 , 登出後重登入 , 看有沒有成功^^

    如果Ubuntu是
    Client (被遙控端 , 螢幕受控制)

    圖形化的管理工具預設放置在applications -> accessories -> quicksynergy , 打開後 , 點選第二個tab->use , 打上主機 ip ( 我將區網 ip , ubuntu設定成192.168.0.1 , xp設定成192.168.0.2 ) , 因此這邊要打上192.168.0.2 , 接著按下下面start即可 , xp這邊也必須要開啟分享 , 接著就可以測試看看能不能正常運作^^如果希望開機後自動可以做連線這個動作 , 可以將指令寫在system ->preferences->sessions內 , 在第一個分頁startup programs新增一個名稱叫synergyclient的item , 在command的地方打上synergyc -f xxx.xxx.xxx.xxx (ip ) , 一樣 , 登出後重登入 , 看有沒有成功^^

    ps1. ubuntu的電腦名稱 , 必須要跟主機synergy內的configure , screens設定使用相同的名稱 , 否則會失效!! 以這範例而言 , 主機的screens設定必須要有兩個 , 一個是xp的電腦名稱 , 一個是ubuntu的電腦名稱!!

    ps2. ubuntu的電腦名稱 , 從system -> administration -> network 內的general觀看 , 也可以修改 , 但是記得要登出後重新登入 ( 沒做這動作電腦動作怪怪的 , 做了就一切安好 , 我也不太確定是不是一定要做 , 但是有做有保佑! )

==================================================

Question:家用版DHCP( 可能的關鍵字 :DHCP )

由於上述的Synergy必須使用到ip, 或者是電腦名稱來作為連線的依據 , 且以區網為主 ( 跨網域我尚未測試過 ) , 本篇試著在ubuntu上建立一個簡單的DHCP , 以解決必須要設定區網的問題 ( 由於工作的地方也有DHCP service , 回家變成要自己設定 ) , 有了此功能 , 回家只要插上網路線也同樣有區網的功能!!

  • sudo aptitude install dhcp3-server
    主要服務
  • sudo aptitude gdhcpd
    圖形化的管理介面

由於設定DHCP會涉及管理權限 , 因此必須從文字介面上使用 gksudo gdhcpd啟用圖形介面 , 就如同下圖 , 接著 , 按照Step1~Step3 , 把相關的設定打上.

  • Step1

    1. 第一格是打網卡的硬體代碼 , 如果你不清楚該打啥當作網卡 , 可以打ifconfig去看目前網卡狀態 , 通常都是eth開頭 , ppp ( PPPoE 乙太網路上的點對點協議 , 通常用於ADSL ) , lo是本機
    2. 第二格是Network address , c class最基本就是192.168.0.0是Network address , 192.168.0.255是Broadcast , 192.168.0.254是Gateway
    3. Mask沒做啥變化 , 用預設c class的 , 打完以後按右邊的新增

     

  • Step2:
    由於我用c class基本的設定 , 因此區段落在0.1~0.253 , 所以我把這範圍輸入到這邊
    , 打完以後按右邊的新增

  • Step3:
    我家目前設定是一個小小Switch接一台ubuntu主機跟我的nb , 因此這邊的rounters就直接設定成
    192.168.0.254 , 接著就可以按左上角的啟動拉! 試試看 , 把其他接在同區網的電腦網路卡 , ip設定成讓它自動尋找 ( 不給預設值 ) , 試試看有沒有幫你分配到這區段的ip^^


到這邊為止 , 是以一區的區域網路設定為主 , 但是如果希望特別設定某些電腦取得固定的區網 ip ( 我可不想每次想連synergy主機都必須要check一次我收到的區網 ip ) , 便可以將主機的網卡設定固定 ip , 方法如下

  • Step1:
    一樣 , 輸入你想要分配的主機名稱 (電腦名稱 ) , 指定你想給他的 ip , 接著將網卡的號碼打上!
    我家網卡比較害羞^^” -> 模糊的地方就是網卡號碼 , 切記 , 格式是xx:xx:xx:xx:xx:xx ( 由於在windows系統的指令模式打上 ipconfig/all , 出來的網卡號碼是 xx-xx-xx-xx-xx-xx , 如果打上-當作分隔符號 , 設定後會出現 /etc/dhcp3/dhcpd.conf line xxx: expecting numeric value. 的錯誤訊息 , DHCP會無法開啟 )
    打完以後記得按下Apply , 或者將DHCP關閉後重新啟動 , 接著就如同上一個範例 , 讓他重抓一次ip試試看^^ 

    ps. windows系統的指令模式 -> start / run / 打上cmd後的畫面就是指令模式

待續 …最後修改時間2007/01/05

Leave a Reply

Your email address will not be published. Required fields are marked *