Tuesday, November 11, 2014

How to create group with specific group id

Today is small tip for create group
Assume I need to create group "mai-ru" and I don't want group id auto but I want group id "9999"
The command is should be
sudo groupadd -g 9999 mai-ru
* be careful group id Values between 0 and 999 are typically reserved for system accounts.
So you should use group id more than 999 and make sure that the value is not already exist.

Read More

Friday, July 18, 2014

check or remove multiple backup files filter by number

Assume on the backup directory has files like this
backup-2011-01-01-data.tar.gz
backup-2011-02-01-data.tar.gz
backup-2011-03-01-data.tar.gz
. . .
backup-2012-01-01-data.tar.gz
backup-2012-02-01-data.tar.gz
backup-2012-03-01-data.tar.gz
. . .
backup-2013-01-01-data.tar.gz
backup-2013-02-01-data.tar.gz
backup-2013-03-01-data.tar.gz
. . .

If I want to check or remove all files from year 2011 to 2012 by command line, how to do that. Do one by one? just 24 times. but if more?

You can check on file by command line by :

$du -ch backup-2012-01-01-data.tar.gz
3.4M backup-2012-01-01-data.tar.gz
3.4M total

For more files and filter by number can use this command

$du -ch backup-{2011,2012}*
3.4M backup-2011-01-01-data.tar.gz
3.4M backup-2011-02-01-data.tar.gz
3.4M backup-2011-03-01-data.tar.gz
. . .
3.4M backup-2012-12-01-data.tar.gz
81.6M total

And you can remove files

rm backup-{2011,2012}*

Read More

Sunday, July 21, 2013

squid proxy error NONE/417

เริ่มต้นจากอยากจะเข้า e-fin กะเค้าบ้าง แต่พอเข้าโปรแกรมทีไร ก็จะให้ใส่ proxy เหมือนดังรูปข้างบนตลอด ซึ่งเจ้า squid proxy เราก็ติดตั้งเอง เรื่อง authentication ก็ไม่มี ลองเทสหลายหนก็เข้าใช้งานไม่ได้
ลองหาข้อมูลในอากู๋ ที่หลาย ๆ คนใช้งาน ก็เจอหลายที่ที่มีคนถามว่าเข้าไม่ได้ แต่ส่วนใหญ่จะตอบให้ติดต่อ "ผู้ดูแลระบบ" เพื่อขอรหัสผ่านในการใช้งาน อ้าวก็เราเนี่ยแหละดูแลระบบ และเราก็ไม่ได้มีรหัสให้ต้องใช้งาน แล้วจะทำยังไงดี ...

หลังจากเกิดปัญหาดังกล่าวก็ปล่อยปัญหาไปสักพัก ใจก็ยังอยากจะเข้าให้ได้ ตอนนี้ความอยากเข้าใช้งานยังเท่าเดิม แต่ความอยากรู้ว่าทำไมเข้าโปรแกรมไม่ได้กลับมากกว่า แล้วก็นึกขึ้นได้ว่าทำไมเราไม่ลองดูใน log ของ squid ดูล่ะว่าเกิดอะไรขึ้น เมื่อนึกขึ้นได้ก็จัดการ remote เข้าไปดู แล้วเราก็เจอแบบนี้

NONE/417

ไม่ได้ก๊อปมาทั้งหมด เอามาแค่ส่วนสำคัญ ก็เลยกลับไปลองถาม google อีกครั้งนึง ก็ได้คำตอบจากเว็บนี้ ว่าต้องเพิ่มคำสั่งใน config file แบบนี้
ignore_expect_100 on
เลยจัดการเพิ่มเข้าไป แล้วจัดการให้ squid เรียก config file ที่เราแก้ไขมาใช้
bingo !!! เข้าใช้งานได้แล้ว

Read More

Thursday, June 14, 2012

How to check public ip by command line


ปกติเวลาต้องการดูไอพีจริง (public ip) จากเครื่อง desktop เราก็สามารถเปิดเว็บบราวเซอร์ที่ถนัด ( IE , Firefox , Chrome , Opera , Safari etc. ) ขึ้นมาแล้วเข้าไปที่เว็บที่บอกไอพีจริงได้ เช่น http://myipaddress.com/show-my-ip-address/ ก็จะพบข้อความ

Your computer's IP address is:* xxx.xxx.xxx.xxx

โดยที่ xxx.xxx.xxx.xxx เป็นไอพีจริงครับ
อ้าวแล้วถ้าเราใช้ command line อยู่จะทำยังไงละ จริง ๆ ก็ใช้หลักการเดียวกับการใช้งานบน desktop ครับเพียงแต่ข้อความที่แสดงเป็น code มองจนตาลายครับ และยิ่งกว่านั้นสำหรับเว็บ myipaddress นั้นในบางครั้งจะมีให้ใส่ Captcha ดังนั้นจึงเป็นการลำบากที่จะใช้เว็บนี้
พอดีไปเจอเว็บ itswapshop มีวิธีสั้น ๆ ในการใช้ command line โดยใช้เว็บ ifconfig.me เมื่อเข้าผ่านเว็บบราวเซอร์ก็จะพบข้อความไอพีสั้น ๆ เลย และสำหรับ command line โดยใช้คำสั่งดังนี้
curl ifconfig.me
curl สำหรับ ubuntu or debian สามารถลงด้วยคำสั่ง
sudo apt-get install curl
หากไม่ต้องการลงโปรแกรมเพิ่ม และลินุกซ์มีโปรแกรม wget อยู่แล้วสามารถใช้คำสั่ง
wget -qO- ifconfig.me/ip

ที่มา : itswapshop

Read More

Thursday, April 12, 2012

How to remove old kernel

เมื่อมีการแบ่ง /boot ออกมาอีกพาทิชั่นหนึ่ง พอใช้งานไปนาน ๆ ก็จะมีการอัพเดต kernel ใหม่หลายเวอร์ชั่นจนบางครั้งทำให้ /boot เต็มไม่สามารถอัพเดต kernel ใหม่ ๆ ได้จึงต้องเอา kernel เก่า ๆ ออกไปโดยก่อนที่จะ remove old kernel นั้นจะต้องตรวจสอบก่อนว่า kernel ที่ใช้ปัจจุบันเวอร์ชั่นอะไร
uname -a
จะได้ผลลัพธ์ประมาณนี้
Linux unix-tip 2.6.38-14-generic #58-Ubuntu SMP Mon Mar 5 18:29:54 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
ซึ่งจะพบว่า kernel version คือ 2.6.38-14-generic #58
ต่อไปเป็นคำสั่งในการตรวจสอบว่าในเครื่องมี kernel version อะไรอยู่บ้าง
dpkg -l | grep linux-image
จะได้ออกมาประมาณนี้
ii  linux-image-2.6.38-11-generic         2.6.38-11.50                               Linux kernel image for version 2.6.38 on x86/x86_64
ii  linux-image-2.6.38-12-generic         2.6.38-12.51                               Linux kernel image for version 2.6.38 on x86/x86_64
ii  linux-image-2.6.38-13-generic         2.6.38-13.57                               Linux kernel image for version 2.6.38 on x86/x86_64
ii  linux-image-2.6.38-14-generic         2.6.38-14.58                               Linux kernel image for version 2.6.38 on x86/x86_64
ii  linux-image-generic                   2.6.38.14.29                               Generic Linux kernel image
Now can remove kernel version 2.6.38-11 , 2.6.38-12 , and 2.6.38-13 by command line
sudo apt-get --purge remove linux-image-2.6.38-11-generic linux-image-2.6.38-12-generic linux-image-2.6.38-13-generic

หลังจากนั้นอาจจะใช้คำสั่งนี้ เพื่อลบ header file or unused application
sudo apt-get autoremove

Read More

Friday, April 6, 2012

How to install google chrome on ubuntu by repository


สำหรับ google chrome นั้นถ้าหากจะลงจำเป็นต้องไปโหลดไฟล์ .deb แล้วเอามาลงเอง ซึ่งมันยุ่งยากจนผมไม่เคยไปสนใจเลย ซึ่งปกติผมจะใช้ Chromium แทนมันลงง่ายดีจนกระทั่งวันนี้ได้อ่านบทความจาก ubuntuclub จึงรู้ว่าตอนนี้มี repository ของ google สำหรับลง google chrome ได้แล้วจึงลองสักหน่อย

วิธีการเริ่มด้วยเพิ่ม repository เข้าไป ใช้คำสั่งสองคำสั่งนี้ได้เลย
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' 
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
หลังจากเพิ่ม repository เข้าไปเรียบร้อยแล้วก็ทำการ อัพเดตและลงโปรแกรมครับ
sudo apt-get update
sudo apt-get install google-chrome-stable
เพียงเท่านี้ก็สามารถใช้ google chrome ได้แล้วครับ

Read More

Thursday, April 5, 2012

Tip encode decode data by commandline


ทิปสั้น ๆ สำหรับการ เข้ารหัส (encode) และถอดรหัส (decode) โดยใช้ command line โดยสามารถนำไปใช้กับการทำให้ url สั้นลง (Shorturl) หรือใช้ในการตั้งรหัสผ่านต่าง ๆ ได้
คำสั่งที่ใช้ในการเข้ารหัส (encode)

echo test | base64
dGVzdAo=
จากตัวอย่างคำที่นำมาเข้ารหัสคือ test และเมื่อเข้ารหัสแล้วจะได้คำว่า dGVzdAo=
ในทางกลับกันเมื่อต้องการถอดรหัส (encode) ออกมาจะใช้คำสั่ง
echo dGVzdAo= | base64 -d
test
จากตัวอย่างทดลองนำคำ dGVzdAo= มาถอดรหัสออกมาจะได้คำว่า test กลับคืนมา
นอกเหนือจาก base64 ยังมีการเข้ารหัส และถอดรหัสอีกมากมาย ขอยกตัวอย่างอีก 1 แบบ ซึ่งเป็นการเข้ารหัสแบบ 1:1 ที่เรียกว่า rot13 เป็นการเลื่อนตัวอักษรออกไปจาก A เป็น N , B เป็น O ไปเรื่อย ๆ
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm
สำหรับในการเข้ารหัสจะใช้คำสั่ง
echo test | tr 'A-Za-z' 'N-ZA-Mn-za-m'
grfg
จากตัวอย่างเป็นการเข้ารหัสคำว่า test ซึ่งจะได้ผลลัพธ์ออกมา grfg เป็นต้น

Read More