2015年10月12日 星期一

Ubuntu 指令

  • lsb_release -a 查詢系統版本資訊:
lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
Codename: precise
  • sudo do-release-upgrade 透過終端機進行系統升級(12.04 to 14.04...etc),詳細資訊請參考 Upgrading
sudo do-release-upgrade
  • 更新系統套件,如果有相依性問題則保留套件不更新。
sudo apt-get update
sudo apt-get upgrade
  • 如果只需更新一個套件,則可以使用下列指令:
sudo apt-get update
sudo apt-get upgrade <套件名稱>

TIPS:執行「apt-get update」與「apt-get upgrade」通常會一起執行,因為 update 指令只是更新套件資料庫的軟體版本資訊,不會升級軟體套件。只有在執行過 upgrade 命令後,系統上已安裝的套件才會進行更新。

TIPS:執行「apt-get」指令時若加上「-y」參數,即表示執行時若遇到需要使用者決定是否繼續進行的場合,都會自動以「Yes」方式進行處理,此時便不需要使用者再輸入「Y」鍵。

TIPS:執行「upgrade」 參數時, 可能會看到有些套件維持在原有的版本而不會進行升級,這些套件包括系統核心(Kernel) 與重要的系統套件(如 libc)等等。如果要升級這些套件,另外執行 「sudo apt-get install <套件名稱列表>」指令即可,例如「sudo apt-get install libc-bin libc-dev-bin」。或是直接輸入「sudo apt-get dist-upgrade」亦可以解決問題。
  • 更新系統套件,如果套件有相依性問題則會試著解決此問題(通常被視為有風險的更新,伺服器不建議一開始就使該指令)。
sudo apt-get update
sudo apt-get dist-upgrade
  • APT 升級套件的同時將相依套件一併升級,則可以使用下列指令,如果未指定套件名稱,則會升級所有的相依套件:
sudo apt-get dist-upgrade <套件名稱>
例如:
sudo apt-get dist-upgrade filezilla

  • APT 移除套件但不移除設定檔與關聯檔,則可以使用下列指令:
sudo apt-get remove <套件名稱>
例如:
sudo apt-get remove filezilla

  • APT 徹底移除套件可以使用下列指令,下面兩個指令效果是相同的:
sudo apt-get remove --purge <套件名稱>
或
sudo apt-get purge  <套件名稱>
例如:
sudo apt-get remove --purge filezilla
sudo apt-get purge filezilla

  • APT 移除套件時一併將相依套件刪除可執行下列指令,如果再 autoremove 後面沒有加上套件名稱,則會將系統上所有未使用的相依套件全數刪除:
sudo apt-get autoremove <套件名稱>
例如:
sudo apt-get autoremove filezilla

  • APT 在安裝時會將套件下載到 「/var/cache/apt/archives/partial」目錄中,才進行安裝。我們可以透過 clean 參數來清除這些下載的套件檔案以釋放硬碟空間,而 autoclean 參數只會移除無法再被下載的套件檔案:
sudo apt-get clean
sudo apt-get autoclean

  • check 參數來檢查是否有套件相依性問題的存在:
sudo apt-get check

  • apt-cache search <關鍵字>」查詢套件的完整名稱,執行後 apt-cache 會在套件列表中的套件名稱或套件說明欄位進行搜尋,並將所有符合條件的套件顯示在畫面上:
sudo apt-cache search <關鍵字>
例如:
josh:~$ sudo apt-cache search xftp
gnome-user-share - User level public file sharing via WebDAV or ObexFTP
gvfs-backends - userspace virtual filesystem - backends
libobexftp-perl - perl binding to the object exchange file transfer library
libobexftp-ruby - ruby binding to the object exchange file transfer library
libobexftp0 - object exchange file transfer library
libobexftp0-dev - object exchange file transfer library - development files
obexfs - mount filesystem of ObexFTP capable devices
obexftp - file transfer utility for devices that use the OBEX protocol
obextool - graphical frontend for obexftp written in TCL/TK
python-obexftp - Python binding to the object exchange file transfer library
ussp-push - Client for OBEX PUSH

  • apt-cache show <套件名稱>」指令來顯示單一套件的相關資訊,並以較為容易閱讀的方式產生報表,提供此用者參考之用。show 參數會提供的套件資訊包括套件所屬性質、分類、檔案大小、相一套件以及是否會與其它套件產生衝突等訊息:
apt-cache show <套件名稱>
例如:
josh:~$ sudo apt-cache search filezilla
Package: filezilla
Priority: optional
Section: universe/net
Installed-Size: 3175
Maintainer: Ubuntu Developers 
Original-Maintainer: Adam Cécile (Le_Vert) 
Architecture: amd64
Version: 3.5.3-1ubuntu2
Depends: libc6 (>= 2.15), libdbus-1-3 (>= 1.1.1), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.12.0), libgnutls26 (>= 2.12.6.1-0), libidn11 (>= 1.13), libsqlite3-0 (>= 3.5.9), libstdc++6 (>= 4.6), libtinyxml2.6.2, libwxbase2.8-0 (>= 2.8.12.1), libwxgtk2.8-0 (>= 2.8.12.1), filezilla-common (= 3.5.3-1ubuntu2)
Recommends: xdg-utils
Filename: pool/universe/f/filezilla/filezilla_3.5.3-1ubuntu2_amd64.deb
Size: 1318190
MD5sum: 923fef480256dc8c5f9470cce954a665
SHA1: 9297f7df88381a780cd8dd87b245d6f0efc77f8a
SHA256: 2f8c7c4e02329aad4fe7abec13bf97b6e33197f0fbc1cb764f6766b9487cfdd1
Description-en: Full-featured graphical FTP/FTPS/SFTP client
 FileZilla is a full-featured FTP client with an easy-to-use GUI.
...
...
  • apt-cache depends <套件名稱>」將套件的所有相依套件列出,並顯示是否與其它套件有所衝突。
  • apt-cache showpkg <套件名稱>」顯示指定套件的所有資訊,例如該套件目前的版本、此套件的相依套件關係等各種訊息。
  • 利用 dpkg 指令手動安裝軟體,Ubuntu 支援的套件檔案格式為 deb 檔,所以網路下載的 deb 檔案,應該都可以在 Ubuntu 之中順利安裝。但手動安裝套件最大的缺點是無法解決套件相依性問題。如果在使用 dpkg 安裝 deb 檔案時系統告知有相依套件需要先行安裝,只能自行找到相關的套件檔案,先行安裝後才能再安裝此套件,此用指令如下,參數 「-i 」表示安裝此套件
sudo dpkg -i <套件名稱>
例如:
sudo dpkg -i google-chrome-stable_current_i386.deb
  • 「dpkg -l <套件名稱>」 查詢已安裝套件的狀態,套件名稱可以使用萬用字元,或是利用 「dpkg -l | grep <套件名稱>」的方式進行查詢。
  • 「sudo dpkg -r <套件名稱>」 指令來移除套件,在移除時便需要輸入完整的套件名稱,如果不確定套件完整名稱,可利用 「dpkg -l 」指令進行查詢,之後在利用 「-r 」 參數移除套件 。
  • APT 相關目錄,APT 在執行時主要使用四個目錄,以作為檔案存放的空間。這四個目錄分別為:
1. /var/cache/apt/archives/ :已下載套件的存放處。
2. /var/cache/apt/archives/partial :下載中套件的存放處
3. /var/lib/apt/lists/ : sources.list 檔案中指定的套件來源其相關狀態與資訊之存放處。
4. /var/lib/apt/lists/partial/ :正在傳輸中的狀態資訊存放處。 
  • Ubuntu 預設不允許 root 帳號登入,甚至連 root 的密碼都是隨機產生且不告知使用者,所以只能使用一般使用者帳號登入系統。下面指令為如何切換成 root 帳號:
sudo su root
或
sudo su -
或 用 passwd 來修改 root 帳號密碼,然後再用 root 帳號登入
sudo passwd root 

[參考連結]

沒有留言: