星期三, 12月 31, 2008

名言札記

任何一項技藝,長期不練習會手生,長期不思考,往往會使人退步。 - 卡徒

星期五, 12月 26, 2008

[TIPS] 刪除頑強的檔案

原文:http://forum.icst.org.tw/phpbb/viewtopic.php?t=16095

在資安論壇上看到這篇文章, cic5477 找到的方法還蠻有用的,值得列為技巧!

#ls -li
查出該檔案的inum編號
#find . -inum 查出的inum編號 -exec rm {} \:

星期四, 12月 25, 2008

[轉貼] 將 VMware 的映像檔轉成 Virtualbox

看作者寫的方式似乎變簡單的,不過,由於要裝 qemu,所以就只能在 Linux 平台上做了。

  1. 首先,先安裝 qemu
    # sudo apt-get install qemu
  2. 接著就可以將 vmdk 檔案轉成 Virtualbox 映像檔
    # qemu-img convert centos.vmdk /tmp/centos.bin
  3. 最後,就是利用 VBoxManage 將映像檔,轉成 Virtualbox 的 vdi 檔
    # VBoxManage convertdd /tmp/centos.bin centos.vdi
看起來應該值得試試!

星期一, 12月 08, 2008

轉貼:常用正則表達式

在「孤劍之家」的回覆文中看到這個,覺得很有用,就記錄下來,正規表示真是個好東西!!


常用正則表達式  正則表達式用於字符串處理、表單驗證等場合,實用高效。現將一些常用的表達式收集於此,以備不時之需。


匹配中文字符的正則表達式: [\u4e00-\u9fa5]
評註:匹配中文還真是個頭疼的事,有了這個表達式就好辦了

匹配雙字節字符(包括漢字在內):[^\x00-\xff]
評註:可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)

匹配空白行的正則表達式:\n\s*\r
評註:可以用來刪除空白行

匹配HTML標記的正則表達式:<(\S*?)[^>]*>.*?|<.*? />
評註:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的嵌套標記依舊無能為力

匹配首尾空白字符的正則表達式:^\s*|\s*$
評註:可以用來刪除行首行尾的空白字符(包括空格、製表符、換頁符等等),非常有用的表達式

匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
評註:表單驗證時很實用

匹配網址URL的正則表達式:[a-zA-z]+://[^\s]*
評註:網上流傳的版本功能很有限,上面這個基本可以滿足需求

匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
評註:表單驗證時很實用

匹配國內電話號碼:\d{3}-\d{8}|\d{4}-\d{7}
評註:匹配形式如 0511-4405222 或 021-87888822

匹配騰訊QQ號:[1-9][0-9]{4,}
評註:騰訊QQ號從10000開始

匹配中國郵政編碼:[1-9]\d{5}(?!\d)
評註:中國郵政編碼為6位數字

匹配身份證:\d{15}|\d{18}
評註:中國的身份證為15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+
評註:提取ip地址時有用

匹配特定數字:
^[1-9]\d*$    //匹配正整數
^-[1-9]\d*$   //匹配負整數
^-?[1-9]\d*$   //匹配整數
^[1-9]\d*|0$  //匹配非負整數(正整數 + 0)
^-[1-9]\d*|0$   //匹配非正整數(負整數 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非負浮點數(正浮點數 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正

星期四, 12月 04, 2008

[unix tool] Screen

用過人都說讚啊!一定要學~~~

http://tavi.debian.org.tw/index.php?page=screen

星期二, 11月 25, 2008

VirtualBox 又出修正版本囉!

目前更新至 2.0.6
下載地點:http://www.virtualbox.org/wiki/Downloads

[mysql] latin1 -> utf8

這幾天終於下定決心,把原本用 latin1 編碼的圖書管系統,手動寫 code 把資料表轉換過來,過程中還算順利,取 latin1 資料時先用 set names latin1,但是很奇怪的是,寫資料進 utf8 編碼的資料表卻得用 set names big5,若用 set names utf8,反而是亂碼~~~~

如果有先進知道原因的話,還請解惑一下~~

參考網址:http://blog.miniasp.com/post/2007/12/How-to-convert-MySQL-41-and-50-latin1-encoding-to-UTF-8.aspx

[VS] .vhost.exe

裝載處理序 (Hosting Process) 是 Visual Studio 2005 中的一項功能,能改善偵錯效能、啟用部分信任
(Partial Trust) 偵錯,以及啟用設計階段運算式評估。裝載處理序檔的檔名中包含
vshost,且位於專案的輸出資料夾。

更詳細資訊可至 MSDN查看 http://msdn.microsoft.com/zh-tw/library/ms185331(VS.80).aspx

星期四, 11月 20, 2008

[FreeBSD] 更新 amavisd-new 後,Postfix 無法寄信出去

上個星期,一時興起,把amavisd-new 更新,結果,過兩天後發現 mail  spool內出現 8 千多筆信件寄不出去,用 postqueue -p 來檢視時大部分都出現 "locate connection to [127.0.0.1] " 的訊息。

問題找了好久,後來總算在 amavis.log 內看到 SpamAssassin 啟動時不正常,再找了一下文件,原來是 SpamAssassin 也升級了,而且設定檔的方式不太一樣,原本 razor,dcc, pyzor 等等都不再 /usr/local/etc/mail/spamassasin/local.cf 內來啟動,所以就直接把套件附的 local.cf.sample 拿過來修改,再重啟,嗯!OK!!!

註:看著 mail spool 的數量從 8000 一直銳減,心裡那個痛快~~~~~爽!

星期四, 11月 13, 2008

[Windows]cacls 變更目錄及檔案的權限

學生的資料夾明明有該生帳號的所以權限,卻無法進入自己的子資料夾,如果只有一、二個人還可以手動來修改,當人數大於10的時候,用 [cacls] 這個指令實在是救苦救難的菩薩。
用法如下:
學生帳號:user001
學生資料夾:foloder001

cacls folder001 /T /E /G user001:F

/T 表示包含子資料夾
/E 表示修改目前的權限,否則它會清空再加上指定的使用者權限
/G user001:F  表示增加一個帳號權限,F表示Full permission


由於學生的學生帳號及資料夾為連續號,所以可直接用 excel 拉出所有的學生學號,再用串接的方式,把它放在一個儲存格內,然後就可以直接複製貼至命令提示字元,或是儲成批次檔,三千多位學生一下子就完成了。

指令控就是強!!!!!

星期二, 11月 11, 2008

[Ubuntu] 安裝CVS Server & Subversion Server

直接看 Ubuntu的官方指引,一下子就安裝好了

CVS Server:
https://help.ubuntu.com/8.04/serverguide/C/cvs-server.html

Subversion:
https://help.ubuntu.com/8.04/serverguide/C/subversion.html

PHP 該跑 CGI 模式還是 Apache Module模式?

星期四, 11月 06, 2008

[ubuntu]Use BitTorrent to Upgrade to Ubuntu Intrepid Ibex

利用 bittorrent技術來更新升級 Ubuntu 8.10

http://torrentfreak.com/use-bittorrent-to-upgrade-to-ubuntu-intrepid-ibex-081029/

星期五, 10月 31, 2008

[FreeBSD]cvsup 換成 portsnap

一直以來, ports 的更新都是利用 cvsup 或 csup 來下載更新,昨天試了 portsnap,覺得還真的蠻好用,也蠻方便的。把它的操作記錄下來。

第一次:
# portsnap fetch
# portsnap extract

之前每次更新
# portsnap fetch update (有些舊的版本,可能得分成兩行 portsnap fetch, portsnap update)


設定定時更新
0 3 * * * root portsnap -I cron update && pkg_version -vIL=

(portsnap cron 會在60分鐘內去下載更新檔)

FreeBSD 系統更新 6.1->6.3

這幾天一直被 freebsd 6.1 無法更新某些安全性而困擾,就想把它升級為 6.3,剛好有空,就把裡頭的重要資料備份起來

待續............

星期五, 10月 24, 2008

[FreeBSD] portupgrade 的使用方式

ports 實在是個很好用的構想,可以說就是因為 ports,我才一頭愛上 BSD 系統。
講到 ports 當然不能不知道 portupgrade,剛好在爬文時看到{就是我}這篇文章,覺得真是不錯,值得記錄下來供大家參考。
http://blog.roodo.com/thegiive/archives/1624869.html

前置動作



cvsup cvsupfile-ports

portsdb -Uu

pkgdb -F

檢查是否需要升級



portupgrade -aWyn -l /tmp/portupgrade.log

sort /tmp/portupgrade.log | mail -s "`hostname` report" root

upgrade前檢查等下的動作



portupgrade -nRf pkg_name

重新建立所有相依於此套件的套件,但是不upgrade此套件



portupgrade -rx pkg_name pkg_name

直接升級此套件



portupgrade pkg_name

升級完後續動作



pkgdb -F

星期四, 10月 23, 2008

[FreeBSD] 升級 clamav 0.94

前幾天終於把mail server這台被我另外加上很多用途的 server 從 6.1 升級為 6.3。
目前看起來還順利。

不過,原本以前 clamav 0.92 可以順利升級為 0.94,卻在編譯時,出現錯誤訊息
../libclamav/.libs/libclamav.so: undefined reference to
`gethostbyname_r'
*** Error code 1

Stop in /usr/ports/security/clamav/work/clamav-0.94/clamscan.
*** Error code 1

Stop in /usr/ports/security/clamav/work/clamav-0.94.
*** Error code 1

Stop in /usr/ports/security/clamav/work/clamav-0.94.
*** Error code 1

Stop in /usr/ports/security/clamav.
*** Error code 1

Stop in /usr/ports/security/clamav.

這個問題沒看過,嘿!趕緊上網求 GOOGLE大神,果然有人在討論,有位網友(kwijibo)提到可以直接把 Makefile 檔案內的 CONFIGURE_ARGS 這個變數內把 --enable-gethostbyname_r 刪掉。

直接試一下,嘿!果然成功!!記得要先 make clean再重新 make 喔!

星期一, 10月 13, 2008

手動移除 VirtualBox Guest Additions

突然想在 Ubuntu 中移除VirtualBox,所以找了一下資料,移除方式如下:
sudo find /etc -name "*vboxadd*" -exec rm {} \;


sudo find /etc -name "*vboxvfs*" -exec rm {} \;


sudo rm -r /usr/src/vboxadd-*


sudo rm -r /usr/src/vboxvfs-*


sudo rm /usr/sbin/vboxadd-timesync


sudo rm /lib/modules/`uname -r`/misc/vboxadd.ko


sudo rm /lib/modules/`uname -r`/misc/vboxvfs.ko


星期日, 10月 05, 2008

firefox 3.0 升級為 3.0.1 後無法開啟 VMware Server Remote Console

解決辦法:
在終端機中
$ cd ~/.mozilla/

$ find . -type d -iname "VMwareVMRC@vmware.com"

會找到類似
./firefox/njx4m1zl.defaultextensions/VMwareVMRC@vmware.com</pre></blockquote><code></code>切換至該目錄<br /><blockquote><pre>$ cd ./firefox/njx4m1zl.defaultextensions/VMwareVMRC@vmware.com</pre></blockquote>
先備份然後再開啟 <i><b>install.rdf</b> </i>檔案<br />
<br />
<blockquote><code>$ cp install.rdf ~/install.rdf.bak</code><br /><code>
$ vi install.rdf</code><br /></blockquote>
找到下列內容:
<blockquote><pre><em:maxVersion>3.0.0.*</em:maxVersion></pre></blockquote>
<p>將<i><b>3.0.0.*</b></i> 改成 <i><b>3.0.1.*</b></i> ,存檔後再開啟 firefox 就可以了。 <br /></p>
<blockquote><pre><em:maxVersion>3.0.1.*</em:maxVersion><br />

星期三, 8月 06, 2008

Perl 基本學習(1)

Perl 初學
清單
($a, $b) = (10, 20);
陣列
#----------------------
@a = (10, 20, 30);
#----------------------
result:
$a[0] = 10;
$a[1] = 20;
$a[2] = 30;
#----------------------
@a = ("台北縣樹林市", 238);
#----------------------
result:
$a[0] = "台北縣樹林市";
$a[1] = 238;
清空陣列
#----------------------
@a = ();
#----------------------

參照陣列元素
將值代入陣列元素
ex1:
#----------------------
@a = ("One", "Two", "Three");
@a[0] = 1;
@a[1] = 2;
@a[2] = 3;
$n = 2;
print $a[$n];
#----------------------
result: 3
#----------------------

ex2:
#----------------------
@a = (1,2,3,4);
print "$a[0] ";
print "$a[1] ";
print "$a[2] ";
print "$a[3] ";
#----------------------

將清單代入陣列各個元素
ex1:
#----------------------
@a = (1, 2, 3);
($a1, $a2) = @a;
#----------------------

ex2:
#----------------------
@a = (1, 2, 3);
($a1, $a2, $a3, $a4) = @a;
#----------------------
$a4 為空值,沒有代入任何值

陣列的索引
@a = (1, 2, 3);
$a[0], $a[1], $a[2]
or
(在 perl 中陣列的最後一個元素以 -1 來表示,所以也可以寫成)
$a[-3], $a[-2], $a[-1]

陣列的元素數
在陣列名稱前加上「$#」,可求得元素索引的最大值
@a = (1, 2, 3, 4);
print $#a;
#-------------------------
result: 3

陣列的大小
對索引指定元素數以上的數字時,陣列的元素數會自動擴大
@a = (1,2,3);
$a[10] = 10;
print $#a;
#----------------------
result: 10

若將清單代入陣列中,陣列的元素數會變成清單的元素數。
@a = (1,2,3,4,5,6);
@a = (6,7,8);
print $#a;
#----------------------
result: 2

關連陣列:將 key 和 value 整合的陣列, 關連陣列以「 %」符號來做宣告。
%a = ("name", "bobo", "num", 3, 10, 100);
#or
%a = ("name"=> "bobo", "num"=> 3, 10=> 100);
#---------------------------
result:
$a{"name"} = "bobo";
$a{"num"} = 3;
$a{10} = 100;

清空關連陣列
%a = ();

星期日, 8月 03, 2008

將 GridView 內容匯出成 Excel 檔案問題

每次遇到這個問題都要上網查一下,把章立民研究室回答的內容做個連結,下次就比較方便了啦!
將 GridView 內容匯出成 Excel 檔案問題

星期六, 7月 05, 2008

news: Google釋出內部安全偵測工具RatProxy原始碼

iThome online : : 新聞內容
Google釋出內部安全偵測工具RatProxy原始碼

詳情請查詢閱讀原文網址
http://www.ithome.com.tw/itadm/article.php?c=49717

星期五, 7月 04, 2008

moodle各版本安裝時所需的環境

轉載 moodle官網 http://docs.moodle.org/en/Environment

Moodle version 1.5.3


  • MySQL version - 3.23 or later is required
  • PHP version - 4.1.0 or later is required
  • The php_extension mbstring is recommended to be installed/enabled

Moodle version 1.6


  • MySQL version 4.1.12 or later for sites that are exclusively Latin-1, 4.1.16 if you have other languages, or PostgreSQL 7.4.x or later
  • PHP version 4.3.0 or later is required (but don't use versions 5.0.0 to 5.0.6 which were buggy)
  • The php_extension iconv is recommended to be installed/enabled
  • The php_extension mbstring is recommended to be installed/enabled

Moodle version 1.8



Moodle version 1.9



Moodle version 2.0


星期日, 6月 29, 2008

轉載:用 chroot 在 Debian 4.0 中啟動 b2d


分類:Linux 記事

2007/11/12 22:37


Debian 參考手冊第八章中(8.6.35) 提到可以用 chroot 來執行不同版本的 Debian, 今日心情特別好, 就來試看看囉!正好硬碟中 /dev/hda2 是之前用的Sarge版本(b2d) root directory, 我的 Debian 4.0 則是裝在 /dev/hda7, 所以就不必用 debootstrap 來建構另一個系統, 就由現成的架構來試一試, 結果真的成功了, 這一篇文章就是由 Debian 4.0 開機進入 X-window 後再以 chroot 操作 b2d 的 X-window 來完成的, 真是美好的經驗啊!


另外參考網頁:摩托學園討論區:建構 Debian 子系統 (sarge)


詳細內容請詳閱: http://tw.myblog.yahoo.com/jw!_fUl7X2LFR_349O8abd7YXF9nQ--/article?mid=160&prev=174&next=159

如何變更時區 (Ubuntu)


  1. Logged in as root, check which timezone your machine is currently using by executing `date`. You'll see something like Mon 17 Jan 2005 12:15:08 PM PST, PST in this case is the current timezone.

  2. Change to the directory /usr/share/zoneinfo here you will find a list of time zone regions. Choose the most appropriate region, if you live in Canada or the US this directory is the "America" directory.

  3. If you wish, backup the previous timezone configuration by copying it to a different location. Such as

    mv /etc/localtime /etc/localtime-old

  4. Create a symbolic link from the appropiate timezone to /etc/localtime. Example:

    ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime

  5. If you have the utility rdate, update the current system time by executing

    ntpdate -s time.stdtime.gov.tw

    or

    ntpdate -s time.nist.gov


  6. Set the hardware clock by executing:

    hwclock --date --set

FreeBSD UTF-8化

轉載 http://blog.ychsiao.org/2008/03/02/400


由於平時都用 putty 來管理 freebsd,所以有時會需要輸入中文,把設定記下來,下次才不會又找半天!!

星期四, 6月 19, 2008

[Ubuntu] 安裝 VMware Server 2.0 beta

Install VMware Server 2.0 Beta on Ubuntu 7.10 “Gutsy” : Ubuntu Tutorials : Dapper - Feisty - Gutsy - Hardy

雖然是針對 Ubuntu 7.10,不過,也適用 8.04的版本。
How to install VMware Server 2.0 Beta in Ubuntu 7.10 “Gutsy Gibbon”

1. Download VMware Server 2.0 Beta available from the VMware website. Write down the serial number it generates for you at registration.
(下載 VMware Server 2.0 Beta,並且把序號存檔)
2. Unpack this archive to a location on your machine (perhaps /tmp).
(解壓縮 vmware server 2.0 beta)
3. Before you configure and compile VMware Server we need to disable ipv6 support in Ubuntu as it is not currently compatible.
(關閉 IPv6 協定)
4. sudo aptitude install build-essential xinetd
(安裝 build-essential 及 xinetd 兩個套件)
5. cd /tmp/vmware-server-distrib ; sudo ./vmware-install.pl
(進入 vmware 解壓縮後的目錄,執行安裝)
6. Answer the questions presented during the installation. The defaults should be safe in most cases.
7. Because Ubuntu does not use the root user account we also need to setup access for your main user. Replace root with your username on line 10 of: /etc/vmware/hostd/authorization.xml (ACEDataUser).
(將 /etc/vmware/hostd/authorization.xml 第8行的 root 改成 ubuntu 登入的帳號)

8. At this point I had to restart my machine to put the changes in place. I did try restarting the service(s) after changing the config, but it still didn’t allow access.
(重新啟動電腦)
9. Access your VMware Server via http://localhost:8222 or https://localhost:8333
(用瀏覽器存取 VMware Server )
10. Accessing the remote console tab to view your virtual machine will also require an extension installed to Firefox. This also requires a browser restart after the extension is installed.
(用 Firefox或 IE 都可以順利執行,不過,利用Galeon 時卻因為無法安裝套件而無法順操作 VMware)

星期三, 6月 18, 2008

星期二, 6月 17, 2008

設定 VirtualBox 網卡為 Host

上網找了一下,在 https://help.ubuntu.com/community/VirtualBox 裡發現相關的作法,記錄下來,以免下次忘記。


VirtualBox - Community Ubuntu Documentation
Networking

To start, NAT is by far the easiest way to get your guests connected to the interweb, but you may want to use the guests as servers, for this you need Host Networking. You will need to install bridge-utils and uml-utilities so that you can make a tap device and add it to a bridge.

sudo apt-get install bridge-utils uml-utilities

Now make a bridge, and put your current interface into it:

sudo tunctl -t tap1 -u fred #請將 fred 改為可以執行 VirtualBox 的帳號
sudo chown root.vboxusers /dev/net/tun
sudo chmod g+rw /dev/net/tun


Set the permission to persist across reboots, by editing as root /etc/udev/rules.d/20-names.rules and changing:

KERNEL=="tun", NAME="net/%k"

to

KERNEL=="tun", NAME="net/%k", GROUP="vboxusers", MODE="0660"

Make a new bridge called br0:

sudo brctl addbr br0

Put your current interface (in this case eth0) into promiscuous mode, then add it to the bridge and give the bridge a dhcp address.

sudo ifconfig eth0 0.0.0.0 promisc
sudo brctl addif br0 eth0


If you are using DHCP to automatically get an IP address, set the bridge to use DHCP.

sudo dhclient br0

If you are using a static IP, specify the IP address, netmask and add the default gateway route

#Where 192.168.1.105 is your static IP and 255.255.0.0 is your netmask
sudo ifconfig br0 192.168.1.105 netmask 255.255.0.0

#Where 192.168.1.1 is your default gateway
sudo route add default gw 192.168.1.1 br0

Add the new tap1 device to the bridge and activate tap1 (the second line appears to be necessary according to [WWW] http://ubuntuforums.org/showthread.php?t=561461#3)

sudo brctl addif br0 tap1
sudo ifconfig tap1 up

星期日, 5月 25, 2008

test Zoundry Raven~~~~


this is a test article......

星期一, 5月 12, 2008

萬歲!Delicious.Yahoo 終於支援 firefox 3 囉!

啊!
等很久了啊!
終於出來了,實在感謝啊!


唉!搞錯了,是Nightly Tester Tool 的功勞啊。


哈!終於等到支援 Firefox 3 的新版本了。沒有「美味書籤」,做啥都覺得有點怪!

萬歲!Delicious.Yahoo 終於支援 firefox 3 囉!

啊!
等很久了啊!
終於出來了,實在感謝啊!

星期五, 5月 02, 2008

Adobe®Creative Suite®3 版本比較表

Adobe Creative Suite 版本有好幾個,有時真會搞不清楚每個版本包含的內容,上網 google 了一下,嗯!還真有:


Adobe®Creative Suite®3 版本比較表

星期一, 4月 28, 2008

在 opera 中使用 scim

安裝了 opera 之後,開起來一直會當掉,原本還以為是程式有相容問題,不過,後來試著把 scim 關閉再開,咦!正常,上google找了一下資料,果然有解法,把它記錄下來,以免下次忘記!!

http://blog.3gcomet.com/article.asp?id=281


sudo apt-get install scim-qtimm
sudo gedit /usr/bin/opera

星期五, 4月 18, 2008

[freebsd ]拒絕 ssh 探測


一直以來都是把所有的機器用tcp_wrapper 擋住外部 ip,開放內部 ip 來登入,然後開放一台機器供 外部連線,再連到其它機器,不過最近每次看到 log 檔,就覺得煩啊!


進入 /usr/ports/security,找了 *ssh* 的 port,嘿!發現有好幾個項目,看到其中一個是 sshblock,感覺可能是我要的功能,就上 google 查了一下,還真的是我想要的功能!



照著網友的說明,兩三下就裝好了,還蠻容易的,可以試試啊!


# cd /usr/ports/security/sshblock
# make
# make install
# vi /etc/rc.conf
#(加入下列指令)
# SSH Block
sshblock_enable="YES"
sshblock_flags="-t /usr/local/etc/sshblock.tragger"

# vi /usr/local/etc/sshblock.tragger
#(加入下列指令, 表示60秒內有3次嘗試登入)
60:3
# /usr/local/etc/rc.d/sshblock start


ps: 忘了提一下,不知是我的 freebsd 版本比較舊,還是 ports 有問題,在安裝 sshblock 時,一直出現無法下載 sshblock檔案的訊息(檔案大小不符)。
fetch: ftp://freebsd.nsysu.edu.tw/pub/FreeBSD/distfiles/sshblock-1.0.pl: size of remote file is not known
所以我就直接用 ftp 連線到任一大學(我選義守 ftp.isu.edu.tw)的 ftp 站,到 freebsd 的 distfiles 下載 sshblock-1.0.pl,把它複製到 /usr/ports/distfiles,然後再重新 make 一次就沒問題了。


星期六, 4月 05, 2008

[Database] Foxpro 的小bug


目前處理的case,是用 foxpro 來當作database(暈啊!這東東還是有人在用啊!),本來利用 OleDB 來讀取都不太有問題。


不過,上個星期遇到一個問題,有個資料表中出現了意義類似的欄位 20個,而且還是二組啊!(不要問我為什麼這樣設計,這不是我設計的),結果就是我得很辛苦地用利用迴圈把 SQL 指令中的 where子句 產生出來( TNND,脫口而出.....)。


好了,原本想說這樣問題就解決了,不過,痛苦才剛開始啊!因為這個SELECT出來的資料表需要對應到另一個資料表抓出資料,OK,就用 WHERE fieldName IN ( 'xxx', 'yyy', 'zzz') 的方式,結果,出現了一個無法解決的錯誤訊息: statement too long,上網查了一下,這是Foxpro 6.0 的 bug,唉!快瘋了。


結論就是.................自己用 ASP做苦工把 foxpro 的 DBF 轉成 MDB的檔案啊!


星期五, 4月 04, 2008

FreeBSD 的一些文章


uwaterloo 這個網站提到,freebsd4.11 - freebsd 6.0 已經算是過期了,而且不再有效的支援。唉!就是要用新版啦!不過,還好bsd 不像微軟,版本一換之後,全部又得再重學一遍。


底下的連結是 uwaterloo 關於 Freebsd 的一些文章教學


http://www.freebsd.uwaterloo.ca/twiki/bin/view/Freebsd/WebHome


VLAN 配置基礎及實例探討


VLAN實在是個很不錯的東東啊!尤其是管轄的網路範圍需要切割出來的時更是方便。


在 IT動力源看到的文章,就把它記錄下來吧!


分享交換機 VLAN 配置基礎及實例探討 (1)



星期四, 3月 27, 2008

[DATABASE] ADO OpenSchema Method


利用 ADO 來抓出資料庫內的資料表、View 可以利用 ADO裡的 Connection物件內的 OpenSchema 方法(Method) 來達到這個目的。


Connection.OpenSchema(querytype, Criteria, SchemaID )


querytype:
20 -> all tables and views
4 -> all columns


比較值得注意的是 Criteria, 它是一個陣列,依照 querytype來傳入值。



QueryType Criteria
=============================
adSchemaTables TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE


QueryType Criteria
===============================
adSchemaColumns TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME


QueryType Criteria
================================
adSchemaIndexes TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME



以下以 ASP 來做範例:


Set conn = Server.CreateObject("ADODB.Connection")


' 只取出 資料表名稱, 若不傳參數,就用 empty
Set Rs = Conn.OpenSchema(20, array(empty, empty, empty,"table") ))


[網管] 華碩也出小電腦囉 - Nova lite


從「癮科技」電子報看到這個報導,不知有沒有比 Acer 那台 L410好一點!!


以下為截錄內容------------------------------------------------------------


而NOVA Lite也是屬於輕薄短小型的桌機。



NOVA Lite PX20特色如下:
1、輕鬆擁有、輕擁使用(這......,雖然筆者喜愛這東東,但這特點怪怪的)
2、重量1.5公斤
3、散熱能力強,很安靜
4、三年保固,到府收送
5、含螢幕不到兩萬,不含螢幕不到一萬五。(TIEBOB註:如果和 ACER L410 中信局的價格相比的話,倒是便宜多了)
6、4個USB埠、DVI、內建喇叭。
------------------------------------------------------------




Technorati :

[Database] ADO Data Types與數據庫值對應


嘿!有這個對應表的話,用程式來建立資料表就方便多了。


由於用 asp + oldeb for foxpro,所以要參考 Oledb 的部分。


ADO Data Types與數據庫值對應 http://www.zaoxue.com/article/tech-48473.htm








































































































































DataType EnumValueAccessSQLServer
adBigInt20
BigInt (SQL Server 2000 +)
adBinary128
Binary
TimeStamp
adBoolean11YesNoBit
adChar129
Char
adCurrency6CurrencyMoney
SmallMoney
adDate7DateDateTime
adDBTimeStamp135DateTime (Access 97 (ODBC))DateTime
SmallDateTime
adDecimal14

adDouble5DoubleFloat
adGUID72ReplicationID (Access 97 (OLEDB)), (Access 2000 (OLEDB))UniqueIdentifier (SQL Server 7.0 +)
adIDispatch9

adInteger3AutoNumber
Integer
Long
Identity (SQL Server 6.5)
Int
adLongVarBinary205OLEObjectImage
adLongVarChar201Memo (Access 97)
Hyperlink (Access 97)
Text
adLongVarWChar203Memo (Access 2000 (OLEDB))
Hyperlink (Access 2000 (OLEDB))
NText (SQL Server 7.0 +)
adNumeric131Decimal (Access 2000 (OLEDB))Decimal
Numeric
adSingle4SingleReal
adSmallInt2IntegerSmallInt
adUnsignedTinyInt17ByteTinyInt
adVarBinary204ReplicationID (Access 97)VarBinary
adVarChar200Text (Access 97)VarChar
adVarWChar202Text (Access 2000 (OLEDB))NVarChar (SQL Server 7.0 +)

[DATABASE] 各種資料庫的欄位型態


下列的參考資料十分不錯,列出大部分用到的資料庫欄位型態,寫程式時還蠻有用的!


Databases - Field Types http://mc-computing.com/Databases/FieldTypes.html


ex:




Foxpro














































































TypeSizeDescription
Character1 to 254
Currency8 bytes18 significant figures, including 4 decimal places
Not available in Database Explorer
Date8 bytesJanuary 1st, 1 A.D to December 31st, 9999 A.D
DateTime8 bytes
Logical1 byte
Variant
Can hold any type of field
Double8 bytes+/-4.94065645841247E-324 to +/-8.9884656743115E307
13 significant figures
This range does not make sense
Numeric1 to 20 bytes- .9999999999E+19 to .9999999999E+20
up to 10 significant figures (specified by the user), same as Float
Float1 to 20 bytes- .9999999999E+19 to .9999999999E+20
up to 10 significant figures (specified by the user), same as Numeric
Integer4 bytes-2,147,483,647 to 2,147,483,647
Integer (Autoinc)4 bytesAutoincrement field
General4 bytes in tableReference to an OLE object
The type is OLE in Database Explorer
Memo4 bytes in tableValues may be modified depending on the language mapping
Database Explorer indicates that these are actually 10 bytes each
Memo (Binary)4 bytes in tableValues are not modified When the code page changes

星期三, 3月 26, 2008

[ADO] Foxpro


建立資料表(TABLE)
EX: Create Table test( id char(10), bookname character(100), number int)


刪除資料表
EX: DROP TABLE test


新增記錄
EX1: INSERT INTO test VALUES ('111', 'Life is Sad', 100)
EX2: INSERT INTO test (id, bookname, number) VALUES ('111', 'Life is Sad', 100)



  • foxpro 8.0 以後可以用 autoinc 型態來設定自動編號

  • oledb for vfp 支援 autoinc 語法,
    ex: Create Table test( id int primary key autoinc, bookname character(100), number int)

  • oledb for vfp 不支援 " CREATE DATABASE" 的語法


星期四, 3月 20, 2008

轉貼 - REMBO 與 GHOST 之比較


Rembo 和 ghost 都是管理電腦教室的好幫手,兩者的管理方式其實有很大的差異,若是個人的話,比較偏愛用 Rembo 這種方式,不過,前提是網路和主機不能出問題啊!!


以下是台中縣吳仁智老師對兩者的比較:http://www.cses.tcc.edu.tw/~chihwu/rembo.htm


星期一, 3月 17, 2008

[HTML/CSS] 避免誤用不佳的 HTML標籤


開宗明義就講了,儘量用 CSS 來取代常用的HTML。
請詳讀 http://webdesign.about.com/od/css/a/aa101706.htm


How to Avoid Deprecated HTML


Use CSS Instead



When you're trying to write valid XHTML, you need to avoid the elements that have been deprecated. Using them will result in Web pages that may not work in a future version. This is because while the tag is still part of the XHTML specification, it may not be included in the future. And if it's not included, browsers won't support it.


Many deprecated XHTML elements were deprecated in favor of CSS style sheets. And it can be very easy to use CSS instead of many of these elements.


-------------------------------------------以下省略

星期五, 3月 14, 2008

[程式設計] 在文字方塊按下 Enter 後做動作


原本利用 Submit 按鈕時都沒有問題,不過,因為在表單送出前要先做檢查,所以把 submit 改成 button,這一來在文字方塊按 【Enter】就沒有作用了。


解決之道是利用 onKeyDown 這個事件來捕捉 【Enter】的 KeyCode,作法如下:
------------------------------------------------------------------------------------------
<script language=javascript>
function EnterToTab(){
if(event.keyCode==13)
event.keyCode=9;
}

</
script>
------------------------------------------------------------------------------------------
在文字方塊中加入 onkeydown="EnterToTab();" 的屬性,這樣一來就可以了。


不過,這時又會出現新的問題,在 firefox 無法捕捉到 Enter 的 KeyCode,原來兩者的捕捉 KeyCode 的屬性不一樣,完整解決方式如下:


------------------------------------------------------------------------------------------
function EnterToSubmit(e){

var keynum;
if(window.event) { // IE
keynum = e.keyCode;
}else if(e.which) { // Netscape/Firefox/Opera
keynum = e.which;
}
if(keynum == 13){
document.forms["formName"].submit();
}


}
------------------------------------------------------------------------------------------
onKeyDown="EnterToSubmit(event);"


FTP 主動式與被動式


雖然是英文,不過還是很值得花點時間好好看看!



Active FTP vs. Passive FTP, a Definitive Explanation

星期五, 3月 07, 2008

[資料庫] MySQL預設編碼

之前在 my.ini 內設定mysql 的預設編碼都是用下列的設定式:
================================
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci

================================

這幾天看酷學園的討論,才偶然看到,原來 mysql 早已建議用另一種設定式了,把它記下來才不會忘記。
================================
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
================================

ps: [mysql] 的部分還是維持原來的設定式
default-character-set = utf8

星期三, 3月 05, 2008

GVIM 真的很不錯!

平常用 vi 用習慣了,突然想試試 gvim,結果一打開,卻發現整個視窗太小,字型也太小。
不過,還好可以從[編輯->設定字型] 來修改,不過,問題又來了,gvim 關閉後,剛剛設定的字型大小也恢復原狀。

還好,在爬文時找到 &lt;&lt;lancetw&gt;&gt;我的 gvim 設定檔 把裡頭的設定照做存到 ~/.vimrc,嗯!有變化,不過,字型還是太小,就修改了下列兩行設定,改成自己比較習慣的字型與大小:
----------------------------------------------
set gfn=DejaVu\ Sans\ Mono\ 16
set gfw=AR\ PL\ ShanHeiSun\ Uni\ 14
----------------------------------------------

果然順眼許多!

星期日, 3月 02, 2008

[Ubuntu]在 AMD64的平台上裝 firefox 32bit

AMD64/FirefoxAndPlugins

目前小弟的電腦有兩個Ubuntu平台,一個是 amd64, 一個則是安裝 i386,目前程式(一般軟體:browser, office, filezilla)在效能上還看不出太大的差別,但是在安裝軟體上倒是amd64版本令人處挫折許多,如果直接從套件庫來安裝,大都沒有問題,但是,有些套件庫沒有收錄的軟體很多只提供 i386的版本,實在讓人的爽度大大降低不少。

例如:google toolbar(linux)在 amd64上就無法執行(官網說不支援),所以囉!如果真想在 Ubuntu(AMD64)上安裝這一類的套件,就可以安裝 firefox 32bit 的版本啦!

不過,看裡頭的操作,似乎是用手動,而不是從套件庫來安裝,如果讓我選的話,我還是會乖乖用 64bit 的版本啦!畢竟這樣比較容易維護,不然那一天,突然出現問題的話,就不曉得要從哪邊來找問題了啦!

此篇僅做記錄用 :&gt;&gt;&gt;

[Ubuntu]firefox 2.0終於又回來了

Ubuntu 8.04 自從alpha4後,就強制將 firefox 升級至 firefox 3 beta,很多好用的套件在 3beta 根本就無法執行,想要回頭用 firefox 2.0,卻發現套件庫中找不到~~~~~

真是令人沮喪啊!

好在今天在檢視套件庫時,又意外發現 firefox 2.0.0.12,啊!真是欣喜若狂啊!

趕緊將它裝了起來,嘿!嘿!果然又回到熟悉的 firefox2囉!

實在感恩!!!

[Windows] Link of Folder or File doesn't work~~~~

微軟的 hotfix,記錄下來以備不時之需~~~~~~
-----------------------------------------------------------------------------------------------------

當您在 [ 開啟 ] 對話方塊或, [ 儲存 ] 對話方塊中選取捷徑 . lnk 檔案, 而不是由捷徑中有路徑所參考檔案或資料夾會傳回實際的
. lnk 檔案。 指定篩選條件字串時, 就不會發生這個問題。 在這種情況下, 檔案或資料夾所參考會傳回如預期般以及文件中所描述。

Hotfix 資訊

目前 Microsoft 已提供支援的 Hotfix,. 不過, 這個 Hotfix 目的為只能在本篇文章所描述問題修正。 此 Hotfix只適用於, 會發生此特定問題系統。 此 Hotfix 可能會收到其他測試。 因此, 如果並未對您造成嚴重的影響受此問題,我們建議您等候下一個包含此 Hotfix 的 Service Pack。

如果要解決這個問題, 提交要求向 Microsoft 線上客戶服務, 以取得 Hotfix。 如果要提交線上要求, 以取得此 Hotfix, 請造訪下列 Microsoft 網站:http://go.microsoft.com/?linkid=6294451
-----------------------------------------------------------------------------------------------------


星期六, 3月 01, 2008

[Windows] Link of Folder or File doesn't work~~~~

當您在 [ 開啟 ] 對話方塊或, [ 儲存 ] 對話方塊中選取捷徑 . lnk 檔案, 而不是由捷徑中有路徑所參考檔案或資料夾會傳回實際的
. lnk 檔案。 指定篩選條件字串時, 就不會發生這個問題。 在這種情況下, 檔案或資料夾所參考會傳回如預期般以及文件中所描述。

Hotfix 資訊


前 Microsoft 已提供支援的 Hotfix,. 不過, 這個 Hotfix 目的為只能在本篇文章所描述問題修正。 此 Hotfix
只適用於, 會發生此特定問題系統。 此 Hotfix 可能會收到其他測試。 因此, 如果並未對您造成嚴重的影響受此問題,
我們建議您等候下一個包含此 Hotfix 的 Service Pack。

如果要解決這個問題, 提交要求向 Microsoft 線上客戶服務, 以取得 Hotfix。 如果要提交線上要求, 以取得此 Hotfix, 請造訪下列 Microsoft 網站:http://go.microsoft.com/?linkid=6294451

[Ubntu]更新 openoffice.org-hyphenation-en-us_2.3.1-1_all.deb 失敗

目前Ubuntu 是Alpha版本,今天更新後,出現一個錯誤訊息:

dpkg:處理 /var/cache/apt/archives/openoffice.org-hyphenation-en-us_2.3.1-1_all.deb (--unpack)時出錯:
正試圖覆蓋“/usr/share/myspell/dicts/hyph_en_US.dic”,它屬於套件 openoffice.org-hyphenation
在處理時有錯誤發生:
/var/cache/apt/archives/openoffice.org-hyphenation-en-us_2.3.1-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


有 UbuntuForum 有人提出解決辦法:

wget http://debian.mirror.inra.fr/debian/pool/main/h/hyphen/openoffice.org-hyphenation-en-us_2.3-5_all.deb
sudo dpkg --force-all -i openoffice.org-hyphenation-en-us_2.3-5_all.deb

照著做就不會一直出現上述的問題了!

星期二, 2月 26, 2008

微軟大量授權金鑰 (VLK)的差別


內容截錄自 Microsoft 官方網站。
---------------------------------------------------------------------------------------------------------








大量授權金鑰 (VLK)。若要安裝特定的授權產品,您需要使用「大量授權金鑰」。此 VLK 是針對您所購買的每一份特定授權,核發給貴公司專門供您使用的金鑰。VLK 必須與適當的「大量授權」媒體搭配使用。您同意盡最大努力保存一份此產品金鑰的安全記錄,並確保不將此產品金鑰洩漏給未獲授權之第三者。您可能會看見舊產品版本的大量授權產品金鑰,這是為了支援使用權合約中的降級權益,以便客戶在取得最新版本的產品之際,亦能使用較舊的版本。











VA 1.0 - Volume Activation 1.0 (大量授權啟用 1.0) 是第一代的 VLK。本金鑰能夠跳過產品啟用。

VA 2.0/KMS - Volume Activation 2.0/Key Management Service (大量授權啟用 2.0/金鑰管理服務):這個金鑰能用來啟用您的環境內的新服務,自動啟動 Windows Vista 電腦。要使用 KMS,必須至少有 25 台相連的 Microsoft Vista 電腦,而且所有的電腦每年必須由中央服務單位檢查兩次,方能保持啟動。

VA 2.0/MAK - Volume Activation 2.0/Multiple Activation Key (大量授權啟用 2.0/多重啟用金鑰):這個金鑰能透過網際網路或電話啟動 Microsoft Windows Vista,而且僅與有限數目的啟用關聯。電腦可從其個別電腦上進行啟動,亦透過中央電腦同時與其他多台電腦一起被啟動。

---------------------------------------------------------------------------------------------------------

Ubuntu: 執行VirtualBox設定出現 USB子系統失敗


Virtualbox時,點選【設定值】時,會出現Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.



解決辦法:
1. 新增一個 usbfs 的群組
# sudo groupadd usbfs


2. 將要使用Virtualbox的使用者帳號加入此群組
# sudo usermod -G usbfs -a [使用者帳號]


3.編輯/etc/fstab,在檔案後面加上
none /proc/bus/usb usbfs devgid=(usbfs的gid),devmode=664 0 0


設定完後登出,再登入就可以在Virtualbox上開啟USB的選項了



星期四, 1月 31, 2008

Ubunt-出現「OAFIID:GNOME_MultiLoadApplet」訊息

在某一次 upgrade 後,登入後就會出現 「OAFIID:GNOME_MultiLoadApplet」的錯誤訊息!

網路上看到的解決辦法:將 libgtop2-2 及 gnome-system-monitor 升級到 2.6 就 OK了。


Powered by ScribeFire.

星期二, 1月 22, 2008

Skype的小字型

Ubuntu 裝好之後,抓到的解析度是 1440X900,看起來似乎還不錯,不過,裝了 SKYPE 2.0之後,就有點不太好了,skype的字很小,有些還看得不甚清楚,有【系統】->偏好設定->外觀設定中,調整了半天,還是沒有用。今天突然想到,我用的是 Gnome,那麼,如果調整 Qt的設定值呢?

看了一下 /etc 目錄下,有個 qt3 目錄,打開 qtrc 來設定字型大小為 12,再看 SKYPE.......沒作用。
在終端機模式下 # qtconfig,提示:
名为 'qtconfig' 的程序可以在下列包中找到
* qt3-qtconfig
* qt4-qtconfig

先裝 qt3-qtconfig,然後再執行 qtconfig,還是沒作用(基本上和改 /etc/qt3/qtrc一樣,不過是圖型介面)
接下來再裝 qt4-qtconfig,執行 qtconfig-qt4,哈!!總算成功囉!終於不用在 SKYPE裡看小小的人名了。






Powered by ScribeFire.

星期日, 1月 20, 2008

Ubuntu 設定固定 IP

由於安裝的 Ubuntu 是Desktop的版本,所以,系統裝好了之後預設都是用 Dhcp來取得 IP,記錄一下用手動方式來設定IP

# sudo vi /etc/network/interfaces

一、單網卡單 IP
auto eth0 ## 重要,這一行一定要設定
iface eth0 inet static
address [IP] ## 請將 [IP] 換成你要的 IP
netmask 255.255.255.0
gateway 192.168.1.1

二、單網卡多個 IP(直接在網卡後,加上 “:n“)





auto eth0:0
iface eth0:0 inet static
address [IP]
netmask [遮罩]
gateway [閘道]





auto eth0:1
iface eth0:1 inet static
address [IP]
netmask [遮罩]
gateway [閘道]




設定好了之後,需要重新啟動網卡才會生效,可以利用下列指令來達到這個動作

# sudo /etc/init.d/networking restart


Powered by ScribeFire.

Ubuntu 7.10 和 8.04 Alpha2 的奇怪事

最近買了新電腦,主機板是 技嘉 GA-M56S-S3 ,晶片組是 MCP65,問題來了,裝 Ubuntu 7.10系統,結果內建網卡每次抓到的MAC Address 都不一樣,所以網卡代表每次開機就會累加 eth0, eth1, eth2..........開了20次,就會出現 eth19,這是什麼怪問題啊!
雖然可以在 /etc/udev/rules.d/75-persistent-net-generator.rules 把累加出來的網卡名稱刪掉,不過,這也太麻煩了吧!

加了一張 intel 100 的網卡,情況就改善了,不會再有每次都會不同MAC Address的問題。

接下來,把另一個分割區裝上 Ubuntu Hardy 8.04 alpha2 ,嘿!剛開機時一切都正常,不過 run了一陣子後,整個系統就會當掉,試了很多次,本來以為是 Ubuntu Alpha 為測試版本的問題,不過,上網查了一下,好像沒有發生這種問題啊!後來,突然靈機一動,把網路插回原來主機板內建的網卡,嘿!嘿!截至目前為止,好像就沒有發生過當機的情況了...........

不是說 intel 網卡很穩嗎?怎麼會這樣?

實在搞不懂!!!



Powered by ScribeFire.

星期五, 1月 11, 2008

[生活] 好用的晾衣架


新家裝潢時,在世貿家具展看到這個產品,覺得還不錯,可以節省空間,又方便使用,就給它買下去了啦!


試用至目前(約三個月),還是蠻滿意的。把資訊寫下來,親朋好友需要時就可以直接查閱了。



政言國際有限公司
台北市松隆路159巷5號1樓
TEL: 02-8787-2929
FAX: 02-8787-0303
http://www.trulite.com.tw



星期一, 1月 07, 2008

CPU核心的名稱

PC DIY 200801月 page.102

單核心處理器 Single Core
雙核心處理器 Dual Core
四核心處理器 Quad Core
八核心處理器 Octad Core
多核心處理器 Multiple Core
單路處理器 Single Way
雙路處理器 Two Way
四路處理器 Four Way
八路處理器 Elight Way

假日連續加班兩天


第一期租賃案的電腦更新為三期,結果來了個 mini PC,雖然省電又不佔空間,不過,也實在太小了啦!完全沒法插卡,只能用 USB 外加,產生的結果就是還原和整間教室派送的問題。


原本一期教室是用還原卡,現在則改成以 GHOST + XP[受限制的帳戶],聽說這方法不錯,不過,光是搞 GHOST 就讓我花兩天的時間,真是很魯。



星期三, 1月 02, 2008

[教學] +R和 -R 最大的差異

截錄卡提諾王國 論壇 sam66888 兄的文章

看多了人問……
看多了人回……每每只會說:〝規格不同〞…………
到底什麼不同卻說不出個所以然………
也就難怪不曉得到底+R比較好,還是-R比較好!


其實講〝規格不同〞也沒什麼錯啦,但…是什麼規格?
其實主要就是定址(addressing)的方式不同。
為什麼需要定址?
因為燒錄片要讓燒錄機知道,從哪開始燒,現在燒到哪……等等,
所以就會有預刻軌道,負責引導燒錄雷射光束,並且在這軌道中做些手腳,讓燒錄機能夠辨識燒到哪裡了。

那+-R最大的差異,就是這些手腳做的方法不同而已。怎麼不同?
簡單講,

+R採用頻率較高的wobble(引導軌是會搖擺or抖動的,這抖動就叫wobble)817,4kHz,其定址是利用在預刻凹軌處,wobble的相位 調變來達成,此方式的訊號辨識率比-R來的好,且製造過程的金屬模板較-R來的不複雜(引導軌圖形)。符合了+R聯盟講的,易高倍寫,易生產製造…等。
可能你會問,那為什麼+R比較貴?其實那是很精確的講啦,實際上+-R的製造沒那麼大的差異,誰做的量多,價格就可以壓比較低,而-R的片子較早推出,故~。

-R wobble頻率為140,6kHz,定址是直接在凸軌處預刻定址訊坑,此種addressing方式,訊號辨識度較差,當倍速一拉高時,會有定址不易的情形!故-R要高倍燒錄困難度較高!

哪一種相容性高?
目前來講,一樣!應該各都有個8、9成(這沒根據,我自己說的,信不信在你^^)

保存性呢?
保存性無關+-R,其決定關鍵是染料,同樣的染料可以上在+R,也可上-R,
只要染料一樣,那+-R的保存性幾乎就一樣。

所以假如在同樣染料、同樣反射層的情況,+R是勝出的!
這是毋庸置疑的!!!

有興趣的還可參考這篇:
http://www.cdfreaks.com/article/113(全英文)
圖文都有。

===========
目前都還沒辦法統一…
感覺好像+R的比較吃香!
擁護者較多…