2010年7月26日 星期一

為磁碟分區產生新的uuid

由於使用DRBL企鵝龍直接用複製分區,他並不會產生新的uuid,在mount時電腦有兩個同樣的uuid導至兩個相同的uuid都會掛載上去。所以就需要修改複製分區的uuid,這樣掛載時就不會有問題了。



想看uuid是如何產生的可以到A Universally Unique IDentifier (UUID) URN Namespace



磁碟分區我是以/dev/sdb4為範例,使用時請自行修改



1、先使用uuidgen可以得知目前的uuid

uuidgen /dev/sdb4


2、在使用tune2fs隨機產生新的uuid

sudo tune2fs -U random /dev/sdb4


▼使用範例▼



2010年7月11日 星期日

ppa-acd v0.7 加入與檢驗套件來源、補齊套件來源缺少的金鑰 [9.04,9.10,10.04]

雖說從Ubuntu 9.10開始就能使用apt-add-repository,比以前的版本進步了很多,這功能讓你在軟體來源直接加入ppa來源(例:ppa:ubuntu-tweak-testing/ppa)自動匯入金鑰,也能在終端機上使用指令(sudo apt-add-repository ppa:ubuntu-tweak-testing/ppa)。



以我的使用習慣,比較喜歡使用終端機,在瀏覽器看到喜歡的套件圈選來源後,在終端機按滑鼠中鍵或按鍵盤「Ctlr+Instrt」貼上指令,完後成按Enter就能加入來源。



但是我覺得還有進步空間,有時候想一次加入多個來源,他直接吐Error: need a repository as argument,澴有沒有防呆功能,加入時不會檢查來源是否有你正在使用的版本,更新套件庫時發現一些404的錯誤,部份原因是來源內沒有你正使用的版本資料,找不到資料也就出現錯誤囉。



所以我試寫一個Shell Script加上我需要的功能,來滿足我的需求,此程式只能在終端機使用喔。



10-07-07 更新至0.2版

11-07-07 更新至0.6版

11-03-10 更新至0.7版





下載與使用ppa-acd



1、下載檔案 ppa-acd



2、給需執行權限

chmod +x ppa-acd


3、多重加入ppa來源

sudo ./ppa-acd ppa1 "deb http:" ppa3 ....etc


名稱:ppa-acd

說明:

多重加入 ppa來源 及 deb來源

檢查 ppa 來源是否有正在使用的發行版本,沒有則略過此來源

避免加入重複的 ppa來源

來源為 ppa 或 deb http://ppa.launchpad.net 時自動搜尋與使用對應金鑰

更新來源後檢查是否有缺少金鑰,有則自動補齊缺少金鑰



版本:0.7

更新資訊:

修正了取得金鑰與匯入金鑰,還有 ppa:foo/ppa 後面少了 /ppa 也能正常使用了。



版本:0.6

更新資訊:

此版本已經不需要在使用apt-add-repository,也就是說Ubuntu 9.10之前的版本,也可以使用了。

來源為ppa或deb http://ppa.launchpad.net時自動搜尋與使用對應金鑰。

現在已經可以加入"deb http:more"此種型式的來源了,記得前後要用"雙引號或'單引號隔開。

sudo ./ppa-acd "deb http://ppa.launchpad.net/ossug-hychen/lazyscripts/ubuntu lucid main" ppa:shutter-testing-team/ppa "deb http://deb.playonlinux.com/ lucid main"



▼使用範例▼







版本:0.2

更新資訊:

修改檢驗ppa來源的方式

檢查是否有輸入ppa關鍵字



▼使用範例▼



perfect_gkey自動補上套件庫缺少的金鑰[all]

常常增加套件庫來源,忘了順便加上GPG key的人有福了,此Shell Script名為perfect_gkey能把你在更新套件庫更新時,出現NO_PUBKEY訊息修正,也就是找缺少的金鑰補上就好了。







名稱:perfect_gkey

版本:0.2

說明:

自動補上套件庫缺少的金鑰



展示畫面







下載與使用perfect_gkey



1、下載檔案給需執行權限

wget http://dl.dropbox.com/u/1776325/ubuntu/perfect_gkey

chmod +x perfect_gkey




2、使用方法

sudo ./perfect_gkey

2010年7月5日 星期一

修複Ubuntu Grub2開機選單 [9.1,10.04 and last new]

Ubuntu 9.10,10.04都能使用此方法修複Grub開機選單,此方法應能適用大部份的狀況。剛好不知怎麼了,我的的開機選單出現錯誤,正好驗證一下寫的是否會有問題。



請準備一片與出問題的系統相符合或高於安裝版本的Ubuntu Live CD,因為,舊的可能無法辨別新版本所使用的分割格式,Live CD可以用複寫片燒錄就行,就算我能用硬碟直接安裝,還是會準備一片以便不時之需。





打開選單「系統」、「管理」、「磁碟工具程式」我系統安裝在/dev/sda(SATA 第一顆硬碟,編號從A開始,第二顆就是B囉),所以我要在sda找出掛載/的裝置,先把所需要的資料找出來。



▼把這些抄起來:裝置:/dev/sda 已掛載於:/ 分割區類型:ext4 掛載點/dev/sda5







實作修複Grub2開機選單



插Ubuntu Live CD開機後,開啟終端機:



1、把原本系統的/掛載到到/mnt。

sudo mount -t ext4 /dev/sda5 /mnt

◎如果你/boot不是在/裡面,而是另外分割區,要先把/boot掛載到/mnt/boot在進行下一步。

2、安裝開機選單,我要裝到/dev/sda,root-directory為原來系統的/,安裝時/就指向/mnt。

sudo grub-install --root-directory=/mnt --recheck /dev/sda



手動比對是否正確



1、把/dev/sda5的uuid找出來。

sudo blkid -s UUID -o value /dev/sda5

2、列出/mnt/boot目錄內容。

ls -l /mnt/boot

3、打開grub.cfg搜尋10_linux,比對內容是否相跟所查到的資料一樣。

sudo gedit /mnt/boot/grub/grub.cfg



▼找出uuid 列出boot內容 比對grub.cfg







沒問題的話就重開機試試看,重開機前記得先把解除剛剛掛載的哦。

sudo umount /dev/sda5