13 มกราคม, 2553

แปลง Subnet ให้เป็น CIDR โดยใช้ Python

แปลงจากเลขสองหลัก เช่น 24 ให้เป็น x.x.x.x
(ว่างๆจะมาเขียนอธิบายนะ)

import socket
import struct


def calcSubnet(mask):

bits = 0xffffff ^ ( 1 <<>I', bits))
return socket.inet_ntoa(struct.pack('>I', bits))

thanks! http://happypython.blogspot.com/2008/09/converting-subnet-to-cidr-in-python.html

18 พฤศจิกายน, 2552

Python : ตรวจสอบว่าเป็นจำนวนเฉพาะหรือไม่ (Prime Number)

จำนวนเฉพาะคือ เลขที่น้อยกว่าหรือเท่ากับ รากที่สองของจำนวนที่ต้องการหา และหารเลขจำนวนนั้นไม่ลงตัว




def is_prime(n):
import math
n = abs(n)
i = 2
while i <= math.sqrt(n): # เช็คว่าน้อยกว่าหรือเท่ากับรากที่สองของจำนวนที่ต้องการหา
if n % i == 0: # ถ้าหารลงตัวก็แสดงว่าไม่ใช่จำนวนเฉพาะ
return False
i += 1 # เพิ่มค่าไปเรื่อยๆจนกว่าจะผิดเงื่อนไข
return True



ที่มา: http://pthree.org/2007/09/05/prime-numbers-in-python/

06 พฤศจิกายน, 2552

ใช้ lighttpd + php5 ใน Ubuntu

ติดตั้งแพกเกจ
# apt-get install lighttpd php5-cgi

แก้ไขไฟล์ php.ini (ในที่นี้มันอยู่ใน /etc/php5/cgi/php.ini)
โดยเพิ่ม
cgi.fix_pathinfo = 1

และไฟล์ lighttpd.conf (/etc/lighttpd/lighttpd.conf)
เพิ่ม
server.modules = (
......................,
"mod_fastcgi",
......................,
)

และ
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi, # พาธที่ชี้ไปยัง php-cgi
"socket" => "/tmp/php.socket"
)))

จบ!

หา UUID แต่ละพาร์ทิชัน

ดูจาก

ls -l /dev/disk/by-uuid/

จบ!

Make a bootable GRUB2 CD-ROM : จะเอาไฟล์ grub_eltorito

คำสั่งที่ใช้

grub-mkrescue --overlay=/boot/grub GRUB2CD.iso

จากนี้จะ mount ไฟล์ หรือใช้ mc เข้าไปดึงไฟล์ออกมาก็ได้

ไฟล์จะอยู่ที่ boot/grub/grub_eltorito

28 ตุลาคม, 2552

นับบรรทัด

นอกจากจะใช้
wc -l
แล้ว

ยังสามารถใช้
grep -c ... (จุดสามจุดติดกันจริงๆนะเออ)
ได้อีกด้วย


เพิ่งรู้นี่แหละ

27 ตุลาคม, 2552

ดึง dependencies ที่แพกเกจต้องใช้ในการ build

นั่งถึก ดึงดีเพนทีละตัวอย่างกับคนบ้ามานาน มาเจอคำสั่งนี้เข้าไป
$ apt-get build-dep ชื่อแพกเกจที่ต้องการ
จบ