Archive for the 'coLinux' Category

Xming 與 Window Manager

Xming 是我目前正在使用的免費 Win32 X Server,搭配 coLinux 或 [Cygwin] 使用上都很方便。

其實要在 coLinux 或 Cygwin 中使用 XWindow 並不是困難的事,可以選擇自己跑 X Server 或是只跑 X Client,再把畫面丟到 Windows 上的 X Server;另外也有 VNCFreeNX 這類選擇。Xming 用到現在,大概就是 xhost 的設定比較不一樣,安裝上蠻簡單的,也不需要在 coLinux 或 Cygwin 中額外安裝其他套件就能用,算是非常方便的解決方案。 Read more »

txt2tags 輸出 LaTeX 檔測試

之前把舊筆記整理了一下,發布了一篇Windows 下的 coLinux 環境設置。在還不會使用 LaTeX 前都是純文字格式的筆記,剛好前陣子也試用了一下 txt2tags 覺得還不錯,因此前一篇文章其實是用 txt2tags 轉成 HTML 後,再透過以前寫的小程式發布到 blog 上。

Read more »

Windows 下的 coLinux 環境設置

前言

coLinux 的全名是 Cooperative Linux,介紹到此結束 (爆)。這篇只是我的記錄,所以不想打太多字啦,簡單的說就是可以把 Linux 當作一般的應用程式來執行,所以是直接執行 Linux,額外的負擔比較少 (要執行 VM 或 cygwin 也是需要額外資源的)。

雖然我自己大部份時間是使用 Linux 作業,但有時候就是很無奈,因為種種原因只能在 Windows 上操作,不過嘗過 Linux 甜頭的人實在是很難適應 Windows 那樣貧乏的環境;有時則是因為臨時需要 Linux 的實驗環境,但主要工作都在 Windows 上,很難完全轉移。我相信這類情況不是只有我遇到,因此就出現了各種解決方案。

過去最常見的方式是執行 Virtual Machine,如 VMWareVirtual PC 等等,或者是透過 cygwin 之類的模擬環境,還有我這次想介紹的 coLinux。這些工具各有優劣,我只就我個人的使用經驗來談:Virtual Machine 太耗資源,cygwin 環境雖然很接近,但有些跟終端機相關的設定又不太一樣,用起來很不順手。而 coLinux 跑的是 User-mode Linux,環境上最接近真正的 Linux (根本就是),大部份操作跟真正的 Linux 環境下是一樣的,設定檔也可以直接搬過來用。跟所以自從我知道有這種好東西後,就把其他工具丟掉,專心試用 coLinux。

Read more »

在 coLinux 裡安裝 icc

因為我的 colinux 用的是 debian image,所以安裝時得先裝上 rpm 套件
然後再修改一下安裝檔 install_cc.sh

— ../install_cc.sh 2005-12-08 03:58:24.000000000 +0800
+++ install_cc.sh 2006-08-17 16:56:20.000000000 +0800
@@ -1311,13 +1311,8 @@
else
IA=”$(uname -m)”
fi
- KERNEL=”$(uname -r | cut -d’.’ -f-3)”
- #GLIBC=”$(rpm -qf `ls -1 /lib/libc.* | sed ‘1!d’` | cut -d’-’ -f2)”
- if [ "$RPM_NOT_FOUND" = 0 ] ; then
- GLIBC=”$(rpm -qa | egrep -e ‘glibc-2\.2\.4′ -e ‘glibc-2\.2\.5′ -e ‘glibc-2\.2\.93′ -e ‘glibc-2\.3′ -e ‘glibc-2\.4′ 2> /dev/null )”
- else
+ KERNEL=”$(uname -r | cut -d’-’ -f1)”
GLIBC=”$(ls /lib/libc-* | grep -e ‘[.]so’ | sed s@’\(.*\)\(\.so.*\)’@'\1′@g)”
- fi
}

#

這樣就可以順利安裝了

colinux 0.6.4-2

剛剛逛了一下  colinux  的  wiki  才發現已經有新版了
而首頁上卻完全沒更新XD

ChangeLog  [Link]

其中我比較關心的是  cofs  的改進,因為  xp  的分享一直搞不懂
在  colinux  裡開  samba  又會受限於  image  大小…這是我最後的希望了XD

cofs  and  cobd:

  *  Allow  relative  paths  in  XML  (except  for  \Device  &  \DosDevices)
  *  Remove  trailing  backslashes  from  cofs  paths
  *  Improve  console  output  of  mapped  devices  &  paths
  *  Case  insensitive  scans  for  duplicate  paths  

cofs:

  *  Fix  BSOD  for  long  non-ansi  names  in  directory
   (Thanks  to  Kensuke  Matsuzaki)
  *  Fix  for  handling  longer  basenames  (from  127  to  255)  

希望快點穩定阿….

Download
site  1  [Link]
site  2  [Link]

colinux 的備份

這幾天在試試備份  coLinux  的方法
最簡單的方式當然是直接壓縮  disk  image  了
不過壓來壓去,檔案總是很大….

Filesystem      Size Used  Avail  Use%  Mounted  on
/dev/cobd0      1.5G 759M 677M 53%  /
/dev/cobd1      1.5G 316M 1.1G 22%  /home

在  WindowsXP  底下用  7-zip  壓縮的結果

2006/04/25 上午  09:27     491,532,897  fs_home_20060425.7z
2006/04/25 上午  10:49     468,579,178  fs_root_20060425.7z

這樣子感覺好像看不出壓縮保存的效益,7-zip  有那麼遜嗎…
後來想想,該不會要做  dfrag  吧?雖說在  Linux  底下很少聽到需要做  dfrag
但的確還是有這樣的程式,只是我接觸  Linux  以來還沒機會用到,就趁這次來玩玩看吧

問了一下  google  大神,有人提到用  tar  包起來再還原就有  defrag  的效果了
既然不用特別裝程式,那就來試試看吧

我另外弄了一個乾淨的  disk  image,重跑過  mkfs.ext3,mount  在  /mnt/backup
然後寫了一個簡單的  script  把該備份的資料都移到新的  disk  image  裡
基本的指令大概是這樣

tar  cf  -  dir  |  tar  xf  -  -C  /mnt/backup

這是備份或轉移系統的基本指令,有做過的人應該不難
其中有幾個系統目錄要跳過,不然整個  Windows  會直接死當…
為了還原方便,該有的目錄結構也要建立好,這些東西我在  script  裡都處理了
(可能沒有很完整,但目前能用就好)

轉換的過程很快,只是單純的  copy  動作而已,壓縮的結果如下

2006/04/25 下午  04:43     154,420,656  fs_home_20060425.7z
2006/04/25 下午  04:10     198,657,490  fs_root_20060425.7z
2006/04/25 下午  03:49     239,735,856  fs_root_20060425.bz2

壓縮後的檔案大小還不到之前的一半
大概因為我常常在新增/刪除檔案吧 效果還蠻明顯的 :D 如果使用的時間沒那麼久,出來的結果大概不會差很多
還原時只要解壓縮,蓋掉原本的  root  image  後重新啟動  coLinux  就可以了

壓縮的時候我還測了一下  bzip2  跟  7-zip  哪一個比較好用
對一個空的  disk  image  來講,我下載  [Link]
一個  1.5GB  的  disk  image  以  bzip2  壓縮後不到  10kB
不過我解壓縮後重新用  7-zip  壓縮,竟然超過  200  kB

但是對於有資料的  disk  image,7-zip  的壓縮結果似乎好一點
所以我後來就用  7-zip  壓了

如果有人需要這個  script  的話…(我多做了一些判斷,所以看起來有點長)

#!/bin/bash
#  vim:  ts=2  sw=2

Mkdir=`which  mkdir`

root=’/’
[  "$1"  =  ""  ]  ||  root=$1
list=”
exclude=’cdrom  floppy  home  initrd  lost+found  mnt  proc  sys  tmp’
exclude_match=”
backup=’/mnt/backup’

[  -d  $backup  ]  ||  $Mkdir  $backup

echo
echo  ”backup  $root”
echo
cd  $root
for  d  in  *
do
    add=1
    for  e  in  $exclude
    do
        if  [  "$d"  =  "$e"  ];  then
            add=0
            exclude_match=$exclude_match’  ’$d
            break
        fi
    done

    [  $add  =  '1'  ]  &&  list=$list”  ”$d
done

for  d  in  $list
do
    echo  -n  ”archiving  $d…”
    tar  cf  -  $d  |  tar  xf  -  -C  $backup
    if  [  $?  =  '0'  ];  then
        echo  ’done’
    else
        echo  ’failed’
    fi
done

echo
echo  ’keep  directory  structure’
echo
cd  $backup
for  d  in  $exclude_match
do
    [  -d  $d  ]  ||  $Mkdir  $d
done

use swap in coLinux

use swap in coLinux

首先要下載或自己製作一個空的 disk image
[Link]

Read more »