顯示具有 Ubuntu 標籤的文章。 顯示所有文章
顯示具有 Ubuntu 標籤的文章。 顯示所有文章

星期二, 4月 02, 2013

ubuntu 安裝ZFS核心支援

ubuntu支援ZFS的方式有兩種,一種是透過USER SPACE (FUSE),內建的軟體來源就有支援。
如果希望從核心提供支援就要使用第三方的軟體來源。
1.  sudo add-apt-repository ppa:zfs-native/stable
2.sudo apt-get update
3.sudo apt-get install ubuntu-zfs

星期五, 8月 20, 2010

Ubuntu Enterprise Cloude 重新下載 STORE 中的影像檔

#sqlite3 /var/lib/image-store-proxy/database
sqlite>select * from image_registration;
sqlite>delete from image_registration where uri="..............";
sqlite>.quit

星期五, 8月 06, 2010

我的UBUNTU意外毀損救援紀實

以前就知道經常使用的tar指令在操作的時候會自動將目錄開頭的斜線( / )拿掉,雖然知道這個功能的用意是避免解壓縮時蓋掉重要的系統檔,但是從來不覺得這個功能很重要。

直到上週用cpio解一個initrd.img,解開後發現ls指令不能用,重開機開不起來大略看了一下開機錯誤訊息,意識到這已經不是我原來的系統了。

這時候我已經知道是解那個initrd.img時蓋掉了原來的系統,可是我非常確定我是建了一個子目錄在目錄中解壓縮的,這時想起tar的貼心其實也多少造成了管理者的大意,總而言之就是cpio沒有這個貼心的功能。
後悔已經來不及了,只好拿出救援光碟開機。

第一步:
cat initrd.img|cpio -t 先看看這個檔大致有那些內容
評估受影響的有 /lib /usr/lib /bin /sbin /etc
可能不受影響的有 /dev /proc /tmp /sys

第二步:
從備份的/etc目錄複蓋回來

第三步:
從其它電腦複製 /lib /usr/lib /bin /sbin

第四步:
重開機,還是有一些類似的錯誤訊息無法啟動,可能/etc內還是有屬於外來的啟動程式

第五步:
完整刪除/etc,重新還原/etc,重新開機可進入單人模式,部份指令不能執行

第六步:
find /lib|xargs dpkg -S|grep "not found" 找出不屬於任何套件的檔案後,人工判斷後手動刪除
find /usr/lib|xargs dpkg -S|grep "not found" 同樣對/usr/lib/做一次

第七步:
重開機,單人模式正常,無法登入圖形界面,錯誤訊息
/usr/lib/libgconf2-4/gconf-sanity-check-2 和這個檔案有關
網路搜尋和家目錄的權限有關,檢查後沒發現問題

第八步:
處理到這段遇到瓶頸,做了很多事都完全沒有效果,其中包含
dpkg-reconfigure --all 重設所有套件
for pkg in packagelist; do aptitude reinstall $pkg; done; 重新安裝所有已安裝的套件
packagelist是我已安裝的套件列表,我用的simple backaup軟體會自動產生
這個動作花了八小時才完成,可是同樣一點用也沒有

第九步:
重新檢查一次initrd.img,終於有驚人的發現 "它的/tmp目錄權限是774",
比較自已系統的/tmp目錄,果然也被改掉了,原來以為不會被響影的目錄,其實也是最容易修復的目錄,
因為思慮不週竟然花了最多的時間。

第十步:
將/tmp目錄重設為777,重開機,系統完全回復正常。

檢討:
一、目前的備份是否足夠(/etc /home /var中有用到的目錄)﹖應該夠,至少能將系統還原至可用狀態,全備份實在太花時間和空間。
二、操作cpio和其它解縮軟體時一定要小心,一定要用t選項先列出壓縮檔中的目錄。
三、tmp目錄造成X Windows不能登入,以前好像遇過也是花了很多時間才找到,竟然又發生一次。
四、目前用的系統從6.04一直升上來的到現在已經超過4年了,這次發生的意外是目前遇到影響範圍最大的一次意外,雖然沒有重灌但是有的目錄機乎已經是重建一樣,雖然用起來和原來的系統一樣,可是心裡有一點疑惑 "究竟這還是不是原來的系統"

星期二, 3月 09, 2010

在Ubuntu karmic(9.10) 下安裝OCS Inventory NG 中文支援

OCS Inventory NG是一套開放原始碼的電腦資產管理軟體,試用後覺得有以下特色
  1. 免費.
  2. 跨平台支援MS Windows系列及Unix Like系統等作業系統.
  3. 使用代理程式搜集電腦資訊(不需AD網域).
  4. 內建軟體派送功能(需將代理程式安裝為服務模式).
  5. 可自訂標籤(財產號、使用者姓名等).
  6. 可自訂要搜集的Windows登錄檔資訊.
  7. 清單顯示可自訂欄位.
  8. 可將查尋到的資料設定為動態或靜態群組.
在Ubuntu karmic(9.10) 下安裝OCS Inventory NG 中文支援步驟
  1. sudo -s -H (進入root)
  2. aptitude install ocsinventory-reports ocsinventory-server (先安裝內建版本,遇到建立資料庫時先跳過)
  3. 到 ftp://linvinus.ru/ocs/ 下載支援utf-8的deb套件並安裝. (client 程式必須同時改用utf-8版本,否則無法更新資訊,apache errlog 會有 Couldn't open encmap utf8.enc 錯誤)
  4. 使用瀏覽器瀏覽 http://ocs.server.name/ocsreports/ 進行系統設定.
  5. Configuration/Config/Deployment/Downloay (預設為關閉,如要派送軟體需打開)
  6. 確認Configuration/Config/Interface 的 DOWNLOAD_PACK_DIR 和 IPDISCOVER_IPD_DIR 的路徑,可能分別多key了 download 和 ipd
  7. aptitude install ssl-cert (安裝憑證建立工具)
  8. make-ssl-cert generate-default-snakeoil --force-overwrite ( 建立憑證,為了安全性因素,系統限制軟體派送伺服器一定要使用ssl)
  9. cd /etc/apache2/mod-enabled
  10. ln -s ../mod-avaiable/perl.load .
  11. ln -s ../mod-avaiable/ssl.conf .
  12. ln -s ../mod-avaiable/ssl.load .
  13. cd /etc/apache2/sites-enabled
  14. ln -s ../sites-available/default-ssl .
  15. /etc/init.d/apache2 restart (重新啟動apache載入perl及ssl模組)
  16. 到 ftp://linvinus.ru/ocs/ 下載並安裝支援 utf-8 的 windows-agent (1.3版測試時,輸入伺服器網址時,一定要使用名稱不可用ip,否則無法更新資料)
  17. 複製伺服器上 /etc/ssl/certs/ssl-cert-snakeoil.pem 到 pc 的 agent 安裝目錄,並將檔案名稱改為 cacert.pem
  18. 在 pc 的 agent 安裝目錄執行 OCSInventory.exe /server:ocs.server.name /debug 進行測試

星期三, 3月 03, 2010

VirtualBox 虛擬網卡改用 virtio-net

我使用virtualboxr常遇到在虛擬電腦中要連實體電腦的網路分享時,要連第2次才會成功。

VirtualBox從3.1.0版(2009-11-30發佈)開始支援virtio-net,我直到最近重建虛擬電腦才發現有這個設定,試用過後不再有網路分享要連第2次才成功的問題。

比較麻煩的是virtio-net由kvm開發,virtiualbox雖然支援卻不提供驅動程式,使用virtio-net時要另外從
http://sourceforge.net/projects/kvm/files/kvm-driver-disc/ 下載驅動程式。

星期二, 1月 26, 2010

讓系統進入待命狀態的快速鍵

我不喜歡設定電腦幾分鐘不使用後,進入待命狀態達到節能的目的,因為常常不用電腦幾分鐘後電腦好不容易進入待命了,又要開始用電腦了。

為了節約能源並且兼顧使用方便性,我研究了一個方法透過鍵盤捷徑(快速鍵)讓我的 Ubuntu 9.10 的電腦可以很快的進入待命狀態(其它比較新的系統應該也適用請自行測試)。

1.首先找到進入待命狀態的指令是 /usr/sbin/pm-suspend,這是 /usr/lib/pm-utils/bin/pm-action 的符號連結。
2.因為 pm-suspend 只允許 root user 執行,所以執行 sudo visudo 在編輯器開啟的檔案中加入一行
your_user_name ALL=NOPASSWD: /usr/sbin/pm-suspend
3.滑鼠點選->選單->系統->偏好設定->鍵盤捷徑->加入,名稱:系統待命,指令:sudo pm-suspend,套用後設定一個喜歡的按鍵組合。

星期四, 4月 02, 2009

簡化Gnome工作面板的選單

選單圖Gnome的工作面板選單分為 "應用程式、位置、系統" 雖然方便,但是如果螢幕不大就會太佔空間。如果要簡化可以在選單上按滑鼠右鍵選 "從面板移除" ,另外在面板上按滑鼠右鍵選 "加入面板" 並將 "主選單"加入面板。完成後如下圖
 主選單圖

星期五, 1月 16, 2009

在GNU/Linux連MS SQL資料庫

1.安裝 tdsodbc、freetds-bin、libsybdb5、freetds-common、unixodbc

2.執行 TDSVER=8.0 tsql -H ser.ver.ip.1 -p 1433 -U username -P password (測試freetds,OK 出現 "1>" )

3.編輯 /etc/freetds.conf
[server_ts]
host = ser.ver.ip.1
port = 1433
tds version = 8.0
client charset = UTF-8

4.執行 tsql -S server_ts -U username -P password (測試 freetds.conf 設定)

5.編輯 /etc/odbcinst.ini (預設即可,記住[ms_sql]標簽)
[ms_sql]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =

6.編輯 /etc/odbc.ini
[DSNname]
Description = test database
Driver = ms_sql -------------------------->odbcinst.ini中的標簽
Servername = server_ts ------------------>freetds.conf中的標簽
;Server = ser.ver.ip.1 ---------------->如不使用Servername就要使用Server和Port但中文有問題,在這指定client charset 沒有用
;Port = 1433
Database = databasename

7.執行 isql -v DSNname username password (測試odbc.ini設定,出現 "sql>" 即可)

8.如在odbc.ini中使用Servername方式不行而使用Server加Port方式可以,表示isql找不到freetds.conf
可能要執行 ln -s /etc/freetds.conf /usr/local/etc/freetds.conf


補充64位元版本
/etc/odbcinst.ini內改為
Driver64=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup64=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

星期三, 6月 04, 2008

用debootstrap安裝系統

1.準備並掛載根目錄
mkdir /new_root
mount /dev/new_partition /new_root
mkdir /new_root/dev
mount --bind /dev /new_root/dev
mkdir /new_root/proc
mount -t proc proc /new_root/proc
mkdir /new_root/sys
mount -t sysfs sys /new_root/sys

2.安裝基礎系統
sudo apt-get install debootstrap
debootstrap dapper /new_root
cp /etc/apt/sources.list /new_root/etc/apt
cp /etc/resolv.conf /new_root/etc
cp /etc/hosts /new_root/etc
cp -a /etc/network* /new_root/etc

3.chroot到new_root繼續安裝
sudo chroot /new_root
apt-get update
apt-get install ubuntu-base linux-386 ubuntu-desktop dmraid grub

4.安裝GRUB
mkdir /boot/grub
cp /lib/grub/i386-pc/stage1 /boot/grub/
cp /lib/grub/i386-pc/stage2 /boot/grub/
grub
device (hd0) /dev/new_disk
root (hd0,0)
setup (hd0)
quit
update-grub

5.檢查並修改設定
vi /boot/grub/menu.lst
vi /etc/fstab

星期二, 4月 15, 2008

我的Ubuntu一直無法休眠

我的Ubuntu一直無法休眠,參考了網路上這一篇文章修改了/etc/initramfs-tools/conf.d/resume檔案裡的uuid為正確的uuid,後執行update-initramfs -u更新initrd.img。
仍有問題,最後發現是連線中的iscsi設備造成無法休眠。

Ubuntu 8.04 安裝 vmware server

Ubuntu: 8.04
kernel: 2.6.24-16-generic
Vmware server: 1.0.5
vmware-any-any-update-116

1.下載 vmware server 及 vmwar-any-any
2. alien -i VMware-server-1.0.5-80187.i386.rpm
3. cp /lib/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1/
4. cp /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/
5. tar xvf vmware-any-any-update-116.tgz
5. vmware-any-any-update116/runme.pl