วันอังคารที่ 30 ธันวาคม พ.ศ. 2551

Ubuntu Linux how to uninstall desktop

desktop = gui (graphic user interface) ที่เราเห็นเป็น window, icon, taskbar ต่าง ๆ เหล่านี้ บนหน้าจอของเรา
เนื่องจาก บางทีเราก็ไม่ต้องการ gui สำหรับ server เนื่องจากเพื่อความรวดเร็ว และ ประหยัดเนื้อที่ และ การทำงานโดยใช้ gui อีกอย่างคือไม่มีใครมานั่งทำงานบนเครื่อง server หรอกมั้งครับ
desktop สำหรับ linux ubuntu นี้แล้ว สามารถ แยกออกมาได้ ทั้งที่เป็น ubuntu-desktop และ ubunut-server

solution

เริ่มด้วย ไปที่เทอร์มินัลโดยการกด Ctrl+Alt+F1
ล๊อกอินให้เรียบร้อย

กันเหนียวด้วยการ markauto (เอามาจาก debianclub)
$ sudo aptitude markauto ubuntu-desktop gdm

ล้างสองแพกเกจ
$ sudo aptitude remove --purge ubuntu-desktop gdm

ล้างแคชใน archive
$ sudo aptitude clean

เสร็จแล้ว
-----
update
วิธีข้างบนนี้ยังล้างได้ไม่หมด
ถ้าจะล้างให้หมดต้องใช้วิธีของ debian-administration:
Cleaning up a Debian GNU/Linux system

โดยหลังจากทำวิธีข้างบนแล้ว สั่งต่อด้วยชุดคำสั่งดังนี้

for pkg in $(aptitude search ~i | grep -v "i A" | cut -d " " -f 4) ; do
echo "-- markauto $pkg --"
aptitude -y markauto $pkg
done

แต่วิธีนี้กินเวลามาก
ทางที่ดีอาจใช้วิธี netinstall แทนจะดีกว่า

ทั้งหมดนี้ ไป copy มาครับจาก : http://www.thaitux.info/node/117
ที่ copy มาก็เพราะ กลัว หายครับ กันเหนียว เลยไม่ทำ link
ต้องขอของคุณครับ สำหรับ solution ที่ copy มาใช้ได้ทันที หุหุ

วันศุกร์ที่ 17 ตุลาคม พ.ศ. 2551

Ubuntu Linux How to Install IpMsg

ipmsg หรือ Ip Messenger
โปรแกรมคล้าย msn คือ ส่ง messgae & file แต่ในเฉพาะวง Network หรือ Lan อะครับ

เริ่มแรก ให้ไป Download code มาจาก site :
http://www.ipmsg.org/index.html.en
หรือ
http://www.ipmsg.org/

ก่อนครับ เลือกที่ :
UNIX >> GNOME2 IP Messenger by xxxxxxx
พยายามหาให้เจอแระกัน -.-
ตัวอย่างชื่อ File ที่ download มาจะเป็นประมาณนี้

g2ipmsg-X.X.X.tar.gz

หลังจากนั้น ให้ทำการ Unzip file(tar -xvzf g2ipmsg-X.X.X.tar.gz) ลงไว้ที่ใหนก็ได้ตามใจไม่ว่ากัน
เสร็จแล้วก็เข้าไปที่ Path g2ipmsg-X.X.X ที่ทำการ unzip

แล้วก็ทำตามคำสั่งตามด้านล่าง


$ tar zxf g2ipmsg-0.9.5.tar.gz
$ cd g2ipmsg-0.9.5/
$ sudo apt-get install libxml-parser-perl
libgnomeui-dev libpanel-applet2-dev gettext intltool
$ ./configure
$ make
$ sudo make install
$ sudo g2ipmsg


อันนี้ไม่น่าจะมีปัญหาอะไร หลังจากเสร็จแล้ว ก็จะได้ IpMsg มาปรากฏ บน Task Bar ก็ใช้งานได้ทันที

ใช้งานอย่างไร? อันนี้เอาไปคิดเอง...


reference size :
source : http://www.ipmsg.org/index.html.en
howto : http://necramirez.blogspot.com/2008/07/installing-gnome2-ipmessenger.html

Thank you for reference size...

วันพฤหัสบดีที่ 16 ตุลาคม พ.ศ. 2551

Ubuntu Set Wireless ให้มองเห็น Wireless network บน

วิธีแก้ intel wireless ใช้งานไม่ได้(คาดว่าแก้ได้ทุกยี่ห้อที่มีปัญหา เพราะผมเอาวิธีแก้อันนี้มาจากกระทู้ Sony Vaio ใช้ wireless ไม่ได้) ให้เพิ่มบรรทัดนี้ในไฟล์ /etc/modprobe.d/options

options iwl3945 disable_hw_scan=1

ที่มา : http://forum.ubuntuclub.com/ubuntu-desktop/ubuntu-8-04-wireless/

ทั้งหมดนี้ ทำเสร็จแล้ว restart เครื่องด้วยนะ

***ในกรณีนี้คือ เห็น Hardware แล้วรับ แต่ view ไม่เห็น Wireless network
แล้วรู้สึกว่าจะ auto set IP ไปใหนเลยก็ไม่รู้ แต่ยังใช้งาน Wire network ได้ปกติอะครับ

ขอบคุณที่มาด้วยครับ
http://obtheair.exteen.com/20080511/lenovo-y410-ubuntu-wireless

วันศุกร์ที่ 22 สิงหาคม พ.ศ. 2551

Ubuntu how to set java by manual install

แพคเกจตัวนี้ชื่อว่า update-alternative ("/etc/alternavtive") ดูเอกสารเพิ่มเติมได้
man update-alternatives

วิธีการติดตั้ง alternative link ใหม่

$ update-alternatives --verbose --install /usr/bin/java java /opt/jdk.1.6.0/jre/bin/java 99

หลังจากติดตังคราวนี้มาเลือกโปรแกรม default สาำหรับทำงานกัน

$ update-alternatives --config java


จะมี list ขึ้นมาให้เลือก แล้วให้เราใส่ หมายเลขของ รายการ ซ่งแสดงชื่อโปรแกรมที่จะทำงานจริงๆ
ให้เราเลือก เราก็เลือกไป เป็นอันเรียบร้อย


ตรวจสอบการทำงานโดยเรียกการทำงาน

$ java -version

หรือ

$ update-alternatives --display java

หรือ

$ ls -l /etc/alternatives/java

วันพุธที่ 2 กรกฎาคม พ.ศ. 2551

python easy_install how to

Download ez_setup.py

กรณี เป็น linux หรือ windows:
แล้วใช้คำสั่ง python ez_setup.py

(ในกรณี window จะเป็นการ download easy_install.exe ครับ)

กรณี เป็น linux ubuntu :
ใช้คำสั่ง apt-get easy_install (ง่ายอีกแระ ubuntu เนี่ย)

วันจันทร์ที่ 30 มิถุนายน พ.ศ. 2551

python sqlobject how to install

การ install SQLObject บน Windows และ Linux

ในกรณี Windows ให้ทำการ Download ez_setup.py เพื่อที่จะได้ ใช้คำสั่ง easy_install ได้

ในกรณี Linux Download ez_setup.py ในกรณี Ubuntu จะใช้แค่คำสั่ง

apt-get install easy_install

แล้วถึงทำการติดตั้ง SQLObject

ติดตั้ง SQLObject โดยพิมพ์ตามด้านล่าง

easy_install SQLObject

update version ล่าสุด

easy_install -U SQLObject

update แบบ force version หรือ ต้องการกำหนด version

easy_install SQLObject==0.10.0

หรือ

easy_install http://xxxxxxxxx/xxxxxxxxx (URL download by version)

python turbogear how to install

การ install turbogear บน Windows และ Linux

ให้ทำการ download file turbogear install จาก web site :
http://turbogears.org/

จริง ๆ แล้วก็เป็น file : tgsetup.py

ให้ทำการ run โดยใช้คำสั่ง : python tgsetup.py

ทั้งบน windows และ linux แต่ต้องต่อ Internat ด้วยเนื่องจากจะมีการ download tool เพิ่มครับ
จบสิ้นไม่มี error ก็เรียบร้อย

หรือ
ในกรณี Ubuntu จะใช้แค่คำสั่ง
apt-get install python-turbogears

python how to install

การ install python บน Windows และ Linux

ให้ทำการ download file python install จาก web site :
http://python.org/

ในกรณี เป็น Windows จะได้ file .msi นั้น สามารถติดตั้งได้โดยการ double click
หลังจากนั้นก็ให้ทำการ set Path ก็จะใช้งานได้ครับ

ส่วนในกรณี python นั้น จะได้เป็น .tgz หรือ .tar.bz2

ซึ่ง ถ้าเป็น linux Ubuntu สามารถติดตั้งได้สะดวกมาก โดยเข้าที่ menu
Applications )) Add/Remove Applications ))
Search : python (( พิมพ์ในช่องว่าง

หรือ ที่ Terminal พิมพ์ : apt-get install python

วันพฤหัสบดีที่ 26 มิถุนายน พ.ศ. 2551

Linux error: C compiler cannot create executables

install some App you have ./configure
install fail.

you see on dilog :

checking for C compiler default output file name... configure: error: C compiler cannot create executables

you type command :

sudo apt-get install build-essential

have success for install again.

วันอังคารที่ 13 พฤษภาคม พ.ศ. 2551

linux ubuntu how to install .rpm

Instructions for Installing RPM Files Using Alien

- ในการ install .rpm file บน linux ubuntu นั้น จำเป็นต้องแปลง .rpm ให้อยู่ในรูป ของ .deb ก่อน เนื่องจาก ubuntu ไม่ได้กำหนด .rpm สำหรับ install เนื่องจาก .rpm นั้น เกิดจาก linux redhad
- ในที่นี้จะต้อง install Alien เพื่อใช้ในการ convert file .rpm เป็น .deb ก่อน หลังจากนั้น จึงเป็นการ Install ในแบบ .deb ของ ubuntu ซึ่งอันที่จริง linux ubuntu ก็แยกออกมาจาก linux debian เนี่ยแหละคร๊าบ ดังนั้น .deb น่าจะย่อมาจาก debian. -.-"

Installing Alien

$sudo apt-get update
$sudo apt-get install alien

Convert .rpm to .deb file

$sudo alien -k name-of-rpm-file.rpm

Installing the .deb file

$sudo dpkg -i name-of-deb-file.deb

วันจันทร์ที่ 28 เมษายน พ.ศ. 2551

shell script command zombie process.

zombie process คือ process ที่ไม่มีการทำงานแล้ว แต่ยังคงค้างในระบบ kill ธรรมดานั้น อย่าหวัง

script for show zombie process.
$ ps aux  awk '{ print $8 " " $2 }'  grep -w Z
-show.

Z 12345
<< Exam. process id and Z declare zombie process. -type of process have by under. R=running.
S=sleeping or stoped.
Z=zombie.

script for kill zombie process.
$ kill -9 `ps -A -ostat,ppid,pid,cmd  grep -e '^[Zz]'  awk '{print $2}'`

shell script ทั่วไป

top
ดู resource เครื่อง แบบ realtime

uname -a
ดูรายละเอียดเครื่อง เช่น ชื่อเครื่อง ,OS แบบคร่าว ๆ ของเครื่อง

hostname
ดู ชื่อเครื่องที่กำลังใช้งานอยู่

hostname -i
ดู host IP เครื่องที่กำลังใช้งานอยู่

ps -ef
ดู process ที่ run อยู่ในระบบทั้งหมด

netstat -al
ดูการเชื่อมต่อระบบ network IP และ port ต่าง ๆ

netstat -anp
ดูการเชื่อมต่อระบบ network IP และ port ต่าง ๆ รวมถึง process ID ที่ทำงานเชื่อมต่อ

uptime
ดูรายละเอียด และเวลานับตั้งแต่ restart ระบบ

vi
tool สำหรับแก้ไข text file

date
ดูเวลาเครื่องปัจจุบัน

crontab -l
ดูช่วงเวลาที่ใช้ในการ run script ต่าง ๆ

crontab -e
แก้ไขช่วงเวลาที่ใช้ในการ run script ต่าง ๆ

rm file
ลบ file

rm -r folder
ลบ folder

mv /path1/file1 /path2/file2
ใช้ทำการย้าย file หรือ เปลียนชื่อ file

cp /path1/file1 /path2/
ใช้ทำการย้าย file ไม่ต้องกำหนดชื่อ ปลายทาง

cp -r /path1/folder1 /path2/
ทำการ copy ทั้ง folder ไปไว้ยังอีกที่หนึ่ง ไม่ต้องกำหนดชื่อ ปลายทาง

วันจันทร์ที่ 25 กุมภาพันธ์ พ.ศ. 2551

shell script crontab(การตั้งเวลา)

การตั้งเวลา( crontab )เพื่อ run shell script

เข้าไปดูว่า มีรายการอะไร ถูกตั้งไว้บ้าง

$ crontab -l

เข้าไปทำการตั้ง job

$ crontab -e

format ในการตั้ง job ลักษณะการตั้ง job จะเหมือนเป็นการเข้าไปใน vi (text editor)

0 2 25 1 2008 /usr/local/freebc2/transfercampaign.sh


โดยที่

0 << minute
2 << hour
25 << day
1 << month
2008 << year

/usr/local/freebc2/transfercampaign.sh << path script file to run by crontab schedule



java parse String to Decimal

// java parse String to Decimal

String thaiStr = "ก - ฮ นกเอี้ยง abc ABC \n \t";
Character ch;
String strNum;
Integer intNum;

for(int i=0; i<thaiStr.length(); i++){
ch = thaiStr.charAt(i);

System.out.println(" Char at : " + i + " " + ch);

strNum = Integer.toHexString(ch);

System.out.println(" Code String to 16 : " + strNum);

intNum = Integer.valueOf(strNum, 16);

System.out.println(" Code 16 to 10 : " + intNum);
System.out.println(" ------------------------ ");
}

shell script mode vi

ในส่วนของ linux, unix จะมี editor สำหรับแก้ไข text file อยู่ ตัวนึง ชื่อ vi
โดนทำการ พิมพ์
$ vi (filename) (Enter)
หาก (filename) ไม่เคยมีอยู่จริงก็จะถูกสร้างขึ้น เมื่อเราทำการ save file หลังจากทำงานเสร็จด้วยคำสั่ง wq! ใน editor และหาก filename นั้นมีอยู่จริงก็จะเป็นการเข้าแก้ไข
การทำงานในส่วน text mode นี้ก็จะมี command ที่ใช้สำหรับแก้ไข เพิ่มเติม และ อื่น ๆ ได้แก่
(โดยส่วนใหญ่ จะมีก่อนที่จะ พิมพ์ command นี้ เราจะต้อง clear ระบบ ด้วยการกดปุ่ม Esc ไว้ก่อน)
1. i
ใช้สำหรับเริ่มต้น insert ข้อความลงไป
2. x
ใช้สำหรับลบข้อความในตำแหน่งที่ cursor อยู่ในขณะนั้น
3. dd
ใช้สำหรับ ลบข้อความทั้งบรรทัด ที่ cursor อยู่ในขณะนั้น
4. h
ใช้สำหรับ เลื่อน cursor ไปทางซ้าย 1 ตำแหน่ง
5. l
ใช้สำหรับ เลื่อน cursor ไปทางขวา 1 ตำแหน่ง
6. j
ใช้สำหรับเลื่อน cursor ลง 1 บรรทัด
7. k
ใช้สำหรับเลื่อน cursor ขึ้น 1 บรทัด
8. u
ใช้สำหรับต้องการ undo คือย้อนกลับในสิ่งที่ทำ 1 ครั้ง
9. w! (Enter)
ใช้สำหรับ save file ในขณะนั้น
10. wq! (Enter)
ใช้หรับหรับ save file แล้วออกจาก editor นั้น ๆ
11. /(data) (Enter)
ใช้ทำการ search data ใน file ขณะนั้น และเมื่อต้องการค้นหาต่อไป กดปุ่ม n
12. o
เป็นการ new line หรือแทรกขึ้นบรรทัดใหม่
13. q!
เป็นการออกจากระบบ หากว่าเรายังไม่ได้มีการ save แล้วเราออกด้วยคำสั่งนี้ file ที่เราเข้าไปแก้ไข หรือทำการสร้าง ก็จะไม่มีผลกระทบ หรือไม่ถูกสร้างขึ้นจริง
14. yy
เป็นการคัดลอง ข้อมูล ทั้งบรรทัด ที่่ cursor อยู่
15. p
เป็นคำสั่งต่อเนื่องจาก yy คือ paste บรรทัดถัดจาก บรรทัดที่ cursor อยู่
16. P
เป็นคำสั่งต่อเนื่องจาก yy คือ paste ในตำแหน่งที่ cursor อยู่
คำสั่งที่ใช้โดยทั่วไปก็จะมีประมาณนี้ครับ
----------------- END -----------------

วิธีแก้ไขให้ Folder Option กลับคืน และการกู้คืน regedit.exe

วิธีแก้ไขให้ Folder Option กลับคืน และการกู้คืน regedit.exe

1. Start >> Run >>
copy ข้อความข้างล่างนี้ และ Paste ลงไป ก่อนจะ Enter
REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t REG_DWORD /d 0 /f

2. Restart เครื่อง

3. Start >> Run >> Regedit เปิดตำแหน่งตามด้านล่าง
HKEY_CURRENT_USER>Software>Microsoft>Windows>CurrentVersion>Policies>Explorer
ในหน้าต่างด้านขวา ให้ลบ Folder ชื่อ NoFolderOptions = "dword:00000001"
หรือ ถ้าส่วนที่อยู่ใน “” ไม่เหมือนกัน ให้ดูแต่ชื่อข้างหน้า คือ
NoFoloderOptions (ลบทิ้งไป แล้ว Restart เครื่องอีกครั้ง) Folder Option ก็จะกลับมาเหมือนเดิม

shell script ทำการย้าย file ไปยังเครื่อง server

#shell script ทำการย้าย file ไปยังเครื่อง server หรือ เครื่องอื่น.

#!/bin/bash

#ประกาศ path ต้นทางที่จะทำการย้าย file.
LOCALDIR=/usr/local/log/

#ประกาศ path ปลายทาง ที่จะนำ file ไปไว้.
REMOTESERVER=192.168.XXX.XXX
REMOTEPATH=/usr/local/server/log/

#ชื่อ user login.
LOGIN=user

#password login.
PASSWORD=pass

#ไปยัง path ที่ต้องการย้าย file.
cd $LOCALDIR

#connect ไปยัง server ที่ต้องการย้าย file.
ftp -n $REMOTESERVER << INPUT_END

#1. login one line. 
#user $LOGIN $PASSWORD 

#2. login 2 line. 
quote user $LOGIN 
quote pass $PASSWORD 

#ไปยัง path server ที่ต้องการนำ file ไปไว้. 
cd $REMOTEPATH
prompt off 

#ย้ายทุก file ใน directory ปัจจุบัน ไปยัง server. 
mput *.* 

#logout server. 
exit 

INPUT_END 

เอามาเพิ่มเติมให้ครับ กรณีต้องการย้ายสำเนา file ทั้ง folder

ขั้นแรกก็ไปยัง path ปัจจุบันที่เราต้องการให้ file ที่เราต้องการมาวางไว้

และใช้คำสั่งดังนี้ครับ.
scp -r user@host:/the/path/ .

scp -r : คือคำสั่ง ที่เราจะใช้ copy ทั้ง folder
/the/path/ : คือ path folder ที่เราต้องการ copy


เพิ่มเติมอีกหน่อย (27/08/2010)
ตัวอย่าง stfp พร้อม ssh
#!/bin/bash

sftp $LOGIN@$REMOTESERVER:$REMOTEPATH <<EOF
mput *.* #or other command
bye 
EOF 

ssh $LOGIN@$REMOTESERVER <<EOT
cd $REMOTEPATH
./script.sh #or other command
exit 
EOT 


ในตัวอย่างที่เรายกมานี้ต้องใส่ pass word สองครั้ง คือตอนเรียกเพื่อ ftp file และตอน เรียกเพื่อ run script file