Thursday, August 09, 2007

Canon IXUS 850試拍

趁著這次應用展買了Canon IXUS 850,原本也很想買Sony的T100但想到了記憶卡相容性的問題,我還是選擇了Canon :p
附上一張大白(ibook)與小白(NDSL)的合照。

Friday, August 03, 2007

Setup a mail server that enables smtp auth function

Mail Server IP address: 192.168.1.254
OS: OpenSUSE 10

Setup procedure:

1. Setup Hostname (server1.example.com)

# vi /etc/HOSTNAME
server1.example.com
# vi /etc/hosts
192.168.1.254 server1.example.com server1

2. Setup DNS Server:

# vi /etc/named.conf
Configure:

options {
# The directory statement defines the name server's working directory
directory "/var/lib/named";
# Write dump and statistics file to the log subdirectory. The
# pathenames are relative to the chroot jail.
dump-file "/var/log/named_dump.db";
statistics-file "/var/log/named.stats";
# The forwarders record contains a list of servers to which queries
# should be forwarded. Enable this line and modify the IP address to
# your provider's name server. Up to three servers may be listed.
#forwarders { 192.0.2.1; 192.0.2.2; };
# Enable the next entry to prefer usage of the name server declared in
# the forwarders section.
#forward first;
# The listen-on record contains a list of local network interfaces to
# listen on. Optionally the port can be specified. Default is to
# listen on all interfaces found on your system. The default port is
# 53.
#listen-on port 53 { 127.0.0.1; };
# The listen-on-v6 record enables or disables listening on IPv6
# interfaces. Allowed values are 'any' and 'none' or a list of
# addresses.
listen-on-v6 { any; };
# The next three statements may be needed if a firewall stands between
# the local server and the internet.
#query-source address * port 53;
#transfer-source * port 53;
#notify-source * port 53;
# The allow-query record contains a list of networks or IP addresses
# to accept and deny queries from. The default is to allow queries
# from all hosts.
#allow-query { 127.0.0.1; };
# If notify is set to yes (default), notify messages are sent to other
# name servers when the the zone data is changed. Instead of setting
# a global 'notify' statement in the 'options' section, a separate
# 'notify' can be added to each zone definition.
notify no;
};
zone "." in {
type hint;
file "root.hint";
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone "example.com"
{
type master;
file "master/example.com.zone";
};


# cd /var/lib/named/master
# vi example.com.zone
Configure:

$TTL 1W

@ IN SOA server1.example.com. root.server1.example.com. (

42 ; serial (d. adams)

2D ; refresh

4H ; retry

6W ; expiry

1W ) ; minimum



IN NS server1

server1 IN A 192.168.1.254



# chown root.named example.com.zone
# rcnamed start
# chkconfig named on
# vi /etc/resolv.conf
Configure:

nameserver 192.168.1.254


3. Setup Postfix mail server and enables smtp auth function:

# vi /etc/postfix/main.cf
Configure:

queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/lib/postfix

mail_owner = postfix

unknown_local_recipient_reject_code = 550

mynetworks = 127.0.0.0/8





debug_peer_level = 2

debugger_command =

PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

xxgdb $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail

newaliases_path = /usr/bin/newaliases

mailq_path = /usr/bin/mailq

setgid_group = maildrop

html_directory = /usr/share/doc/packages/postfix/html

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/packages/postfix/samples

readme_directory = /usr/share/doc/packages/postfix/README_FILES

inet_protocols = all

biff = no

mail_spool_directory = /var/mail

canonical_maps = hash:/etc/postfix/canonical

virtual_alias_maps = hash:/etc/postfix/virtual

virtual_alias_domains = hash:/etc/postfix/virtual

relocated_maps = hash:/etc/postfix/relocated

transport_maps = hash:/etc/postfix/transport

sender_canonical_maps = hash:/etc/postfix/sender_canonical

masquerade_exceptions = root

masquerade_classes = envelope_sender, header_sender, header_recipient

myhostname = server1.example.com

program_directory = /usr/lib/postfix

inet_interfaces = all

masquerade_domains =

mydestination = $myhostname, localhost.$mydomain

defer_transports =

disable_dns_lookups = no

relayhost =

mailbox_command =

mailbox_transport =

strict_8bitmime = no

disable_mime_output_conversion = no

smtpd_sender_restrictions = hash:/etc/postfix/access

smtpd_client_restrictions =

smtpd_helo_required = no

smtpd_helo_restrictions =

strict_rfc821_envelopes = no

smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination

smtp_sasl_auth_enable = no

smtpd_sasl_auth_enable = no

smtpd_use_tls = no

smtp_use_tls = no

alias_maps = hash:/etc/aliases

mailbox_size_limit = 0

message_size_limit = 10240000

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

broken_sasl_auth_clients = yes

smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

# rcsaslauthd start
# chkconfig saslauthd on

# rcpostfix start
# chkconfig postfix on

4. Enable pop3 server:

# chkconfig qpopper on
# rcxinetd restart

5. Add user account:

# useradd -m lawrence
# passwd lawrence

-> Finished

Sunday, July 29, 2007

Linux Distribution Chooser

Linux Distribution百百種,你適合那一種版本呢?嘿~現在有個網站可以幫您做個分析,帽客做完後,它推薦我用Fedora與OpenSUSE,哇!!真準呀!剛好是我最熟悉的!真好玩 :)

Linux Distribution Chooser

網路效能測試工具: iperf

最近測試的案子中,利用了一套軟體來測試網路的效能,它叫做iperf,iperf支援大多數的作業系統,如: Windows,Linux,FreeBSD,MACOSX,Solaris等等,使用上非常簡單,在你的網路環境中準備兩台電腦,各架設於兩端點間,如core switch到RD switch之間,一邊設定為iperf server,另一邊設定成iperf client,這麼一來你就可以知道core switch與RD switch之間的throughput能達到多少,它可針對TCP or UDP來做測試唷!由於命令參數挺多,所以在這邊我就不多提了,您可以至以下連結取得iperf來安裝,並參考設定範例,經過測試,iperf可以很成功的在Windows XP SP2,RHEL4/5與Ubuntu上執行。

iperf

Saturday, July 28, 2007

找RPM的好地方

以下列出帽客常去找RPM的網址:

http://rpmfind.net
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
http://benjiweber.co.uk:8080/webpin/

Thursday, July 12, 2007

Crossover for Linux

今天帽客要跟大家介紹一個還不錯用的軟體,它叫做Crossover,它是一個能讓你在Linux or MAC OSX下安裝MS applcations的一套軟體。

老實說啦,很多時候迫於無耐,還是要跑跑MS的東西,比如MS office,沒辦法....大部份的公司還是用MS office,為了這樣,我只好在我的Linux下裝個MS office來用吧。

安裝Crossover,一點也不難,先至官網抓下試用版後(它是一個script file),你只要給它有x的權限後就可以安裝了,這時它會引導你一步一步完成安裝。

安裝完畢後,登出並登入X window後,你應該會在Applications選單中看見Crossover,選擇Install Windows Software,並依照它的引導,很簡單的就能安裝好一些MS下的apps,帽客在RHEL,CentOS與Ubuntu測試過都能安裝成功並執行,最後附上幾張圖給大家參考。

圖1:

圖2 Word:

圖3 Excel:

圖4 IE6.0:

Tuesday, July 10, 2007

Ubuntu 架設nfs server

1. Install
$ sudo apt-get install nfs-common
$ sudo apt-get install nfs-kernel-server

2. 設定 /etc/exports (For example: 將/mnt/iso share給all net使用)
$ sudo vi /etc/exports
/mnt/iso *(ro,sync)

3. 啟動 nfs server
$ sudo /etc/init.d/nfs-kernel-server start

4. 檢查
$ showmount -e localhost
成功的話應該可以看到這樣的訊息:
Export list for localhost:
/mnt/iso *

Sunday, July 08, 2007

Ubuntu之旅2-Install AdobeReader 7.x

Procedure:
1. 新增apt server:
1.1 加入金鑰:
$ wget -q http://medibuntu.sos-sts.com/repo/medibuntu-key.gpg -O- sudo apt-key add -
1.2 新增套件來源庫:
$ sudo vi /etc/apt/sources.list
## Medibuntu - Ubuntu 7.04 "feisty fawn" ## Please report any bug on https://launchpad.net/products/medibuntu/+bugs deb http://medibuntu.sos-sts.com/repo/ feisty free non-free deb-src http://medibuntu.sos-sts.com/repo/ feisty free non-free

2. 更新與安裝AdobeReader
$ sudo apt-get update;
$ sudo apt-get install
acroread

3. 新增中文套件:
3.1 download tarball file from here
3.2 解開:
$ sudo tar zxvf FontPack708_cht_i386-linux.tar.gz
3.3 安裝:
$ sudo ./install

圖:

Wednesday, June 27, 2007

Ubuntu 安裝VMware Server

帽客常常透過VMware將一台電腦當兩台用,所以當然也要試著在Ubuntu上安裝看看囉,跟RHEL與SLES不一樣的是,Ubuntu不可透過rpm來安裝唷!要用tarball file與上個path之後才能順利安裝成功,至於怎麼裝,請參考這個連結: 在Ubuntu7.04上安裝vmware server

附上一張圖,有圖有真相嘛 :p

Friday, June 22, 2007

Ubuntu之旅

人家都說用Ubuntu來當Linux Desktop是很方便的選擇,於是乎帽客我也想來體驗看看,去官網抓下Desktop版的iso後,利用我那小白把它燒成CD(只要一片就好ㄟ!),放到測試的機器安裝,嗯~果然非常之簡單,一會便裝完了。

待開機完成後,用剛剛所建立的User登入,第一件事便是來裝個Beryl玩看看,呵呵~真是方便呀!利用apt來安裝真是好用呀~~ 搞定了3D桌面後,便開始安裝各種Applications。
Amule,d4x,gFTP,k3b....都很好裝,跟以往我把RHEL3當桌面,被rpm相依性問題搞爆的痛苦來比真是太美妙了,只是在安裝gcin與stardict時有點小不順,所以先po上來記一下:

-Install stardict
# sudo apt-get install stardict
預設是沒有辭典可以用的唷,這時請到stardict官網抓下辭典,解開後將檔案搬到/usr/share/stardict/dic就可以了。

-Install gcin
# sudo apt-get install gcin
# sudo apt-get install im-switch
# im-switch -s gcin
重新登入,便可使用gcin。

Friday, June 15, 2007

G4Fancontrol

話說,帽客的小白開機久了就會發高燒到60度上下,非常之燙手,同時對小白的壽命也會有影響,所以我都有用散熱墊來幫忙讓它的工作溫度保持在40度上下,但是當我人在外面使用時,就不想帶著散熱墊呀!所以只好讓它發高燒。
之前Intel base的Mac有出控制風扇的軟體,心想~為何PPC沒有呀!哭~~~難道PPC的使用者就沒有明天了嗎? 哭~~~~ 不過,今天讓我找到了For PPC的風扇控制軟體,哈哈!我的小白出運囉~~ 先測試看看會不會work先。

Website: G4Fancontrol

Thursday, June 07, 2007

Final Fantasy XII:歸來之翼


最近趁有空閒的時候,將NDS上的一款遊戲Final Fantasy XII:歸來之翼破關了,整個遊戲必需使用觸碰筆操作,一開始很不習慣,但玩久了還覺得蠻有趣的!

遊戲的難度不高,幾乎給它來個大軍壓境都能輕鬆獲勝,除了後面幾關之外 :p
雖然我沒玩過PS2的FF12,但這款外傳也帶給我不少樂趣!

官方網站: http://www.square-enix.co.jp/ff12rw/

Wednesday, June 06, 2007

在RHEL5架設DNS Server

RHEL5跟以往RHEL4與RHEL3在架設DNS Server時,有些不一樣,不一樣的地方在於,ㄟ~~configure file怎麼都沒看到哩,還有預設的zone files哩,怎麼都沒有呀?!要我自己產生嗎? OH MY GOD! 那有可能呀!所幸今天在高人的指點下,找到了這些檔案身在何處呀!果然是高手高手高高手呀!

01- 安裝system-config-bind這隻套件
02- 到/usr/share/system-config-bind/profiles/下就可以找到named.conf與zone files.
03- 接下來把named.conf copy到 /var/named/chroot/etc/
04- 再把zone files copy到 /var/named/chroot/var/named/
05- 最後把將 /usr/share/doc/bind-*/sample/var/named/named.root copy到/var/named/chroot/var/named/

這樣就大功告成啦!剩下的就是自己改named.conf與新增網域正反解的zone files囉!

Friday, June 01, 2007

Fedora 7 出了!

今天Fedora Project release Fedora 7囉!這次的版本支援i386,x86_64 and ppc,預計今晚回家download後,安裝在IBM X24上測試看看。

如果您需要更多的資訊,請參考Fedora Project的官方網站。
Fedora Project

Thursday, May 31, 2007

Linux發行者大收集

Linux發行的套件到底有幾個呀?呵~這我也不知道,以下這個網站整理了目前發行者的logo與連結(看得我眼睛都花了!)。目前看起來是352個,不過應該不止吧 :p

http://www.gridter.com/linx/linux.html

Tuesday, May 29, 2007

Partimage & SystemRescueCd

最近找到一個很好用的工具: Partimage,它是個類似Ghost這樣的軟體,可對分割區做備份與還原的功能(Support ReiserFS, ext2fs/ext3fs, FAT16/32: DOS and Windows, and NTFS),經過我的測試過後,它真是不錯用!快速又簡單,然後又找到了SystemRescueCd,它算是個Linux Live cd,而且它內建了許多系統救援的工具,當然Partimage也是內建於其中的囉!

Note: 當您在備份分割區時,記得要先把它umount掉唷!


Partimage: http://www.partimage.org/Main_Page
SystemRescueCd: http://www.sysresccd.org/Main_Page

Monday, May 28, 2007

Chkrootkit

擔心你的Linux system被植入後門嗎?試看看這套軟體吧!
您可以從 http://www.chkrootkit.org/download下載,目前的版本是0.47,如果您是用RHEL,Fedora or SUSE的使用者,到rpmfind.net可以下載到rpm來安裝。

Wednesday, May 23, 2007

在多台Linux Server上同時執行相同的commands

multixterm這隻程式可以同時在不同的Server上,執行指令,分享出來給大家參考看看:

-安裝:
請安裝expectexpect-develexpectk這三個套件,帽客是RHEL的愛好者,剛好在光碟片中有這三個套件。

-執行:
# multixterm -xc "ssh %n" host1 host2

-這時會跳出三個視窗,其中兩個為host1與host2的console,另一個為multixterm的主視窗,如果你要將命令同時在host1與host2執行的話,請將滑鼠移到stdin window再敲入指令就可以了。

Monday, May 21, 2007

讓使用者暫時無法登入到Linux系統

Linux是個多人多工的系統,有時萬一碰到要系統升級或除錯時,最好是不要讓使用者登入到系統中,有一個很簡單的方法,可以達成這個要求:
# touch /etc/nologin
這樣一來只有root可以登入到系統中,待系統維護好了之後,再把這個檔案刪除即可。

Thursday, May 17, 2007

Windows2000下解決抓不到大硬碟容量的方法

遇到了就記一下囉:
在開始->執行中輸入regedit,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \Atapi\Parameters下,建立一個DWORD值,名為EnableBigLba,数值填1。 修改後重啟機器即可。

Tuesday, May 15, 2007

我的Linux桌面環境

目前桌機的桌面環境,該有的都有了,套用MAC OSX的佈景主題,看起來還不錯!

利用shell script大量建立帳號

-先建立一個純文字檔(userlist),裡面存放著欲建立的user帳號,格式為 username:password,
user1:123456
user2:123456
user3:123456

-撰寫shell script如下:
#!/bin/bash
FILE=$1
for i in `awk -F: '{ print $1 }' $FILE`
do
useradd $i
grep $i $FILE | cut -d":" -f2 | passwd --stdin $i
done


-執行:
# ./mkuser.sh userlist

這樣便可大量建立帳號。

Tuesday, April 17, 2007

CentOS5 is available to download

CentOS5 正式版,已經開放下載囉! 什麼是CentOS呢? 就是RHEL的clone版啦!這次是base on RHEL5的版本來發行。

CentOS website

Monday, April 16, 2007

架設OpenNMS

今天花了一點時間來架設OpenNMS,想說以後可以用它來monitor Lab network,不料卡在某個環節,上網找到了opennms的官方說明文件,發現到原來是書中漏掉了一個設定,頓時......不知該說些什麼...... 官方的說明文件寫的非常棒!感謝OpenNMS開發團隊!

OpenNMS安裝指南

Thursday, April 12, 2007

在RHEL5安裝NTOP

1.首先請先至rpmfind.net抓取給RHEL5所使用的NTOP,筆者的系統少安裝了glib套件,故自己抓下source rpm 來rebuild。

[root@new-host-6 tmp]# rpm -ivh ntop-3.2-2.el5.rf.i386.rpm
warning: ntop-3.2-2.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
error: Failed dependencies:
libglib-1.2.so.0 is needed by ntop-3.2-2.el5.rf.i386
[root@new-host-6 tmp]# rpmbuild --rebuild glib-1.2.10-15.src.rpm
Rebuild畫面跳過
[root@new-host-6 tmp]# cd /usr/src/redhat/RPMS/i386/
[root@new-host-6 i386]# ll
total 516
-rw-r--r-- 1 root root 145245 Apr 10 20:08 glib-1.2.10-15.i386.rpm
-rw-r--r-- 1 root root 236817 Apr 10 20:08 glib-debuginfo-1.2.10-15.i386.rpm
-rw-r--r-- 1 root root 129049 Apr 10 20:08 glib-devel-1.2.10-15.i386.rpm
[root@new-host-6 i386]# rpm -ivh *
Preparing... ########################################### [100%]
1:glib ########################################### [ 33%]
2:glib-debuginfo ########################################### [ 67%]
3:glib-devel ########################################### [100%]
[root@new-host-6 tmp]# rpm -ivh ntop-3.2-2.el5.rf.i386.rpm
warning: ntop-3.2-2.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing... ########################################### [100%]
1:ntop ########################################### [100%]

2.備份ntop.conf
[root@new-host-6 tmp]# cp /etc/ntop.conf /etc/ntop.conf.bak

3.建立NTOP儲存db的資料夾:
[root@new-host-6 tmp]# mkdir /var/www/html/ntop
[root@new-host-6 tmp]# chown ntop.ntop /var/www/html/ntop

4.啟動NTOP:
啟動NTOP的方法有兩種,一種是依照/etc/ntop.conf的設定並透過/etc/init.d/ntop start來啟動,另一種則是以命令列的方法啟動NTOP,第一種方法筆者有遇過啟動後一點反應也沒有,用status來看,也沒有任何的訊息,用echo $?才知道指令執行的結果是失敗的,但卻不知原因為何?於是乎,我個人偏愛用命令列的方式啟動NTOP。第一次啟動NTOP時會要求輸入帳號與密碼,請用admin/admin輸入即可。

[root@new-host-6 tmp]# ntop -P /var/www/html/ntop/ -u nobody
啟動畫面跳過,跑到一半時會要求輸入密碼
ntop startup - waiting for user response!
Please enter the password for the admin user:
Please enter the password again:

5.瀏覽NTOP website:
預設的port為3000,如果您要自訂port的話,請在啟動NTOP時,加上一個參數,-w 比如說如果我要把它改成6000的話,可以這樣做: ntop –P /var/www/html/ntop –u nobody –w 6000
接下來開啟瀏覽器,輸入 http://IP address:3000,就可以看到NTOP的流量統計的網頁。

後記:
更多有關於NTOP的參數,請參考man page。

Tuesday, April 10, 2007

在RHEL5下實作LVM

需求:
-新增三個LVM的partition,各100M
-新增三個PV
-新增一個VG,size=100M
-新增一個LV,size=50M
-動態放大VG,size+200M
-動態放大LV,size+50M

-新增三個LVM的partition,各100M
root@new-host-6:~^G[root@new-host-6 ~]# fdisk /dev/hda

The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
First cylinder (908-1044, default 908):
Using default value 908
Last cylinder or +size or +sizeM or +sizeK (908-1044, default 1044): +100M

Command (m for help): n
First cylinder (921-1044, default 921):
Using default value 921
Last cylinder or +size or +sizeM or +sizeK (921-1044, default 1044): +100M

Command (m for help): n
First cylinder (934-1044, default 934):
Using default value 934
Last cylinder or +size or +sizeM or +sizeK (934-1044, default 1044): +100M

Command (m for help): p

Disk /dev/hda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 778 6144862+ 83 Linux
/dev/hda3 779 843 522112+ 82 Linux swap / Solaris
/dev/hda4 844 1044 1614532+ 5 Extended
/dev/hda5 844 907 514048+ 83 Linux
/dev/hda6 908 920 104391 83 Linux
/dev/hda7 921 933 104391 83 Linux
/dev/hda8 934 946 104391 83 Linux

Command (m for help): t
Partition number (1-8): 6
Hex code (type L to list codes): 8e
Changed system type of partition 6 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-8): 7
Hex code (type L to list codes): 8e
Changed system type of partition 7 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-8): 8
Hex code (type L to list codes): 8e
Changed system type of partition 8 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/hda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 778 6144862+ 83 Linux
/dev/hda3 779 843 522112+ 82 Linux swap / Solaris
/dev/hda4 844 1044 1614532+ 5 Extended
/dev/hda5 844 907 514048+ 83 Linux
/dev/hda6 908 920 104391 8e Linux LVM
/dev/hda7 921 933 104391 8e Linux LVM
/dev/hda8 934 946 104391 8e Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
重新開機,讓它生效!
[root@new-host-6 ~]# reboot

-新增三個PV
[root@new-host-6 ~]# pvcreate /dev/hda6
Physical volume "/dev/hda6" successfully created
[root@new-host-6 ~]# pvcreate /dev/hda7
Physical volume "/dev/hda7" successfully created
[root@new-host-6 ~]# pvcreate /dev/hda8
Physical volume "/dev/hda8" successfully created
驗證一下
[root@new-host-6 ~]# pvdisplay
--- NEW Physical volume ---
PV Name /dev/hda6
VG Name
PV Size 101.94 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID NPXgcU-Pad8-EsG7-gFtI-hK66-8ua8-H0c78U

--- NEW Physical volume ---
PV Name /dev/hda7
VG Name
PV Size 101.94 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID NeXk3q-RKtl-Ias2-TIO0-0gbq-IdU9-XuL5DC

--- NEW Physical volume ---
PV Name /dev/hda8
VG Name
PV Size 101.94 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID Y9ERKn-oo61-mWj3-IOIZ-ba2p-QJID-UGzi4Q

-新增一個VG,size=100M
[root@new-host-6 ~]# vgcreate rootvg /dev/hda6
Volume group "rootvg" successfully created
驗證一下
[root@new-host-6 ~]# vgdisplay
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 100.00 MB
PE Size 4.00 MB
Total PE 25
Alloc PE / Size 0 / 0
Free PE / Size 25 / 100.00 MB
VG UUID 2XpLIi-L1Cp-IbbB-cJ38-id6b-U6Qh-K4j3Gu

-新增一個LV,size=50M
[root@new-host-6 ~]# lvcreate -L +50M -n lv01 rootvg
Rounding up size to full physical extent 52.00 MB
Logical volume "lv01" created
驗證一下
[root@new-host-6 ~]# lvdisplay
--- Logical volume ---
LV Name /dev/rootvg/lv01
VG Name rootvg
LV UUID zWA1PJ-iy4L-PZcG-NgNw-eSue-7xmP-Tw2HNs
LV Write Access read/write
LV Status available
# open 0
LV Size 52.00 MB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0
建立一個mount point: /mnt/lvm,並將其格式化成ext3檔案格式,掛載於/mnt/lvm下
[root@new-host-6 ~]# mkdir /mnt/lvm
[root@new-host-6 ~]# mke2fs -j /dev/rootvg/lv01
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
13328 inodes, 53248 blocks
2662 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=54525952
7 block groups
8192 blocks per group, 8192 fragments per group
1904 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@new-host-6 ~]# mount /dev/rootvg/lv01 /mnt/lvm/
[root@new-host-6 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 5.7G 2.9G 2.6G 53% /
/dev/hda1 99M 9.8M 84M 11% /boot
tmpfs 125M 0 125M 0% /dev/shm
/dev/hda5 487M 11M 451M 3% /home
/dev/mapper/rootvg-lv01
51M 4.9M 43M 11% /mnt/lvm
Copy一些檔案到此目錄下,以供等會驗證動態放大檔案系統時,資料不會消失
[root@new-host-6 ~]# cp -r /boot/ /mnt/lvm/
[root@new-host-6 ~]# cd /mnt/lvm/
[root@new-host-6 lvm]# ll
total 13
drwxr-xr-x 4 root root 1024 Apr 10 20:17 boot
drwx------ 2 root root 12288 Apr 10 20:15 lost+found
[root@new-host-6 lvm]#

-動態放大VG,size+200M
[root@new-host-6 lvm]# vgextend rootvg /dev/hda7 /dev/hda8
Volume group "rootvg" successfully extended
驗證一下
[root@new-host-6 lvm]# vgdisplay
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 300.00 MB
PE Size 4.00 MB
Total PE 75
Alloc PE / Size 13 / 52.00 MB
Free PE / Size 62 / 248.00 MB
VG UUID 2XpLIi-L1Cp-IbbB-cJ38-id6b-U6Qh-K4j3Gu

-動態放大LV,size+50M
[root@new-host-6 lvm]# lvextend -L +50M /dev/rootvg/lv01
Rounding up size to full physical extent 52.00 MB
Extending logical volume lv01 to 104.00 MB
Logical volume lv01 successfully resized
驗證一下
[root@new-host-6 lvm]# lvdisplay
--- Logical volume ---
LV Name /dev/rootvg/lv01
VG Name rootvg
LV UUID zWA1PJ-iy4L-PZcG-NgNw-eSue-7xmP-Tw2HNs
LV Write Access read/write
LV Status available
# open 1
LV Size 104.00 MB
Current LE 26
Segments 2
Allocation inherit
Read ahead sectors 0
Block device 253:0
[root@new-host-6 lvm]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 5.7G 2.9G 2.6G 53% /
/dev/hda1 99M 9.8M 84M 11% /boot
tmpfs 125M 0 125M 0% /dev/shm
/dev/hda5 487M 11M 451M 3% /home
/dev/mapper/rootvg-lv01
51M 9.1M 39M 20% /mnt/lvm
此時因為還沒執行線上更新大小的動作,所以磁區大小還不會放大喔!
這裡跟RHEL4不同,改用resize2fs 來線上更新
[root@new-host-6 lvm]# resize2fs /dev/rootvg/lv01
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/rootvg/lv01 is mounted on /mnt/lvm; on-line resizing required
Performing an on-line resize of /dev/rootvg/lv01 to 106496 (1k) blocks.
The filesystem on /dev/rootvg/lv01 is now 106496 blocks long.

[root@new-host-6 lvm]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 5.7G 2.9G 2.6G 53% /
/dev/hda1 99M 9.8M 84M 11% /boot
tmpfs 125M 0 125M 0% /dev/shm
/dev/hda5 487M 11M 451M 3% /home
/dev/mapper/rootvg-lv01
101M 9.5M 87M 10% /mnt/lvm
[root@new-host-6 lvm]# cd /mnt/lvm/
[root@new-host-6 lvm]# ll
total 13
drwxr-xr-x 4 root root 1024 Apr 10 20:17 boot
drwx------ 2 root root 12288 Apr 10 20:15 lost+found
資料沒有遺失,磁區確成功放大了!

Todos

Mac用久了,就會安裝一堆應用程式,這時就會覺得Dock放了太多icon會覺得很亂的感覺,如果不放在Dock裡,每次要用到時又必需到應用程式資料夾去翻箱倒櫃的找,非常沒有效率,好在有Todos這套軟體,它會scan您的應用程式資料夾,並可利用快速鍵叫出應用程式選單,非常方便唷!


下載處: http://www.macupdate.com/info.php/id/22275/todos

Mac OS真是桌面環境的領導品牌呀!

Monday, April 09, 2007

利用Flock貼個圖

利用Flock貼個圖看看,嗯~還挺方便的 =) 以下是我女兒,哈哈!可愛吧!

Tuesday, April 03, 2007

最近研讀的書籍


最近想對網路的流量分析與效能監控能更加深入了解,所以在博客來買了這本書,研讀中,希望這個月能把它K完。
實務上我已經有用MRTG與NTOP監控過Lab的流量了,只是我覺得....只懂皮毛是不夠的.....加油!

Monday, April 02, 2007

透過NTP自動更新系統時間與硬體時間

1.首先先設定時區位置為: 亞洲台灣
[root@server1 ~]# cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
cp: overwrite `/etc/localtime'? y
[root@server1 ~]# vi /etc/sysconfig/clock
ZONE="Asia/Taipei"
UTC=false
ARC=false

2.利用ntpdate更新系統時間:
[root@server1 ~]# date
Mon Apr 2 13:00:05 CST 2007
[root@server1 ~]# ntpdate time.stdtime.gov.tw
2 Apr 16:44:31 ntpdate[2904]: step time server 220.130.158.52 offset 13454.935451 sec
[root@server1 ~]# date
Mon Apr 2 16:44:32 CST 200

3.更新硬體時間:
[root@server1 ~]# hwclock –w

4.利用crontab設定每小時自動更新系統時間與硬體時間:
[root@server1 ~]# crontab –e
01 * * * * /usr/sbin/ntpdate time.stdtime.gov.tw;/sbin/hwclock -w

Monday, March 26, 2007

以SLES10快速架設閘道式防火牆

前言:
以Linux架設Firewall算是一個蠻物美價廉的方案,因為筆者在真實的環境中利用PIII這種老機器架設Firewall ,發覺還挺穩定的,使用到現在還沒發現有任何的問題,因此若您手邊有一些退役的機器,不如將它當成Firewall來用,給它個第二春吧!好了,廢話不多說,您可以參考以下的文件,快速建立一台Linux的Firewall。

概念:
這裡要介紹的是所謂的閘道式防火牆,目的在於隔開內外網路的連線,需求如下:

外部主機 -> 防火牆主機 (不可)
內部主機 -> 防火牆主機 (不可)
外部主機 -> 內部主機 (不可)
內部主機 -> 外部主機 (可, 但應只開放某些對外的連線)

事實上這種設定的方法,還說不上真正的安全!因為對內部的主機我採用的是完全信任的方案,但所謂:內賊難防!最好的方法還是要對內部主機採取安全控管,不過因為筆者是在家中自行架設並測試的,所以我就採用了較鬆散的方法,這一點請原諒。

環境:

eth0 外部網路 (10.6.7.0/24)-----Linux Firewall----- eth1內部網(172.17.2.0/24)

開啟ip_forwarding的功能:

# vi /etc/sysctl.conf
net.ipv4.ip_forward=1
# sysctl –p
# vi /etc/init.d/boot.local
sysctl –p

設定iptables的相關規則:

預設阻擋所有連線之基本原則:

# iptables –P INPUT DROP
# iptables –P FORWARD DROP

允許loopback介面的連線:

#iptables –A INPUT –i lo –j ACCEPT

阻擋非loopback介面但確是127.0.0.0/8的IP

# iptables –A INPUT –i ! lo –s 127.0.0.0/8 –j DROP
# iptables –A OUTPUT –o ! lo –s 127.0.0.0/8 –j DROP

允許後續連線:

# iptables –A INPUT –m state --state RELATED,ESTABLISHED –j ACCEPT
# iptables –A FORWARD –m state --state RELATED,ESTABLISHED –j ACCEPT

阻擋可疑的封包:

# iptables –A INPUT –m state --state INVALID –j DROP
# iptables –A FORWARD –m state --state INVALID –j DROP

阻擋TCP第一個連線非SYN類型的封包:

# iptables –A INPUT –p tcp ! –syn –m state --state NEW –j DROP
# iptables –A FORWARD –p tcp ! –syn –m state --state NEW –j DROP

允許內部主機對外的連線:

# iptables –A FORWARD –i eth1 –o eth0 –j ACCEPT

設定NAT規則:

# iptables –t nat –A POSTROUTING –o eth0 –s 172.17.2.0/24 –j MASQUERADE

以上是iptables的相關設定,第一次接觸的iptables的人可能會罵,到底你是在寫什麼東西呀!有看沒有懂,這點也是非常抱歉,網路上已經有許多先進撰寫過很多很棒的iptables規則說明與基本語法了,請您不妨利用google大神,去尋找吧!這裡講求的是快速架設,所以不會多加論述背後的原理。

辛辛苦苦打了這麼多指令,重開機是否會不見呢?答案是會的!如果您沒有將其存起來,當您重開機時是會叫苦連天的,所以請您依照以下的方法,將它先存成一個文字檔,待開機時再將它載入。

# iptables-save > /etc/sysconfig/iptables.save (將iptables的規則存成一文字檔)

# vi /etc/init.d/boot.local
iptables-restore < /etc/sysconfig/iptables.save (開機時將iptables的規則從檔案讀入)


後記:
以上便是快速架設Linux Firewall的方法,強烈建議您先懂原理再來實作將會讓您對於iptables更加了解,用起來也會順手些,畢竟iptables的語法看起來是有那麼一點小複雜。

Thursday, March 22, 2007

OSX Startup keyboard commands help in troubleshooting

亂逛時不小心看到的,覺得挺實用所以趕緊po上來。
When troubleshooting, performing maintenance, or otherwise starting up your Mac OSX computer in an abnormal fashion, there are a few keyboard shortcuts that you may or may not know about that can help you. Below is a list of them with an explanation of what they do:
  • X = Force Mac OS X startup
  • Option = Brings up a screen with startup volume choices (slow process, may take a while)
  • Option+Command+Shift+Delete = Bypass primary startup volume and seek a different startup volume (such as a CD or external disk)
  • C = Start up from a CD that has a system folder
  • N = Attempt to start up from a compatible network server (NetBoot)
  • T = Start up in FireWire Target Disk mode (very handy for plugging your Mac into another as an external hard drive)
  • Shift = start up in Safe Boot mode and temporarily disable login items and non-essential kernel extension files (Mac OS X 10.2 and later)
  • Command+V = Start up in Verbose mode.
  • Command+S = Start up in Single-User mode
  • Command+Option+p+r = Zap PRAM. Hold down until second chime.
  • Command+Option+n+v = Clear NV RAM. Similar to reset-all in Open Firmware.
  • Command+Option+o+f = Boot into open firmware
  • Hold mouse button down = Force eject a CD/DVD
出處: http://www.jdempsey.com/osx-startup-keyboard-commands-help-in-troubleshooting/

調查利用 | (pipe) 連結各指令的執行結果

相信大家在Linux下都使用過|(pipe)來連結過指令, 比如 cat docu.txt | wc -l 可以得知docu.txt有幾行, 但是如果今天串連了許多指令,系統確告知指令不能正確被執行時該怎麼辦呢? 到底是卡在那一個了呢?
此時便可以透過PIPESTATUS這個"陣列變數"來得到每一個指令執行的結果是否正確!
看看以下的例子您便能明白:
[root@localhost ~]# cat docu.txt | wc -l
41
[root@localhost ~]# rm docu.txt
rm: remove regular file `docu.txt'? y
[root@localhost ~]# cat docu.txt | wc -l
cat: docu.txt: No such file or directory
0
[root@localhost ~]# echo ${PIPESTATUS[0]}
1
這樣應該瞭解了吧! 從這可知道各指令執行後的結果由0開始, 所以cat docu.txt的執行結果將存在PIPESTATUS[0]中,而wc -l則存放在PIPESTATUS[1]中,如此方便debug用.

Note: 指令若能正確被執行,則$?變數便會是0,非0則代表指令執行有誤,在這個例子中,您並不能以$?來找出那一段的指令執行錯誤,因為利用|(PIPE)所串連起來的指令,$?將會存放最後一個指令執行後的結果.
Note: PIPESTATUS的值將隨著每次指令的執行而異動!

Wednesday, March 21, 2007

建構RHEL5的網路安裝Server

與RHEL4不一樣的是,RHEL5不需要將iso image mount起來,只要將iso image透過NFS Server export出來就可以了,所以說RHEL5變簡單了(笑~)。不過萬一您手上只有安裝光碟的時候,這怎麼辦呢? 請依以下的作法製作iso image吧!
For DVD:
# dd if=/dev/dvd of=/NFS/RHEL5/RHEL5.iso

For CD-ROMs:
# dd if=/dev/cdrom of=/NFS/RHEL5/RHEL5_diskX.iso

Note: X代表第幾片光碟。

設定並啟動NFS Server:
# vi /etc/exports
/NFS/RHEL5 *(ro,sync)
# service nfs start; chkconfig nfs on

Saturday, March 17, 2007

紅帽推出企業Linux 5 賽門鐵克來相挺-旗下儲存管理產品將支援RHEL 5

就在 紅帽 ( Red Hat )正式推出最新版旗艦作業系統 - Red Hat Enterprise Linux 5( RHEL 5)之後, 賽門鐵克 也宣布旗下儲存管理產品也將支援RHEL 5。

賽門鐵克表示,他們的Veritas Storage Foundation、Veritas Cluster Server以及Veritas NetBackup產品都將在90內完全支援紅帽最新旗艦Linux作業系統。為了協助紅帽用戶來更佳管理他們的資料中心,賽門鐵克將把開原碼Xen伺服 器虛擬工具列入RHEL 5內一起推出。

此外,賽門鐵克與紅帽也推出共同客戶服務方案,用來提供更快速更周詳的客戶支援。新的共同服務方案乃是藉由給予技術支援來讓工程師可以遠端遙控讀取賽門鐵克與紅帽的測試實驗室環境,結合雙方伺服器及儲存基礎架構來充分傳達客戶支援需求。

出處: CPRO 資傳網 http://cpro.com.tw/channel/news/content/?news_id=54431&cid=A0000

Friday, March 16, 2007

定期檢查系統中SUID的檔案

Linux系統中,凡具有SUID權限的檔案,可說是兩面刀呀! 好處是在某些時候可以讓user執行某些只有root可執行的檔案 (如: passwd, ping mount)~但壞處是萬一這個執行檔有"洞",就會讓有心人士有機會侵入到Linux作業系統,所以身為系統管理者的我們,必需要對SUID的檔案特別留意,也因此讓我想到,應該讓系統每天檢查SUID的檔案們是不是有被動過手腳:

-首先,在裝完OS後,先執行以下的命令:
find / -path '/proc' -prune -or -perm -u+s -exec ls -l {} \; > /tmp/suidlist-init
簡單的說就是利用find指令將除了/proc目錄外,所有具有suid權限的檔案找出來,並且存到/tmp/suidlist-init中

-撰寫scripr file:
# vi /root/bin/checksuid.sh

#!/bin/bash

LOGFILE="/tmp/suidlist-`date +%Y-%m-%d`"
RESULTFILE="/tmp/suid_check_result-`date +%Y-%m-%d`"

find / -path '/proc' -prune -or -perm -u+s -exec ls -l {} \; > $LOGFILE

diff /tmp/suidlist-init "$LOGFILE" > $RESULTFILE

mutt -s "SUID CHECK RESULT" root < $RESULTFILE

-定期每天AM 3點檢查,並將結果mail給root
#crontab -e
0 3 * * * /root/bin/checksuid.sh

這麼一來,每天收收信就可以知道目前所有具SUID檔案的狀況了!

Thursday, March 15, 2007

bash下array的幾種使用方法

#!/bin/bash
#一舉將變數設定到陣列中
array=(Redhat Novell MicroSoft Sun IBM HP Dell)

#利用for loop將陣列中的變數印出
for i in 0 1 2 3 4 5 6
do
echo "array[$i]=${array[$i]}"
done

#設定間隔符號為: 搭配$*將陣列的值一口氣輸出
IFS=:
echo "${array[*]}"

#設定間隔符號為換行,搭配$*將陣列的值一口氣輸出
IFS=$'\n'
echo "${array[*]}"

#將陣列中的值利用$@一口氣輸出與$*不同的是,不會將值合併成單一字串
echo "${array[@]}"

#印出陣列中有幾筆資料
echo "${#array[@]}"

執行結果:
array[0]=Redhat
array[1]=Novell
array[2]=MicroSoft
array[3]=Sun
array[4]=IBM
array[5]=HP
array[6]=Dell
Redhat:Novell:MicroSoft:Sun:IBM:HP:Dell
Redhat
Novell
MicroSoft
Sun
IBM
HP
Dell
Redhat Novell MicroSoft Sun IBM HP Dell
7

Wednesday, March 14, 2007

半價網

這個網站挺吸引人的,把供應商跟消費者完完全全結合在一起......
如果真得可以半價買的夢想中的商品,那是多麼地令人興奮呀!! 也因此帽客預約了Apple iMac 2.0Ghz MA590TA/A, 呵~原價42900半價21900, 能成功嗎? 期待中 =)

半價網 http://www.50100.com.tw

Monday, March 12, 2007

Redhat Enterprise Linux 5.0 蓄勢待發!

Redhat 計畫在美國時間3月14日推出它的旗艦作業系統最新版本 - Red Hat Enterprise Linux 5。

RHEL 5以連結伺服器虛擬與紅帽的叢集支援來整合Xen架構伺服器與儲存虛擬方案。此外,RHEL 5具有虛擬管理功能,能夠使得安裝及管理Xen虛擬機器變得更容易。新版本RHEL從Linux核心2.6.9版升級至2.6.18版,紅帽更宣稱延伸強 化了作業系統的網路與I/O子系統。

資料來源: CPRO 資傳網 http://cpro.com.tw/channel/news/content/?news_id=54344

Wednesday, March 07, 2007

利用Kickstart安裝Redhat Linux

我想這不是一個很高深的技術,但確是非常實用且方便的方法,最近買了一堆IBM HP and Dell的Server,要帽客自己一台一台手動安裝Redhat嗎? 實在是沒那個美國時間, 所以就利用kickstart來幫我這麼忙囉! 帽客的作法是: 將kickstart configure file放在NFS Server上, 當然這台NFS Server也同樣是Installation Server, 待用第一片開機片開機時,打入以下的指令: linux ks=nfs:IP address:/Share folder/ks.cfg 這麼一來,人就可以不用待在機房在那邊按來按去囉!

Note: ks.cfg這個檔案是依據手動安裝時所選取的選項與設定,自行產生的範例檔, 原來的檔名與位置是在 /root/anaconda-ks.cfg.

Monday, March 05, 2007

Linux下的備份利器-cpio

說到在Linux下備份檔案,最常用的就是使用tar來備份檔案,不過有的時候在某些特定的需求下,是需要利用到其它的工具來備份,比如: 如果將來要回復*.conf的檔案時,利用tar的話就遇到瓶頸了,不過也不必擔心,還有一個好用的備份壓縮工具cpio可以幫我們達成這個需求!

1.首先,先將/etc完整備份到/tmp下:
# cd /etc;find . -print | cpio -oa > /tmp/etc_backup.cpio
2.將*.conf回復到/tmp下:
# cd /tmp; cpio -im "*.conf" < /tmp/etc_backup.cpio

附帶提一下常見的壓縮工具,它們的壓縮比(優到劣)通常是: tar.bz2 > tgz > tar > cpio > dump

Thursday, March 01, 2007

帽客2007新春桌面


帽客的女兒Fifi於2007.2.12誕生,第一次當爸爸的我實在非常高興能有個這麼可愛的女兒!
現在女兒已完全佔據我的心囉~ 連小白的桌面也不放過! 嗯!有女萬事足呀!

Tuesday, January 30, 2007

誰佔用我的硬碟空間??

帽客的小黑X24,用了三年多了,安裝CentOS也跑了兩年多了(都沒重灌唷!),近日覺得"/"的空間有點不大夠用了.....於是乎下達 du -csh /* 來找看看那個目錄佔用我最多的空間,看了一看覺得為何/var會如此肥大? 進到此目錄後,在用剛剛的指令檢查看看,哇! 果然讓我抓到了兇手了, /var/cache/yum竟然有700M那麼大,原來以前用yum升級套件時,忘了把抓下來的packages移除,趕緊用 yum clean all清一下,嗯~好多了!

PS 其實兇手是我自己 =.=" 趕快改寫一下crontable囉~~~

Friday, January 26, 2007

NTOP

前些日子把3條ADSL合併在一台Linux的機器,當然想看看traffic的情況,本想用MRTG來看,後來想想還是用NTOP好了,NTOP的確能分析到更多的東西,但不是說MRTG不好,目前我也用MRTG monitor數10台switch的流量,跑了很久也一直很穩定,工具不分好壞能達到目的就好了!

Monday, January 22, 2007

Linux合併頻寬

上星期因為工作需求去K了一下如何用Linux合併三條ADSL線路,公司的應用真的是太吃頻寬了!
我選用CentOS搭配iproute2與iptables來做,不過.....我只能說我做對了一半.....對外都沒有問題,但是如果要透過它連到內部的FTP Server,三條線路就時通時不通了!這點就很奇怪了,讓我有點confuse...... 這樣的下法應該是work的呀.....
iptables -t nat -A PREROUTING -s eth1 -p tcp --dport 21 -j DNAT --to 192.168.1.100:21
iptables -t nat -A PREROUTING -s eth2 -p tcp --dport 21 -j DNAT --to 192.168.1.100:21
iptables -t nat -A PREROUTING -s eth3 -p tcp --dport 21 -j DNAT --to 192.168.1.100:21

Friday, January 12, 2007

改變預設smtp port

SMTP default port是25,今天在裝公司某樣產品時要求要將port 25改成2500,用google找到了方法,趕快先po上來,因為這實在太少用了!
Add a line to your /etc/services:
smtp2 5000/tcp
Now edit your master.cf so the smtpd line starts with smtp2:
smtp2 inet n - n - - smtpd
service postfix restart

原文網址

Monday, January 08, 2007

小小改造Mac CLI

Mac預設的CLI(console),是不支援中文且ls的輸出也是沒有顏色的,利用以下的方法可以讓CLI變成彩色且支援中文語系:

$ sudo vi /etc/bashrc
alias ll='ls -l -w -G'
alias ls='ls -w -G'

Wednesday, December 27, 2006

Linux Transparent Firewall架設完全攻略

前言:
很多時候,在不想變動原本的網路架構下,如果有需要將網路隔離開時,就需用到透通式的防火牆,所謂的透通式的防火牆它是個in-line mode的裝置,你可以把它想成是一個Bridge裝置,但確有可以過濾封包的功能,提醒一下既然是Bridge裝置,當然它就是屬於Layer 2那一層囉!


Environment:
以下是筆者所測試的環境:

Server ---------- Firewall ---------- Client
Server IP address: 192.168.1.100
Client IP address: 192.168.1.200
Firewall IP address: 192.168.1.1

Objective:
只允許Server可以透過網芳將檔案傳送到Client端(單向),Server與Client可互相透過icmp echo request確認彼此間的連線 (雙向) 。

Setup Procedure:

1.Bind兩張網卡成一個bridge interface:
Firewall至少要有兩張網卡,然後只要將它們bind起來,Firewall就可以成了一個Bridge裝置。首先要安裝bridge-utils與bridge-utils-devel這兩個套件,這兩個套件可以把eth0與eth1 bind成一個bridge裝置,正好符合我們以上的需求,筆者是用RHEL4.4架設的,非常方便的是這兩個套件在安裝光碟裡面就有。
# rpm –ivh bridge-utils-*

緊接著將eth0與eth1 bind成bri0 interface.

# ifconfig eth0 0.0.0.0
# ifconfig eth1 0.0.0.0
# brctl addbr bri0
# brctl addif bri0 eth0
# brctl addif bri0 eth1

執行brctl show確認一下:
# brctl show
bridge name bridge id STP enabled interfaces
bri0 8000.00034730c5b3 no eth0
eth1

好了問題來了,既然bri0 interface已經建置好了,那麼是否可以在上面設定IP呢?答案當然是可以的囉~不然怎麼remote control它呢? 至於設定的方法有兩種,一種是設定Static IP,另一種是透過DHCP Server get到IP,以下是設定的方法:
Static IP:
# ifconfig bri0 192.168.1.1 netmask 255.255.255.0 up
DHCP Client:
# dhclient bri0

以上的所有動作您可以把它寫成一個shell script file,並讓它在開機時自動執行,以RHEL的話是放在/etc/rc.local,順便一提SLES是/etc/init.d/boot.local

2. Allow IP forwarding

# vi /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
#sysctl –p

請測試一下,目前Server與Client的網路是相通的。

3. 設定Policy

重頭戲來了,如何設定Policy? 一般來說Linux firewall的設定是透過iptables,iptables預設分為3個table,5個chain,我要把rule設定在那個table及那個chain是一開始該有的認知。先提醒一個觀念,iptables比對的順序為mangle->nat->filter,這是什麼意思?事實上mangle,nat與filter就是預設的三個table,若前面的規則是allow,到了後面的table卻是deny的話,那就是deny! 反之若前面是deny而後面是allow的話,那就是allow! 這是套用於不同table時,規則相互抵觸時的法則,想一想有沒有可能在相同的chain中,設定相互抵觸的規則?當然是有可能的囉!這時是first match! 當hit到規則後,則不在進行比對,這點請特別注意!

可以確定的是,利用filter table就可以設定我們的policy,接下來考慮一下要設定在那個chain? INPUT OUTPUT FORWARD? 答案是 FORWARD,別忘了!它是個Bridge裝置,封包當然是透過eth0到eth1或是eth1到eth0囉!

為了最高安全指導原則,首先要把 FORWARD default policy設定為DROP,只放行SMB protocol與icmp echo request.

# iptables –P FORWARD DROP

測試一下 Server與Client目前應該是完全不通!

設定允許n個封包之後的連線:

# iptables –A FORWARD –m state –state RELATED,ESTABLISHED –j ACCEPT

設定允許icmp echo request:

# iptables –A FORWARD –s 192.168.1.0/24 –p icmp –icmp-type 8 –j ACCEPT

設定只有Server可以透過網芳將檔案傳送到Client:

# iptables –A FORWARD –s 192.168.1.100/32 –d 192.168.1.200/32 –p tcp –dport 139 –j ACCEPT

# iptables –A FORWARD –s 192.168.1.100/32 –d 192.168.1.200/32 –p tcp –dport 445 –j ACCEPT

這樣一來便可達到我們的需求!
歡迎轉載,不過請註明出處唷~ ^^

筆者簡介:
Lawrence Chiu – 已取得RHCE與NCLP認證,曾任職於D-Link testing engineer負責資安產品的測試,現任職於TrendMicro Anti-Spam Lab administrator。

利用Linux架設Transparent Firewall

前幾天帽客利用一台PIII的機器,安裝好Linux後並設定成透通式防火牆,架設在公司網路裡面使用,在不想改變現有的環境下,而又想阻擋某些對外連線時,這是一個好方法,經過這幾天的觀察,發覺還挺穩的,因為網路流量挺大的,還在擔心這台老機器會不會撐不住,呵~ 果然是我想太多了! Linux就是棒呀! 就算是老機器給它灌上Linux也能有第二春!

Tuesday, December 19, 2006

設定DHCP Server只由某張網卡分配出去

是的,帽客在家及在公司都已經有架設起一台NAT Server以供測試,下一個問題當然是架設起DHCP Server的服務,但總不能讓它兩張網卡都分配出去IP吧! 如果我要限定只從某個網卡分配出去呢? 該怎麼辦? 問了問Google大神,果然找到的解決的方法,以下是Redhat說明:

- 開啟 /etc/init.d/dhcpd
- 找到 daemon /usr/sbin/dhcpd ${DHCPDARGS} 2>/dev/null 修改為 daemon /usr/sbin/dhcpd eth1 ${DHCPDARGS} 2>/dev/null
- # service dhcpd start; chkconfig dhcpd on

這麼一來DHCP Server就只會從eth1分配IP出去!
至於SLES10,很簡單的囉~ 使用yast2來設定就好了,這裡就不多加詳述了.

Monday, December 18, 2006

Linux iptables SNAT+DNAT+FTP passive mode

帽客今天在SLES10下實現了SNAT與DNAT的環境,這台SLES10當成NAT Server負責內部IP連線到Internet上,並在內部網路架設一台FTP Server,讓Internet上的機器可以存取到它,也就是所謂的DNAT, 實作的方法跟Redhat有一點不同,但觀念是一樣的,讓帽客整理一下吧!

如果有需要這篇文章的朋友,請與我連繫. =)

Thursday, December 14, 2006

帽客的iptables設定- 單機篇

以下是帽客常用的配置方式:
# Generated by iptables-save v1.2.11 on Tue Dec 12 23:24:06 2006
*filter
:INPUT DROP [1032:90974]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1758:160527]
:BADPKT - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -s 127.0.0.0/255.0.0.0 -i ! lo -j DROP
-A INPUT -m state --state INVALID -j BADPKT
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j BADPKT
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW -j ACCEPT
-A INPUT -j LOG --log-prefix "** Firewall INPUT DROP **"
-A BADPKT -j DROP
COMMIT
# Completed on Tue Dec 12 23:24:06 2006

解說:
Create一個新chain名為BADPKT,預設動作為DROP
-A INPUT -i lo -j ACCEPT -> 對於loopback interface的封包是接受的
-A INPUT -s 127.0.0.0/255.0.0.0 -i ! lo -j DROP -> 對於127.0.0.1的IP位址,來源的介面必需為loopback,否則DROP
-A INPUT -m state --state INVALID -j BADPKT -> 封包狀態若不正常予以DROP
-A INPUT -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j BADPKT -> 對於tcp的第一個封包必需是SYN,否則DROP
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j ACCEPT -> 允許ssh的連線請求,最好加上 -s參數限定那個IP or subnet才可連線
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -> 允許本機第n個封包(自己發出去的嘛! 當然對之後的封包也要允許呀!)
-A INPUT -j LOG --log-prefix "** Firewall INPUT DROP **" -> 將iptables log記錄到/var/log/messages
-A BADPKT -j DROP -> BADPKT預設的policy

Tuesday, December 12, 2006

Install VMware Server on SLES10

Extra packages needed:
xorg-x11-libs
gcc
kernel-source

之後用rpm安裝,並執行vmware-config.pl,
一步一步配置VMware Server的環境.




Thursday, December 07, 2006

帽客桌面


好久沒秀一下帽客的桌面了,就給它秀一下吧! ^_^
這張是FFIII裡的赤魔導吧?! FFIII大概是我國中時代吧......唉~ 沒想到我已經要當爸爸了 @@

PS FFIII 同時也是帽客第一次接觸到的RPG類型遊戲.

關閉SLES10的firewall

在安裝SLES10時,不小心設定預設啟動firewall的功能,確又不太了解firewall setting (iptables)的朋友,可以利用以下的方法將其關閉

# rcSuSEfirewall2 stop -> 目前關閉,但當系統重新開機後,還是啟動
# chkconfig SuSEfirewall2_setup off
# chkconfig SuSEfirewall2_init off -> 以上兩行設定系統啟動時,不啟動firewall

如果對照到Redhat是這樣子的:

# service iptables stop -> 目前關閉,但當系統重新開機後,還是啟動
# chkconfig iptables off -> 設定系統啟動時,不啟動firewall

Monday, December 04, 2006

Shell Script: 確定user目前是否登入系統

Filename: finduser

#!/bin/bash

if [ $# -ne 1 ]; then
echo "usage: finduser username"
else
who | grep "$1"
fi

有趣的語法

somecmd && {
cmd1
cmd2
cmd3
}

這樣可能看不太懂吧!如果改成這樣呢?

test -f /etc/issue && {
cat /etc/issue
}

如果還不能了解的話,請往下看:

if [ -f /etc/issue ]; then
cat /etc/issue
fi

有趣吧 =)

Tuesday, November 21, 2006

Backup files to remote side

語法:
tar -cvf - /tmp/testdir/ | gzip -c | ssh root@192.168.1.34 "cat > /tmp/testdir.tgz"

這樣做可省硬碟空間與時間。

Monday, November 13, 2006

最近真忙

最近工作的雜事真是超多的,有時真想大聲說 "一件一件慢慢來! 我只有一個人呀!" 備份燒片,安裝OS,安裝電腦,電腦硬體除錯,網路設定...客戶(使用者)電腦的問題.....這樣的問題就好比無窮迴圈一般,唉~~好久沒好好玩我的Mac and Linux啦......

Wednesday, November 01, 2006

gcin

這些日子又開始在玩Linux的桌面了,以前就對RHEL/Fedora預設的中輸很感冒,今天就試著安裝gcin看看,沒想到一用上癮,真是太好用啦! 內建非常多的輸入法!甚至有無蝦米!
值得推薦.

網址: gcin同好會

RHEL切換輸入法的方法:

# system-switch-im -> 選進階設定 -> 繁中 -> 輸入法: gcin -> restart X

Tuesday, October 31, 2006

Build source rpm

以Redhat為範例:
- Download *src.rpm (http://rpmfind.net -> 大部份的rpm在這都可以找到)
- # rpmbuild --rebuild *src.rpm
- # Build完後的rpm會放在此目錄下 /usr/src/redhat/RPMS/

Friday, October 27, 2006

在RHEL上架設SLES10的網路安裝伺服器

就大家所知,RHEL要建構起一台網路安裝伺服器只要將每片CD片裡的Redhat目錄copy出來,並透過NFS,HTTP or FTP就可架設起來了。
如果要在RHEL的機器上架設SLES10呢? 似乎不能這樣做.....,今天靈機一動想到了一個方法,或許不是最佳解法,但事後證明它是可以達成我的目地。

Setup Procedure:
- 找台灌有SLES10的機器
- 啟動yast
- 在Misc中執行Installation Server,將光碟片中的檔案copy到某一目錄
- 將此目錄透過scp或其它的方式,copy到RHEL的機器上
- 透過NFS將此目錄分享出來
- 放入SLES10第一片光碟
- 選擇安裝SLES10
- 按下F4,把安裝來源改成NFS

Thursday, October 26, 2006

Redhat釋出Fedora Core 6

昨天Redhat釋出了Fedora Core 6,昨晚也下載完成了.
這星期計劃將它裝起來看看有啥新東西,目前我的主力還是以Redhat為主SUSE為輔.

下載網址: http://www.redhat.com/fedora/

Tuesday, October 24, 2006

收到NCLP証書了

昨天下午還在跟CD Chen大哥聊證書何時會到,沒想到昨晚回家就聽到老媽說我的證書寄到了.
不過聽說是被郵差大哥丟在地上,天呀!下雨天ㄟ......@#@#$#$%$^$%%^ 好險沒用的很濕......
打開一看,看到了NCLP的證書, NCLP會員卡, 還有一本Novell雜誌. (沒有衣服...殘念..)

不過總算是安全寄到我家了,呼呼~找個時間買個框框,把它框起來放在RHCE證書旁 =)

Friday, October 20, 2006

LPI Level 3 Betas Underway

LPIC-3 Beta考試開始進行了,並且注重在LDAP與Samab,可惜呀!RHCE與NCLP不能直接考LPIC-3,還是要通過LPIC-1 & 2才能考.....

來源:
http://certcities.com/editorial/news/story.asp?EditorialsID=1112

Wednesday, October 18, 2006

在Mac OSX上閱讀CHM文件

某一些電子書是MS Chm的格式,在Linux與Mac上雖然default是不能閱讀的,但還是有軟體支援,MAC上有一套免費的軟體叫Chmox,還不錯用。以下是它的Link:

http://chmox.sourceforge.net/

Wednesday, October 11, 2006

SLES10預設的桌面環境

令人感到非常意外的事情,SLES10預設的桌面環境變成了GNOME而不是KDE,這對我來說應該是個好消息? 因為我習慣用GNOME啦,不過使用SUSE沒有搭配KDE,使用起來還是覺得怪怪的(笑~)若使用起來不習慣要更改時也不難,只要用run level5開機,待login畫面出現後,按下session button然後選擇kde開機,系統會問您是否要變成預設桌面或只是套用於這一次的登入,不過要注意的是安裝時要同時勾選安裝GNOME and KDE。

Friday, October 06, 2006

NCLP PASSED

今天是個很戲劇化且刺激的一天,一早接到考試中心說因適逢中秋連續假期,老師們都放假去了,萬一考試期間發生問題,可能會比較難故障排除,於是我決定今天下午參加考試,因為真的很突然所以麻煩了考試中心人員連忙幫我跟原廠確認是否可以改成今天考試,原廠回應可以且也排定時間之後就是跟公司老闆請假去考試了。

路程中碰上了小塞一下,好險有趕上。。老天保佑!

一進考場,嗯~~~~等了一會與承辦人員辦好手續(交錢啦)就進小房間準備考試囉!!
oh ? 怎麼考試時間只有150分鐘? 不是有180分鐘嗎?? 嗯.....請考場人員確認......嗯....先不管了.....開始考試吧! (記得幫我跟Novell反應一下呀!是180分鐘呀!) 嗯!衝吧!!!!
疑??怎麼不能login? 嗯嗯 好吧 還沒開始就有問題 =.= 工程師troubleshooting中.................
OK! 可以開始考了!還幫我加了些時間唷!呼呼~感謝Novell與考場中心。
呵呵,考試的題目.........嗯嗯~ 算有準備到啦! 考那些呀? 嗯......就胡大那篇文章中,那些打星星的重點!必看必看呀!

考題,老實說並不難,題目也沒有RHCE多,唯一比較可怕的就是.....網路連線速度有點慢,覺得是在考耐心吧!不過180分鐘的時間絕對做得完!我大概花了150鐘的時間來設定並從頭檢查了一遍。

之後就按下了決定我能不能好好過中秋節的 End Exam button,等了漫長的五分鐘.......................................... 嗯~我過了!哈哈740分!感謝老天爺 ^-^

年中時,曾在此留言說年底時要考過NCLP,今天總算達成這個目標。
在此跟大家分享一下我所準備的資料:
- NCLP 3019 課本 (看看就好)
- Alex Lin 老師的筆記與講義 (重要)
- 針對胡Sir 所列的重點,為主要練習目標 (非常重要)
- 柏青哥的SuSE Linux (非常重要,範例要多做)
- SuSE Linux 管理手冊 (季明)(非常重要,書中每個章節的Lab必做)
- RHEL 3, 133與253課本的練習題
- OpenSuSE Blog (http://opensuse.blogspot.com/)
(非常重要)
- 聯成電腦認證課程 討論區 (心得分享)
- 鳥哥網站 (心得分享)

以上,感謝我老婆在背後默默地支持我!以家人為持續學習的原動力!

PS. 沒想到我是台北恆逸,第一位參加NCLP的考生。

Wednesday, October 04, 2006

將 geeko的quota policy assing給uid大等於1000的user

#!/bin/bash

for VAR in `cut -d: -f3 /etc/passwd`
do
declare -i VAR
if [ "$VAR" -ge 1000 ]; then
cat /etc/passwd | grep "$VAR" >> /tmp/userlist
fi
done

for VAR2 in `awk -F: '{print $1}' /tmp/userlist`
do
#echo $VAR2
edquota -p geeko "$VAR2"
done

rm /tmp/userlist

PS 雖然可以work,還有點缺點 。

Monday, October 02, 2006

修復MS outlook ost or pst files

遇到了,就順便記一下囉

如果您將 Microsoft Outlook® 資料保留在電腦中,則您使用的是「個人資料夾」檔案 (.pst) 或「離線資料夾」檔案 (.ost)。若要避免遺失資料,您必須知道如何修復這些檔案。

如果您的 .pst 檔案已損壞,則可使用 Outlook 所包含的一個工具來更正問題,而不需切換至備份。此工具 (收件匣修復工具) 會在您安裝 Outlook 時安裝至您的硬碟中。

如果您的 .ost 檔案已損壞,則可使用 Outlook 所包含的一個工具來更正問題。此工具 (OST 整合工具) 可掃描及修復 .ost 檔案。如果它無法完全解決問題,您可以 關閉 .ost 檔案再建立新的檔案。

修復個人資料夾檔案 (.pst)

如果您開啟 Outlook .pst 檔案並收到下列訊息,則可能需要使用 [電子郵件信箱修復工具]:

無法展開資料夾。無法開啟這組資料夾。在檔案 drive:\Documents and Settings\user\Local Settings\Application Data\Microsoft\Outlook\Outlook.pst 中找到錯誤。請關閉所有郵件功能的應用程式,然後再使用 [電子郵件信箱修復工具] 來更正錯誤。

附註 訊息中指定的檔案路徑可能隨著您電腦使用的作業系統而改變。

顯示若要修復 .pst 檔案

  1. 在 [開始] 功能表,按一下 [執行]。
  2. 在 [開啟] 方塊中輸入

    drive:\Program Files\Common Files\System\Mapi\LocaleID\scanpst.exe

    其中,LocaleID 是為您 Microsoft Office 安裝的區域識別碼 (LCID)。例如,美式英文的 LCID 為 1033。如需 LCID 清單,請參閱 Microsoft Office 的 [說明]。

  3. 按一下 [確定]。
  4. 在 [所要掃描的檔案名稱] 方塊中,輸入上述錯誤郵件所給定的路徑和檔名。

    附註 您可能無法使用 [瀏覽] 按鈕來尋找這個檔案,因為它是位於隱藏的資料夾中。

  5. 若要為掃描期間的記錄錯誤變更選項,請按一下 [選項]。如果您選擇 [取代原有記錄檔] 或 [附加到記錄檔],則記錄檔會與 .pst 檔儲存至相同的目錄下。
  6. 按一下 [開始]。
  7. 完成檔案掃描之後,選取 [修復前先製作掃瞄檔的備份] 核取方塊。
  8. 按一下 [修復]。

如果成功地修復檔案,您會看到「修復完成」訊息。如果 [電子郵件信箱修復工具] 無法修復檔案,則需要使用檔案的備份。

顯示若要開始使用備份檔案作為新的主要檔案

  1. 啟動 Outlook。
  2. 在 [檔案] 功能表上按一下 [資料檔案管理]。
  3. 選取損壞的 .pst,然後按一下 [移除]。
  4. 按一下 [新增],選取 [個人資料夾檔案 (.pst)],按一下 [確定],然後選取要作為新主要檔案的 .pst 檔案。
  5. 按一下 [確定]。

重要事項 您不應該只依賴 [電子郵件信箱修復工具] 來執行緊急復原。用來定期備份 .pst 檔案的系統是防止資料遺失的重要環節。您可使用多種方法來備份檔案,包含將它複製到另一個位置、備份電腦的所有檔案,或使用 Microsoft Office Online 網站的「個人資料夾備份」公用程式。

修復離線資料夾檔案 (.ost)

您可能想在遇到下列狀況時掃描及修復 .ost:

  • 遇到大量的衝突項目。
  • 離線時無法開啟特定的 Outlook 項目。
  • 收到非預期的同步錯誤訊息 (顯示於 [刪除的郵件] 資料夾中的同步化記錄)。
  • 收到下列訊息:

    無法展開資料夾。無法開啟這組資料夾。在檔案 drive:\Documents and Settings\user\Local Settings\Application Data\Microsoft\Outlook\Outlook.ost 中找到錯誤。請關閉所有郵件功能的應用程式,然後再使用 [電子郵件信箱修復工具] 來更正錯誤。

    附註 訊息中指定的檔案路徑可能隨著您電腦使用的作業系統而變。

此外,您或許能在 .ost 中開啟資料夾,卻持續收到同步錯誤訊息。當單一電子郵件損壞,而且同步處理也無法更正它時,即會發生這種情況。您可以使用 [OST 完整性工具] 來修正或移除損壞的郵件,以順利地同步化。

重要事項 如果 [OST 完整性工具] 無法開啟 .ost 檔案,則您可能必須先執行 scanpst.exe (請參閱上述的第一個程序)。

顯示若要掃描及修復 .ost 檔案

  1. 關閉 Outlook。
  2. 在 [查詢] 功能表上,按一下 [執行]。
  3. 在 [開啟] 方塊中輸入

    drive:\Program Files\Common Files\System\Mapi\LocaleID\scanost.exe

    其中,LocaleID 是為您 Microsoft Office 安裝的區域識別碼 (LCID)。例如,美式英文的 LCID 為 1033。如需 LCID 清單,請參閱 Microsoft Office 的 [說明]。

  4. 按一下 [確定]。
  5. 按一下 [掃描所有資料夾] 或 [選擇要掃描的資料夾]。如果您按一下 [掃描所有資料夾],則此作業可能得花費幾分鐘才能執行完畢。
  6. 選取 [修復錯誤] 核取方塊。
  7. 按一下 [開始掃描]。

掃描及修復期間所執行動作的詳細資料,將當作郵件儲存在您的 Outlook [刪除的郵件] 資料夾,而且它的主旨為「OST 完整性檢查」。

如果「離線資料夾」檔案無法修復,您可以停用它並建立新的檔案。

隱藏若要停用 .ost 檔案並建立新的檔案

  1. 在 [工具] 功能表中,按一下 [電子郵件帳號],按一下 [檢視或變更現有的電子郵件帳號],然後按一下 [下一步]。
  2. 在清單中,按一下 [Microsoft Exchange Server],然後按一下 [變更]。
  3. 按一下 [其他設定]。
  4. 按一下 [進階] 索引標籤,然後按一下 [離線資料夾檔設定]。
  5. 按一下 [停用離線功能]。
  6. 在 [檔案] 方塊中,輸入要用作 .ost 檔案的檔案之路徑。預設的檔案名稱是 outlook.ost。如果此檔案名稱已存在,系統會提示您建立新名稱。
出處: http://office.microsoft.com/zh-tw/assistance/ha010563001028.aspx

Wednesday, September 13, 2006

Linux掛載Windows NTFS磁區之方法

最近因為工作的需求,碰到了要在Linux下掛載NTFS的問題,問問Google大神後,找到了解決方法,就貼上來跟大家分享囉:


Setup1. Make sure Linux system can detected your HD. (fdisk –l)

Setup2. Know your kernel version. (uname –r)

Setup3. Reference the following website to get the correct rpm. (Linux-NTFS Project: http://www.linux-ntfs.org/)

Setpu4. rpm –ivh kernel-module-ntfs*

Setup5. Reboot your machine.

Setup6. Create a mount point (mkdir /mnt/ntfs)

Setup7. mount /dev/hda# /mnt/ntfs –t ntfs –o utf8=yes

Wednesday, September 06, 2006

實作NTP Server 與 NTP Client

環境: SLES9
目的: 架設一台NTP Server並提供時間同步的服務給NTP Client

NTP Server:
# vi /etc/ntp.conf -> NTP Server的設定檔
server time.stdtime.gov.tw prefer -> 加入到此設定檔中
# rcxntpd start; chkconfig xntpd on -> 注意是xntpd唷!

NTP Client:
# ntpdate "NTP Server IP address"
# hwclock -w -> 因為Linux的時間有區分為System time與BIOS time,所以記得要同步一下唷!

PS. NTP Client嘗試要跟NTP Server同步時間時,有時會失敗,這是因為NTP Server套用新的設定檔後,要等一段時間才會生效,為了這個我還查了好久 @@

Tuesday, August 15, 2006

你若不想做,會找到一個藉口;你若想做,會找到一個方法。

今天是到新公司的第一天,這一次不只是換了工作,連工作性質也跟以往完全不同!看來有好多功夫要學,跟我共事的同事們可說是台灣寫code的高手群了吧!雖然有點緊張與不安,但只要想到這句話,我就覺得我一定能克服這道關卡!

"If you don't wanna do it, you find an EXCUSE; if you do, you'll find a WAY."(你若不想做,會找到一個藉口;你若想做,會找到一個方法。)

Friday, August 11, 2006

Shell script之練習

Objective: move *.conf files from /nfsdata to /tmp

# cd ~
# cd bin/
# vi movefiles.sh
#!/bin/bash
for VAR in `find /nfsdata -iname "*.conf" -exec ls {} \;`
do
mv "$VAR" /tmp
done
# chmod 755 movefiles.sh
# ./movefiles.sh

Saturday, August 05, 2006

Shell script之練習: 將eric的quota policy套用給所有的user

# cd /root/bin
# vi quota.sh
#!/bin/bash
for USER in `awk -F: '{print $1}' /etc/passwd`
do
edquota -p eric "$USER"
done
# chmod 755 quota.sh
# ./quota.sh

Friday, August 04, 2006

Shell script and Cron的練習

Objective: 每一分鐘使用tar,將eric的家目錄備份到/tmp下,格式為year-month-day-hour-minute.tgz

# su - eric
$ cd /home/eric/bin
$ vi backup.sh
#!/bin/bash
DATE=`date +%Y-%m-%d-%H-%M`
tar zcvf /tmp/"$DATE".tgz /home/eric
$ chmod 755 backup.sh
$ crontab -e
* * * * * /home/eric/bin/backup.sh

Thursday, August 03, 2006

Enable IP Forwarding function in SLES9

1. # vi /etc/sysconfig/sysctl
--> modify IP_FORWARD="no" to "yes"
2. # /etc/init.d/boot.ipconfig start
3. Check: cat /proc/sys/net/ipv4/ip_forward是否等於1
4. 重開機後,即自動開啟此功能。

快樂學習SLES

最近參加了UUU所辦的NCLP認證課程,指導老師是補教界名師Alex Lin,呵!Alex老師算是我Linux的啟蒙老師吧!當初考Redhat時,多虧了他的教導讓我一次就能考上,更重要的是,讓我對Linux產生了無比的興趣。
Alex老師上課很認真,跟學生間又沒有距離,人很熱情,跟他聊天總覺得很舒服,我想除了上課考認證外,趁這個機會交朋友也是很棒的!跟老師及同學間多多交流,交換一下工作或是生活上的心得,也算是這次上課的額外的收穫!

Monday, July 31, 2006

Certification

Here is my objective:
- NCLP
- LPIC level 1
- LPIC level 2
- CCNA
- SCJP

NCLP打算今年取得,明年應該是CCNA了。

Friday, July 28, 2006

Master

To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.

ATrpms - This is a 3rd party rpm repository.

除了rpmfind.net之外,這是我常用來找tools的一個網站,同時它也提供許多硬體裝置的驅動程式,我的兩張無線網卡(dwl650, dwlag650)也是拜它所賜才順利裝起來,不過目前它只提供RH的rpm。
如果您也有無線網卡想在Linux下使用,不訪來找看看吧!
網址: http://atrpms.net/

Monday, July 24, 2006

Shell練習 from 鳥哥 Linux 私房菜

我想要建立三個空的檔案,檔名最開頭由使用者輸入決定,假設使用者輸入 filename 好了, 那今天的日期是 2005/08/23 ,我想要以前天、昨天、今天的日期來建立這個檔案,亦即 filename_20050821, filename_20050822, filename_20050823 ,該如何是好?
這個練習題是來自於鳥哥的網站,以下是我自己的寫法:
#!/bin/bash

echo -e "System will create 3 file automatic"
read -p "Please enter your filename: " filename

date1=`date +%Y%m%d --date="-1 day"`
date2=`date +%Y%m%d`
date3=`date +%Y%m%d --date="+1 day"`

filename1="$filename$date1"
filename2="$filename$date2"
filename3="$filename$date3"

touch $filename1
touch $filename2
touch $filename3

Thursday, July 20, 2006

Linux好用的軟體

介紹一下我常用的Linux軟體,好在有這麼多的免費軟體讓我可以把Linux當desktop使用。
- Xine: 多媒體撥放軟體
- beep-media-player: mp3撥放軟體 (support big5 and utf8)
- gthumb: 看圖軟體
- 星際譯王: 翻譯軟體 不比Dr. eye差唷!
- Openoffice
- gaim: 即時通軟體
- Real player: 多媒體撥放軟體
- Ethereal: 分析網路封包
- Xchm: 可以閱讀 MS chm的文件
- Amule: 不要懷疑,它就是windows的eMule
- Azureus: 就是BT囉
- AdobeReader: 是的!也有for Linux version
- Rarlinux: 讓linux也可解rar的檔案
.................當然還有很多很多的好軟體!感謝這些默默耕耘的前輩們,因為他們的付出,讓大家有這麼多的好軟體可以使用!

Use Linux to Setup L2TP Server (without IPSec)

在此分享一下,小弟在Linux下成功架起VPN - L2TP Server 的方法,不過要注意的是並沒有實現over IPSec。
測試環境:
L2TP Server -- L2TP Client
L2TP Server:
-OS: CentOS 4.x
- L2TP package: l2tpd
- IP address: 10.10.99.100/24
L2TP Client:
- OS: Windows XP PRO
- IP address: 10.10.99.101/24

步驟:
1. Install l2tpd:
rpm -ivh l2tpd*
2. Create L2TP User:
# vi /etc/l2tpd/l2tp-secrects
l2tpuser * "password"
3. Configure L2TP configure file
# vi /etc/l2tpd/l2tpd.conf
[global]
; listen-addr = 192.168.1.98 // Allow all L2TP Client dial in
auth file = /etc/l2tpd/l2tp-secrets
[lns default]
ip range = 192.168.0.128-192.168.0.150 // L2TP Client scope
local ip = 192.168.0.254 // L2TP Server IP address
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
length bit = yes
4. Initial L2TP Server:
# service l2tpd start
# chkconfig --level 35 l2tpd on
5. Configure L2TP client (Windows 2000 / XP PRO)
The default Windows 2000/XP does not allow L2TP traffic without IPSec encryption. You can disable default behvior by editing the registry as follow:
- Use the registry editor (regedit) to locate the following key in the registry:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Rasman \ Parameters
- Add the following registry value to this key
Value Name: ProhibitIpSec
Data Type: REG_DWORD
Value: 1
- Reboot Windows 2000/XP
6. Use Windows 2000/XP to setup L2TP client profile.

Thursday, July 13, 2006

VMware Server免費開放下載


這真是個好消息,VMware Server現在開放免費下載,當下載完畢後,在到官方網站申請序號即可!目前只支援Linux與Windows的平台,未來不知是否會支援MAC OSX。

VMware Server 1.0下載處:
http://www.vmware.com/products/server/

Friday, July 07, 2006

Rsync遠端備份+SSH免密碼登入

上次介紹過利用Rsync做遠端備份資料用,發覺美中不足的地方是,要輸入密碼後才能登入遠端Server,然後才能執行備份的動作,稍嫌麻煩,故利用了SSH免密碼登入的方式,果然方便了很多,現在寫了一個備份的 shell script,備份資料對我來說是輕鬆了許多。

Monday, July 03, 2006

crontab練習題

需求: 每30分鐘,記錄系統記憶體的使用狀況,並存入/var/log/Year-Month-Day.log;每天早上8:00將昨天的記憶體記錄檔mail給root.

解答:
1.先寫個收集記憶體使用狀況的shell script:
# cd ~root/bin
# vi collect.sh
#!/bin/bash
FILE=/var/log/`date +%Y-%m-%d`.log
date >> $FILE
free >> $FILE
echo >> $FILE
# chmod 755 collect.sh -v
2. # crontab -e
*/30 * * * * /root/bin/collect.sh
3. 撰寫每日發信給root的shell script:
# cd ~root/bin
# vi sendinfo.sh
#!/bin/bash
FILE=/var/log/`date +%Y-%m-%d --date="-1 day"`.log
echo "This is memory info" | mutt -s "Memory info" -a $FILE root
# chmod 755 sendinfo.sh -v
4. # crontab -e
0 8 * * * /root/bin/sendinfo.sh

Friday, June 30, 2006

MacSaber

這是個非常搞笑的軟體,安裝完畢後,當您搖晃您的ibook or Powerbook時,會發出星際大戰中光劍的聲音唷!有什麼作用?呵呵~就是炫啦!而且上了一天班,搞笑一下減個壓,挺有趣的!

MacSaber

Wednesday, June 28, 2006

Mac OSX 10.4.7 update info

推薦所有使用者使用“10.4.7 更新”,它包含了一般的作業系統修正,以及對以下應用程式和技術的特定修正。它包含以下修正:

- 防止發生 AFP 死結和連線斷開的情形
- 將 Adobe 和 Quark 文件儲存到 AFP 裝載的卷宗
- Bluetooth 檔案傳送、配對和連接 Bluetooth 滑鼠,以及同步至行動電話
- QuickTime、iTunes、Final Cut Pro 和 Soundtrack 應用程式中的音訊播放功能
- 當在桌面上檢視圖像時,確保圖像的間隔距離正確
- 判斷燒錄檔案夾所需的空間
- iChat 音訊和視訊連線,以及使用 AIM 建立聊天室
- 將檔案輸入到 Keynote 3
- 當使用 iCal 和 iPhoto 時的 PDF 工作流程
- 可靠地使用工作流程中的 Automator 動作
- 在“字體簿”中輸入和移除字體
- 同步位址、書籤、行事曆事件和檔案至 .Mac
- 與協力廠商應用程式和裝置的相容性
- 之前獨立的安全更新項目

如需關於此“更新”的詳細資訊,請參訪此網站:http://www.info.apple.com/kbnum/n303771-yh。

如需關於“安全更新”的詳細資訊,請參訪此網站:http://www.info.apple.com/kbnum/n61798-yh。

Monday, June 26, 2006

在ibook G4安裝FC5,並驅動wireless card

Setup procedure:
1. Upgrade kernel to version: 2.6.17-1.2139_FC5 by yum.
2. Install bcm43xx-fwcutter by yum.
3. To use the bcm43xx driver which is part of the Fedora kernel, you need to extract the firmware which is part of the official MacOS, Windows, or Linux drivers.
4. Reboot ibook and boot it from Mac OSX.
5. Copy /System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2
6. Back to FC5
7. bcm43xx-fwcutter -w /lib/firmware AppleAirPort2
8. Because the bcm43xx driver is new and experimental, it is not configured to be automatically loaded in the Fedora Core 5 kernel. In order to ensure that the driver is loaded, you may need to copy the 'modprobe.bcm43xx' file into the /etc/modprobe.d directory.
9. Reboot ibook.


Thursday, June 22, 2006

利用Linux架設PPPoE Server

01- Edit pppoe-server-options as following:
require-pap
require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
ms-dns 168.95.1.1

02- Edit pap-secrets as following:
Client Server Secret IP address
"username" * "password" *
PS 此User必需存在於本機的account

03- Edit chap-secrets as following:
Client Server Secret IP address
"username" * "password" *
PS 此User必需存在於本機的account

04- Command:
pppoe-server -I eth0 -L 220.10.30.254 -R 220.10.30.1 &


Packages must be install:
ppp-*
rp-pppoe-*

Tuesday, June 20, 2006

Install SLES9 on Mac OS by Virtual PC successfully!

終於在Mac OSX下,利用MS Virtual PC成功安裝好了SLES9,目前跑起來還沒有發現任何的問題,只是感覺跑起來有點慢,但至少可以用小白來練習SLES9.
接下來比對一下我在Vmware中常用的功能,Virtual PC是否也有?
1. Bridged to the physical network -> Virtual Switch
2. NAT -> Shared Networking
3. Snapshot -> Undo drives (default: disable), 當直接把Guest OS關掉時,它會幫你save目前Guest OS的狀態,如果你不想儲存此次狀態,是可以discard的,缺點是必須重新reboot OS,這有點花時間.

基本上,我只在virtual console下操作SLES9,所速度上還可接受,但....如果要進入到X window的環境的話......可是要等上一些時間喔! 這時想到尤達大師常對安納金說:[要有耐心.] 嗯嗯!是的要有耐心,不能掉入氣的黑暗面!

Friday, June 16, 2006

Linux for PlayStation

PS3已經蓄勢待發了, 那麼PS2該怎麼辦呢? 放在那供奉起來嗎? 錯! 拿它來跑Linux吧! 不信? 請到下面的連結瞧瞧吧 =)































Linux for PlayStation

Thursday, June 15, 2006

利用MintDNS架起DDNS Server

上次所介紹的DDNS Server是使用TSIG的方式,提供DDNS的服務,但萬一您的需求是要用username/password做認證用呢? 有一套很好的軟體叫作MintDNS可以提供這樣的需求! 安裝過程有點複雜,不過照著安裝手冊慢慢去做的話,應該是沒有問題,寫得算詳細,缺點是圖少了點 呵~ 架設完畢後,還可以利用它的DDNS client來驗證功能是否正常,這樣一來我就可以提供測試環境給RD了~呼呼,以下是它的官方網站:

MintDNS

Tuesday, June 13, 2006

Use Bind9 to setup DDNS Server

Primary DNS Server:
1. 利用host查詢mail.example.com所對應的IP address.

2. 在Primary DNS Server產生TSIG供client端使用.

3. 檢查是否成功新增以下兩個檔案.

4. 查看key的內容.

5. 修改/etc/named.conf的內容如下,這樣一來擁有key的client將可以update mail.example.com這筆RR.

6. 重新啟動named.
7. 利用scp將步驟3所產生的兩個檔案copy到client端. (兩個檔案必須在同一目錄下)

DNS client:
1. 在client端執行以下的命令,來更新RR.

2. 重新查詢mail.example.com,檢查是否更新成功.

Note: 如果不能更新成功,請檢查相關目錄的權限是否設定正確.

Monday, June 12, 2006

Setup DDNS Server via CentOS

今天利用bind9來架設DDNS,參考鳥哥的網站,一步一步去做.....竟然failed.....檢查了好久,才發現我的selinux status是enable的?! 奇怪...我並不記得我有enable selinux呀........
不過總算是能work了,可是這種方法是先產生一組key來做驗證用,而不是使用username/password的方式來驗證,看來我還要找看看有沒有利用帳號與密碼的方式來加以驗證,您可以至以下的網址了解到架設DNS與DDNS的方法,感謝鳥哥大大的分享.

鳥哥的私房菜

日本東京五日遊

0607-0611這段時間跟著老婆的公司到日本東京玩五天,去過日本這麼多次,這一次的飯店跟前幾次比較起來真的住得不錯! (有住到喜來登與新高輪王子飯店) 吃的方面就還可以囉~~ 行程方面我到很喜歡,因為參觀的地方不多,所以行程就不太趕,這樣一來讓我可以慢慢地去欣賞每個景點的風景,我是比較喜歡這樣的安排 =)
每次去日本都有不同的感覺,日本年年都在進步...反觀台灣....真的需要加油囉!
Note: 拍了許多照片,等整理好了在po上來.

Monday, June 05, 2006

Lenovo宣佈將不會支援Linux

"CRN reports that Lenovo will not install or support the Linux operating system on any of its PCs. Lenovo is positioning itself as an exclusive partner of Microsoft, several weeks after the companies announced they were 'reaffirming' global market development and cooperation agreements."
出處: http://hardware.slashdot.org/

心情真是蠻震憾的! 因為家裡的PC與NB都是IBM的居多!
且對於Linux的support真的是不錯,以我的IBM X24來說,安裝CentOS 4.0到今一年多了,一點問題都沒有,當初考RHCE還瘋狂的用它練習安裝RHEL 3不下30次吧! 而DT裝Linux也有兩年之久了.......看來以後買Lenovo的機會是...很小....很小.....

設定SUSE Linux的vim

使用慣FC or RHEL Linux的使用者,初使用SUSE Linux的vim,一定會覺得非常不習慣,下面的設定步驟對您應該有一定的幫助:

vi /etc/vimrc
set bs=2 # SUSE預設值是不允許使用backspace,bs=2可讓vim允許使用Backspace.
syntax on # 讓vim具有顏色顯示的功能.
set hlsearch # 將搜尋的字串反白.

Note: 如果嫌麻煩的話,不如把FC or RHEL的vimrc copy到SUSE Linux,一樣是可以用的.

Friday, June 02, 2006

開始準備考NCLP

是的,這是我的年度計劃,考取NCLP,自從在2004/08/22考取到RHCE後,就沒在去考別的認證了.
考認證對我來說是自我實力的測試,加不加薪到無所謂(假的!誰不愛錢呀!)
老婆問我,為何要去考? 不是有RHCE了嗎? 浪費錢跟時間,不如好好來陪我!
唉! 老婆大人,人活著一定要有目標,不然就跟行屍走肉一般!
廢話不多寫了,總而言之,希望年底我可以多加一張Linux認證! 呼呼~~