跳到主要內容

發表文章

uBuntu 更新時 /boot 空間不足

已經使用 uBuntu 12.04 LTS 當作工作環境好一陣子,越來越順手和好用。除了偶爾需要玩一些遊戲解悶和郵局轉帳的限制外,其實,差不多已經可以脫離對 windows 系統的依賴。 使用時間拉長以後,有些之前短暫使用不會出現的情形就會發生。今天準備做系統更新時出現 /boot Not enough free disk space 的訊息,以致於無法順利的完成更新的動作。df 看了一下 /boot partition 的情形,512MB 的空間已經是 97% 的使用量,容不下最新一次的 kernel 更新了。其實 /boot 不需要很大的空間,Fedora 的官方建議只需要 256MB 空間即可。爲什麼會空間不足?是因爲更新後系統仍會保留舊的 kernel,避免執行新的 kernel 發生狀況時,使用者仍然可以使用舊的 kernel 進入系統。kernel 保留的多了自然空間就不大夠了,因此,我們要移除掉一些舊的 kernel 檔案清出空間。 首先,使用 uname -a 確定目前 kernel 的版本是什麼。 $ uname -a Linux jeffy-local 3.2.0-44-generic #69-Ubuntu SMP Thu May 16 17:35:01 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 下面的指令可以列出目前非使用中的 kernel 套件 $ dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' linux-headers-3.2.0-31 linux-headers-3.2.0-31-generic linux-headers-3.2.0-32 linux-headers-3.2.0-32-generic ... 接下來可以利用下面的指令可以選擇不需要的套件移除 $ sudo apt-get -y purge some-kernel-package some-kern...

uBuntu NIS Client + NFS Client + Autofs 設定

前一陣子在 CEntOS 的 Server 上安置好 NIS Server 與 NFS Server 的相關設定和服務,希望實現在安裝 uBuntu OS 的不同 Client 電腦上,使用 Server 的帳號登入,並且將 Server 上的家目錄於登入後自動掛載至 Client 端的電腦做爲 Client 端登入的家目錄。使用者在不同的電腦登入後可以獲得相同的桌面環境。 以前在 RedHat 的環境實作過,設定上相對於 uBuntu 系統來說簡單的許多。本篇會着重在 uBuntu 系統裡的設定說明。 NIS Client 設定及配置 安裝 nis 和 portmap 套件,安裝過程會需要輸入 NIS Domain # sudo apt-get install nis portmap 在 /etc/hosts 加入 NIS Server 的位址,避免 DNS 出狀況時無法登入 # sudo vim /etc/hosts 192.168.1.100   example.com 設定認證的 NIS Server 位置 # sudo vim /etc/yp.conf ypserver  example.com 設定 Name Service Switch,加上 nis # sudo vim /etc/nsswitch.conf passwd:         compat nis group:          compat nis shadow:         compat nis hosts:          files ... mdns4 nis 檢查 NIS 的預設設定是不是正確 # sudo vim /etc/default/nis // 是否為 NIS SERVER NISSERVER=false //是否為 NIS CLIENT NISCLIENT=true 修改 portmap 的設定(12.04 中沒有 /etc/default/portmap 可自行加入) # sudo vim /etc/default/portma...

在 uBuntu 中讀寫 exFat 格式裝置

在各系統間支援度最高的爲 FAT32 格式的檔案系統,但在儲存媒體容量愈來愈大下也就慢慢浮現這個檔案系統的限制性。FAT32 單一分割區最大容量爲 32 GB 而單一檔案的最大限制爲 4GB,目前高品質的多媒體很容易就超過 FAT32 的先天限制,而後 M$ 推出的 NTFS 雖然突破了上述的限制,但在讀寫存取效率上卻遠遠的落後 FAT32 許多,使得備份和複製檔案時得花上不少的時間。 exFAT  (Extended File Allocation Table)格式的出現則具有更多的優勢,exFAT 又被稱爲 FAT64,優點在單一分割區擴展至 256 T B,單一檔案大小則是擴展至 16 EIB( Exbibytes ),現階段來說幾乎是單檔無上限了。對於跨系統的使用者 exFAT 無疑是一個更好的選擇,目前技術上在各系統已可以使用,但是 exFAT 仍存在 M$ 授權的法律問題,所以在 uBuntu 中預設是無法支援讀寫 exFAT 格式的檔案系統。MAC OS 在 10.6.5 後已正式支援 exFAT。 在 Linux 中 FUSE (Filesystem in Userspace) 實作了 exFAT 的讀寫套件 fuse-exfat,在 uBuntu 中我們同樣可以透過 PPA 安裝,安裝方式如下: 開啓 Terminal(可用 Ctrl+Alt+T 快速鍵),加入 PPA 到系統 Source 中 # sudo apt-add-repository ppa:relan/exfat 更新套件庫資訊 # sudo apt-get update 安裝 fuse-exfat 套件 # sudo apt-get install fuse-exfat PS. 如果在 Command Line 加入 PPA 過程中碰到 pycurl.error,可以更換使用 Software Center 的 Source 加入方式(可參考: How to Add a PPA to Ubuntu ),再將 PPA Key 加入我們的 Keyring 中。fuse-exfat 的 key 是 A252A784,可用下面的方式加入 # sudo apt-key adv --keyserver keyserver.ubun...

使用 PPA 方式安裝 Sublime Text 2 編輯器

前一陣子實驗室的學弟介紹了一個編輯軟體「 Sublime Text 2 」,當時覺得好酷下載了 For Linux 版本卻一直沒有安裝,就淡忘了這件事...。今天清理桌面的時候,好奇這個資料夾在幹嘛,上網查詢才重拾當時的一些小記憶,決定把這個神奇的軟體裝起來。 Sublime Text 不僅跨平臺,其強大的功能才是讓所有人眼睛爲之一亮的,我們在網路上隨意搜尋就可以查到蠻多介紹的,在這裏就不多做介紹。有興趣的可以參考這篇「  Sublime Text 2 - 好用的前端程式編輯器  」網誌的內容介紹。 Sublime Text 的另一個優點是支援相當多的語言,如 C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, Matlab, OCaml, Perl, PHP, Python, R, Ruby, SQL, TCL, Textile and XML 等等,幾乎常用常見的語言都有。 可惜的是 Sublime Text 並不是完全免費的軟體,目前是針對個人授權,授權費用是USD59,授權後不限制機器使用,可以安裝在多臺機器上。但是作者其實也很夠意思,即使沒有購買授權也不會有試用期限和功能上的限制,只是會出現「UNREGISTERED」字樣和很久才一次的提示購買訊息。 在 uBuntu 上有兩種安裝方式,一個方式由 Sublime Text 官方網站  上直接下載壓縮檔解壓縮使用,或是利用 PPA 的方式安裝。下載安裝的方式,可以參考阿舍的部落格文章「 Ubuntu 安裝 Sublime Text 2 」或是這篇「 How to install Sublime Text 2 on Ubuntu 12.04 」的內容。 Sublime Text PPA 的安裝方式據說因爲付費的關係,已由 uBuntu PPA中移除。我們可以使用下面的方式安裝: 將 PPA 加入系統 Source 中 # sudo add-apt-repository ppa:webupd8team/sublime-text-2 更新一下套件資訊 # sudo apt-get update 接着就可以按鑽個 ...

將 uBuntu 12.04 中的 LibreOffice 3.5 升級至 3.6

uBuntu 12.10 已經推出,在這次的發佈中預載了 LibreOffice 3.6 版本,前一個 uBuntu 版本預載的爲 LibreOffice 3.5 版。在 LibreOffice 3.6 版本中做了許多的改進,包含對中文支援的可近性、DOCX檔案的支援性、寬螢幕支援...等等。 詳細可參考官方說明: LibreOffice 3.6 New Features and Fixes  或下面這篇部落格文章: LibreOffice 3.6 新功能 如果像我使用 uBuntu 12.04 LTS 版本,但又想使用 3.6 版的 LibreOffice,可以透過 PPA 的方式簡單的來安裝。參考網址: https://launchpad.net/~libreoffice/+archive/libreoffice-prereleases 開啓 Terminal(可用 Ctrl+Alt+T 快速鍵),輸入下面先移除舊版 # sudo apt-get purge libreoffice-core 加入 PPA 到系統 Source 中 # sudo add-apt-repository ppa:libreoffice /libreoffice- prereleases 加入完成後更新一下資訊 # sudo apt-get update 安裝 LibreOffice # sudo apt-get install libreoffice 安裝完成後再啓動 LibreOffice 就會是 3.6 的版本嘍! LibreOffice 3.6 PS. 如果在 Command Line 加入 PPA 過程中碰到 pycurl.error,可以更換使用 Software Center 的 Source 加入方式(可參考: How to Add a PPA to Ubuntu ),再將 PPA Key 加入我們的 Keyring 中。LibreOffice 的 key 是 1378B444,可用下面的方式加入 # sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1378B444

uBuntu 12.04 Server Name Resolution(名稱解析DNS設定)

最近安裝 uBuntu 12.04 Server 版本進行一些運算,在 /etc/resolv.conf 設定好 nameserver 位置並新開機後卻無法進行名稱解析?開啟先前設定的 reslove.conf 檔案內容卻被清空了,只剩下兩行內容寫著: # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 原來現在 uBuntu 中 Name REsolution Server 的設定和 Fedora/Redhat 不同,已經和 IP networking 結合,使用 resolvconf framework 不是在 /etc/resolv.conf 中設定。原因是現在的電腦可能不會只在一個網路中使用,當拿到別的網路中使用時就需要重新更改設定,所以就將 Name resolution 設定更改至 interface 的設定裡。 設定方式:  編輯 /etc/network/interfaces,再往卡設定中加入 # sudo vim /etc/network/interfaces dns-nameservers 192.168.3.45 192.168.8.10 另外一個選擇性的,如果有需要做 domain name 的 fully quality 查詢,加入 dns-search example.com 完成後儲存並重新啟動網路 # sudo /etc/init.d/networking restart Reference: uBuntu document: Name Resolution https://help.ubuntu.com/12.04/serverguide/network-configuration.html#name-resolution

CEntOS 上 PHP 5.3 的時區設定問題

最近將原本 Fedora 12 的主機更換成 CEntOS 6.3 版,在這個版本中的 PHP 預設為 5.3.3 版。放上先前撰寫的程式,當有使用到 Date 函數時會出現下面的警告訊息: "PHP Notice: It is not safe to rely on the system's timezone settings, You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier" PHP 5.3 現在需要我們在 php.ini 中設定 timezone 的資訊,或是在使用 date() 函數前先做  date_default_timezone_set() 的設定。 因為是自己的主機,因此我趨向更改 php.ini 設定即可。打開 /etc/php.ini 設定,大約在 943 行的地方有 timezone 的設定項目內容如下: [Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone ; date.timezone = 因為我主機的時區位置是 Taipei 時間,取消 date.timezone 前面的註解符號,並在等號後方加入 "Asia/Taipei"(PHP 的時區可以參考官方 List of Supported Timezones )修改後項目內容如下: [Date] ; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.co...