[cappuccino]

At The Beginning Of The New Journey

About Me

Subscribe now!

Latest posts

Twitter Updates

Friends

Loading...

Opensource.com.vn - Mã nguồn mở Việt Nam

Gentoo Linux News

Showing newest 21 of 40 posts from June 2009. Show older posts
28 Jun 2009

what is this?

comments

you should know these things


aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc
aes-256-ecb base64 bf bf-cbc bf-cfb
bf-ecb bf-ofb cast cast-cbc cast5-cbc
cast5-cfb cast5-ecb cast5-ofb des des-cbc
des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb
des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
des-ofb des3 desx rc2 rc2-40-cbc
rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb
rc4 rc4-40


openssl

still vmware workstation

comments

Fedora 11, I think vmware workstation doesn't completely support latest release of Fedora, I got many problems with vmware run on F11.

Whenever I stop vmware workstation, it cannot fully stop, many vm processes are still running until I do a force kill, and today I got new problem, because vmware workstation never stop all its processes, so it didn’t shutdown properly. because we killed it, lock files will be stored in ~/vmware/Gentoo/Gentoo.vmdk.lck , depends on your path, then if we start vmware workstation and power on a virtual machine, we will get this error:

Cannot open the disk '/path/to/vmware/Gentoo/Gentoo.vmdk' or one of the snapshot disks it depends on. Reason: Failed to lock the file
solution:

rm /path/to/vmware/Gentoo/Gentoo.vmdk.lck/*.lck

When vmware and fedora fix these stupid errors?

25 Jun 2009

VMWare workstation: why Virtual Machine cannot start?

comments

Not sure if users don't use Fedora get this error or not, but if you face with this error message:


unable to change virtual machine power state cannot find a valid peer process to connect to.

and your Virtual machine cannot start, my solution:

do a quick kill:

for i in `ps -ef | grep vm|awk '{print $2}'`;do sudo kill -9 $i; done


then start vmware, power on VM again.
my short note :).

VMWare workstation 6.5.2, Fedora 11

comments

you're using Fedora 11 and VMWare workstation not working? there are some troubles with kernel 2.6.29 and VMWare new version. Follow this steps:

1. Install kernel source


sudo yum install kernel-devel

2. Download fix packages I uploaded here (from attach files)

3. Extract and run

bash ./vmware-6.5.2-modules-2.6.29-fix.sh


Start vmware
Thank vmware team

saigonlug 1st meeting

comments



Từ phone


just got this picture tonight from AnNguyen's blog(the one who stand when everyone sits on their chair, lol).
the photo took at the 1st meeting of Saigonlug, can you guess who am I? :-p

22 Jun 2009

Gentoo, my new box

1 comments


here's make.conf file for my lappy, dell vostro 1400: intel t5470, 2GB ram with intel gma X3100.
with this config file, problem is around, haha. But no problem, this's time to try.


CFLAGS="-O2 -mtune=i686 -pipe"
CXXFLAGS="-O2 -mtune=i686 -pipe"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i486-pc-linux-gnu"
MAKEOPTS="-j3"
USE= "X acpi alsa avi branding browserplugin cdr jpeg divx4linux dts dvd dvdr fbcon ffmpeg gd gif gtk hal v4l java jpeg logitech-mouse logrotate mozbranding mp3 mp4 mpeg2 mplayer mysql nsplugin opengl pdf png qt rdesktop samba qt3 skype spell sse3 svg tiff truetype usb xvid mmx sse sse2 xv png svg jpg rar zip exo divx gmedia quicktime realmedia wmp emerald battery dbus plugins startup-notification lm_sensors win32codecs
a52 aac cddb 3dnow aalib amr cdparanoia dga dv dvb dvdnav dvdread
enca encode live mp2 srt v4l2 vorbis openal oss php python libg++ emacs crypt ctype firefox gnome gstreamer gtk libwww mad ss
symlink yahoo ruby "


GENTOO_MIRRORS="http://gentoo.gg3.net/ http://ftp.jaist.ac.jp/pub/Linux/Gentoo/ ftp://ftp.jaist.ac.jp/pub/Linux/Gentoo/ http://ftp.iij.ad.jp/pub/linux/gentoo/ http://ftp.kaist.ac.kr/pub/gentoo/ "

SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage"

21 Jun 2009

21/6

0 comments

found a nice template for this blog, just uploaded and didn't edit anything, some link will not work. I'm so tired, will edit tomorrow.

make new custom kernel for my Gentoo box. Believe me, Gentoo is the best :-p.

nite!

20 Jun 2009

gentoo?

0 comments



( http://www.gentoo.org/ )

Gentoo Linux is a special flavor of Linux that can be automatically optimized and customized for just about any application or need. Extreme performance, configurability and a top-notch user and developer community are all hallmarks of the Gentoo experience.

May not be suitable because:

  • Appropriate for more experienced users

  • Time to change.

    18 Jun 2009

    Fedora 11, vbox error

    0 comments

    vbox cannot start:


    FATAL: Module vboxdrv not found.
    FATAL: Module vboxnetflt not found.


    Solution:
    1. run uname -a to know your kernel version


    [whatvn@osvn ~]$ uname -a
    Linux osvn 2.6.29.4-167.fc11.i586 #1 SMP Wed May 27 17:14:37 EDT 2009 i686 i686 i386 GNU/Linux


    2. Search and install VirtualBox-OSE kernel module for your kernel:


    [whatvn@osvn ~]$ yum search kmod-VirtualBox
    Loaded plugins: dellsysidplugin2, refresh-packagekit
    =========================== Matched: kmod-VirtualBox ===========================
    akmod-VirtualBox-OSE.i586 : Akmod package for VirtualBox-OSE kernel module(s)
    akmod-VirtualBox-OSE.i686 : Akmod package for VirtualBox-OSE kernel module(s)
    kmod-VirtualBox-OSE.i586 : Metapackage which tracks in VirtualBox-OSE kernel
    : module for newest kernel
    kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586.i586 : VirtualBox-OSE kernel
    ...: module(s) for 2.6.29.4-167.fc11.i586
    kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i686.PAE.i686 : VirtualBox-OSE kernel
    ...: module(s) for 2.6.29.4-167.fc11.i686.PAE
    kmod-VirtualBox-OSE-PAE.i686 : Metapackage which tracks in VirtualBox-OSE kernel
    : module for newest kernel-PAE
    [whatvn@osvn ~]$ sudo yum install kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586.i586
    Loaded plugins: dellsysidplugin2, refresh-packagekit
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586.i586 0:2.2.4-1.fc11.1 set to be updated
    --> Finished Dependency Resolution

    Dependencies Resolved

    ================================================================================
    Package Arch Version Repository Size
    ================================================================================
    Installing:
    kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586
    i586 2.2.4-1.fc11.1 rpmfusion-free 139 k

    Transaction Summary
    ================================================================================
    Install 1 Package(s)
    Update 0 Package(s)
    Remove 0 Package(s)

    Total download size: 139 k
    Is this ok [y/N]: y
    Downloading Packages:
    kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586-2.2.4-1.fc11. | 139 kB 00:09
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing : kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586-2.2.4-1.fc1 1/1

    Installed:
    kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586.i586 0:2.2.4-1.fc11.1

    Complete!


    finally, run command vbox suggests:

    [whatvn@osvn ~]$ sudo '/etc/sysconfig/modules/VirtualBox-OSE.modules'


    start your vbox again :d

    love song

    0 comments

    16 Jun 2009

    opensource matters

    2 comments

    Từ phone

    vừa đi làm về thấy trên bàn có cái phong bì, với cái logo Sun Microsystem, biết ngay DVD đã về.
    cái dvd đẹp quá đi, nếu ai muốn một dvd thế này thì chỉ cần đăng kí ở Sun free media program, sẽ nhận được trong vòng 45 ngày từ lúc đăng kí, với điều kiện ghi địa chỉ chính xác :-p


    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag

    9 Jun 2009

    birthday

    1 comments

    there will be 23 candles on my cake until this day :)
    happy birthday to me!

    REISUB - the gentle Linux restart

    0 comments

    I really don't know what happen with my lappy, it's running on Ubuntu 9.04 with some small apps, I think there's no big one installed on my Ubuntu, but sometimes when system is running fast and smooth, it freezes?
    dmesg and log files give me nothing. when it happens, mouse can move but cannot click. Keyboard has no effect. Power button is the last one and very very dirty way to try, but no others better way.
    Today someone pointed me to this link, which he thinks that's useful, I didn't test. But hope it works, I never want to use power button to power off my lappy anymore :(.

    According to Lifehacker a frozen Linux system that’s not responding to the Ctrl-Alt-Delete three-finger-salute can be restarted more safely than by pushing the power button, which is usually the next step.

    Holding down Alt and SysRq (which is the Print Screen key) while slowly typing REISUB will get you safely restarted. REISUO will do a shutdown rather than a restart.

    Sounds like either an April Fools joke or some very strange magic akin to the old BIOS beeps we used to use to diagnose PC faults so bad that nothing would boot. Wikipedia comes to the rescue with an in-depth listing of all the SysRq keys.

    • R: Switch the keyboard from raw mode to XLATE mode
    • E: Send the SIGTERM signal to all processes except init
    • I: Send the SIGKILL signal to all processes except init
    • S: Sync all mounted filesystems
    • U: Remount all mounted filesystems in read-only mode
    • B: Immediately reboot the system, without unmounting partitions or syncing
    (Discovered originally here)
    author of this post here
    hope that's useful for someone :).

    this solution is useless for my problem :(, need help!

    6 Jun 2009

    Debian/Ubuntu: chkconfig

    0 comments

    quick and dirty guide.

    [Sat Jun 06 23:54:19] whatvn@h4x0r:/tmp$ sudo apt-get install libnewt0.52
    ....
    [Sat Jun 06 23:54:19] whatvn@h4x0r:/tmp$ wget http://www.tuxx-home.at/projects/chkconfig-for-debian/chkconfig_1.2.24d-1_i386.deb
    --2009-06-06 23:53:00-- http://www.tuxx-home.at/projects/chkconfig-for-debian/chkconfig_1.2.24d-1_i386.deb
    Resolving www.tuxx-home.at... 88.198.57.56
    Connecting to www.tuxx-home.at|88.198.57.56|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 41488 (41K) [application/x-debian-package]
    Saving to: `chkconfig_1.2.24d-1_i386.deb'

    [Sat Jun 06 23:53:29] whatvn@h4x0r:/tmp$ sudo dpkg --force-all -i chkconfig_1.2.24d-1_i386.deb

    use at your own risk :-p


    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag

    Small shell script for G1

    0 comments

    it's small script I and my friend-matt wrote 1 week ago. used to download music from playlist.com. I don't have G1 to test, note: this script is not tested, if you wanna use, edit, test then use it. no copyright needed.

    #!/bin/bash

    #whatvn@opensource.com.vn
    #This script will download the result id, and place in Music directory.
    #Requires Adroid 1.5 + Debian Lenny

    ##AFTER TESTING CREATE YOUGET FOLDER DIRECTORY AND VERIFICATION##
    echo "Enter result_id:"
    read r_id

    echo "Is "$r_id" correct? (y/n)"
    read verify_r_id
    until [ $verify_r_id = "y" ];do
    echo "Enter result_id:"
    read r_id
    echo "Is "$r_id" correct? (y/n)"
    read verify_r_id
    done

    #Download page
    wget -O /home/whatvn/playget/tmp/$r_id.tmp http://www.playlist.com/searchbeta/results/$r_id
    longerUrl=$(cat /home/whatvn/playget/tmp/$r_id.tmp | grep "Located at:" | sed 's/.........................................//' | sed 's/...........$//')
    echo $longerUrl
    #Parse long playlist.com url, enter into url
    #Write code to search for video_id= and strip from matching r_id to "';" then remove ('

    ) from grep output.
    # Query for Song Information in Artist/ - Title form and save to $filename
    echo "Please enter the filename you wish to save as (ie: Artist-Title)"
    read filename
    echo "is " $filename " correct? (y/n)"
    read fileprompt
    if [ $fileprompt = "y" ]; then
    echo "Downloading file..."
    wget -O /home/whatvn/playget/$filename.mp3 $longerUrl
    echo "Complete, saved as " $filename
    echo "saved as " $filename
    else
    if [ $fileprompt = "n" ]; then
    echo "Please enter the filename you wish to save as (ie: Artist-Title)"
    read filename
    echo "Downloading file..."
    wget -O /home/whatvn/playget/$filename.mp3 $longerUrl
    echo "Complete, saved as " $filename
    else
    if [ $fileprompt != "y" ] || [ $fileprompt != "n" ]; then
    echo "Incorrect Option, saving file as result_id" $r_id
    wget -O /home/whatvn/playget/$filename.mp3 $longerUrl
    fi
    fi





    fi
    #Download and Conversion is complete

    #Edit to match path

    # System Cleansing
    echo "Finalizing .."
    echo "Cleaning Up .."
    echo "Removing Temporary files .."
    rm /home/whatvn/playget/tmp/$r_id.tmp
    echo "Move files to Android Music path? (1 to continue, else to pass)"
    read file_move
    if [ $file_move = "1" ]; then
    echo "Moving "$filename".mp3 to /sdcard/Music/ for Android access.."
    mv /home/whatvn/playget/$filename.mp3 /media/sd/Music/$filename.mp3
    fi
    echo "All Operations complete, type 'exit' to reboot Debian."
    #finish

    line s/.........................................//' | sed 's/...........$// you can change to: http://pastebin.com/d404b2675 , because blogger don't accept html code in post.


    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag

    Kiểm chứng bài toán số lớn

    0 comments

    Vừa rồi mới nghiên cứu lại Number theory mới thấy trí thông minh kém quá, kiến thức lại lủng trầm trọng. Mon men thử vài bài toán với C thì nghĩ:"Ai sẽ kiểm thử bài toán của mình nếu đó là bài toán của những số rất rất lớn?"StarGhost đưa ra Mathematica vốn là một computing software rất nổi tiếng về độ tính toán và kiểm thử.Mathematica có phí, nhưng nếu bạn để ý thì cái link trên dẫn đến wolfram, là trang chủ của công cụ tìm kiếm thông minh Wolfram Alfa. Sao không thử dùng Wolfram alfa đểm kiếm chứng kết quả nhở :-?Vào đây xem nào
    Lão gamma đưa ra đoạn code python tính 1000! làm mình đắn đo mãi:

    #!/usr/bin/env python
    _sum = 1
    for line in range(1, 1000):
    _sum = _sum * line
    print _sum
    C mình phải viết đến 3 hàm :|

    5 Jun 2009

    Chuyển bài viết

    0 comments

    Vì tôi chuyển tất cả bài viết đều bằng tay, và tạm thời chưa add bất cứ plugin nào cho blog này cho nên các đoạn code, đặc biệt là html sẽ bị thiếu mất một vài tag, có thời gian sẽ ngâm cứu sau.
    Vì lơ ngơ một hồi thấy dùng google cache nhanh hơn cho nên có vài bài màu mè khá đẹp (copy trực tiếp từ google cache).
    Bài viết nhớ tới đâu cop tới đó cho nên thời gian lộn tùng phèo lên. Chả là cho cái blog có cái ruột chút, chứ nó cũng không còn giá trị gì lắm :-d.
    Bắt đầu hành trình mời thôi.
    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag

    Cài đặt webserver NginX với CentOS 5.2

    0 comments

    Nói qua về NginX: nginX là một http server và Mail Proxy server được viết ra bởi Igor Sysoev, người Nga. Số lượng server sử dụng nginx ở Nga là tương đối lớn, có một thống kê nào đó bữa anh nlfb đưa cho xem mà không nhớ địa chỉ, nginx là một trong số web servers sử dụng rộng rãi nhất thế giới: Apache, nginX, IIS...

    Cài đặt nginx trên CentOS 5.2 tương đối dễ dàng, lần đầu tiên tôi cài là được ngay, chắc do may mắn ;D
    Trước tiên ta cài đặt các phần mềm cần thiết để có thể run nginX, lên root trước đã.

    1. Cài đặt pcre

    Code:
    yum install pcre

    2. Cài đặt pcre-devel

    Code:
    yum install pcre-devel

    3. Cài đặt zlib

    Code:
    yum install zlib

    4. Cài đặt zlib-devel

    Code:
    yum install zlib-devel

    5. Cài đặt openssl

    Code:
    yum install openssl

    6. Cài đặt openssl-devel

    Code:
    yum install openssl-devel

    7. Bước quan trọng nhất, cài đặt nginX, nhưng cũng dễ dàng, đầu tiên bạn down source của nginX về
    Code:
    wget http://sysoev.ru/nginx/nginx-0.6.32.tar.gz

    7.1 Giải nén

    Code:
    tar xzvf nginx-0.6.32.tar.gz

    7.2 Compile

    chuyển tới thư mục nginx-0.6.32 vừa giải nén xong

    Code:
    cd /home/whatvn/Desktop/nginx-0.6.32

    tiếp theo

    Code:
    ./configure --sbin-path=/sbin/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module
    --with-md5=auto/lib/md5 --with-sha1=auto/lib/sha1
    Câu lệnh trên chỉ trên 1 dòng, giải thích 1 chút:

    --sbin-path=prefix: prefix ở đây là đường dẫn tới process chính của nginx

    --conf-path=prefix: prefix ở đây là đường dẫn tới thư mục chứa file cấu hình chính của nginx

    --pid-path=prefix: prefix là đường dẫn đến file process id của nginx

    --with-module: tương tự như enable khi bạn compile apache, khi compile đi theo with module nào thì module đó được kích hoạt.

    Code:
    make
    make install
    Chạy xong thì bạn đã có một webserver rồi đấy.


    8. Cấu hình cho nginx:
    Để ý ở trên file cấu hình của nginx nằm trong đường dẫn /usr/local/nginx/nginx.conf, để sửa đổi bạn có thể dùng vi, nano, gedit, dùng gedit cho dễ

    gedit /usr/local/nginx/nginx.conf

    file cấu hình nguyên thủy của nginx có dạng như thế này:

    Code:
    #user  nobody;
    worker_processes 1;

    #error_log logs/error.log;
    #error_log logs/error.log notice;
    #error_log logs/error.log info;

    #pid logs/nginx.pid;


    events {
    worker_connections 1024;
    }


    http {
    include mime.types;
    default_type application/octet-stream;

    #log_format main '$remote_addr - $remote_user [$time_local] $request '
    # '"$status" $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log logs/access.log main;

    sendfile on;
    #tcp_nopush on;

    #keepalive_timeout 0;
    keepalive_timeout 65;

    #gzip on;

    server {
    listen 80;
    server_name localhost;

    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / {
    root html;
    index index.html index.htm;
    }

    #error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    # proxy_pass http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    # root html;
    # fastcgi_pass 127.0.0.1:9000;
    # fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    # include fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    # deny all;
    #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    # listen 8000;
    # listen somename:8080;
    # server_name somename alias another.alias;

    # location / {
    # root html;
    # index index.html index.htm;
    # }
    #}


    #HTTPS server

    #server {
    # listen 443;
    # server_name localhost;

    # ssl on;
    # ssl_certificate cert.pem;
    # ssl_certificate_key cert.key;

    # ssl_session_timeout 5m;

    # ssl_protocols SSLv2 SSLv3 TLSv1;
    # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    # ssl_prefer_server_ciphers on;

    # location / {
    # root html;
    # index index.html index.htm;
    # }
    #}

    }






    Mặc định webroot và các file cấu hình của nginx được lưu ở /usr/local/nginx/
    về mặc security thì thay đổi cái gì mặc định luôn là môt cách để attacker khó thâm nhập vào hệ thống của ta hơn, vì vậy....bạn thích move nhưng file cấu hình này đi đâu là quyền của bạn, nginX có một điểm hay ho là ta khơi động nó cùng với một file cấu hình nhất định, có nghĩa là sao? Có nghĩa là ta hoàn toàn có thể tạo ra nhiều file nginx.conf lưu ở nhiều nơi và mỗi lần start ta chạy với biến -c đường dẫn tới file cấu hình cụ thể đó. Như đã nói ở trên, việc bạn thay đổi đường dẫn của các file mime.types, nginx.pid, hay log, webroot, là tùy ở bạn, nhưng move đi đâu thì nhớ là lưu lại trong file nginx.conf đường dẫn tới file đã move là được, nên cái này bạn có thể tùy biến, không càn phải hướng dẫn bạn cũng có thể làm được.

    Các thông số cụ thể về pid, worker_process, worker_connections tôi sẽ đi vào bài sau, vì bài này vừa viết vừa cài nên cũng chưa tìm hiểu nhiều 4.

    9. Chạy nginX:
    lúc đầu mò mãi không ra, vì không chịu đọc kĩ hướng dẫn sử dụng trc khi dùng, nhưng rồi cũng tìm ra:
    Code:
    /sbin/nginx -c /usr/local/nginx/nginx.conf

    nếu bạn di chuyển file cấu hình đi nơi khác, thì thay đổi đường dẫn cho phù hợp.

    10. Stop nginx:

    Code:
    $ killall -u $USER -v -i nginx

    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag

    Kiểm tra và tối ưu hoá cơ sở dữ liệu tự động với Cronjob, crontab

    0 comments

    Mysql server là datbase server phổ biến và miễn phí, được sử dụng rộng rãi. Một ưu thế của mysql là khả năng xử lí nhanh và linh hoạt, nhưng cho dù nhanh và linh hoạt thế nào thì đối với một cơ sở dữ liệu liên tục được cập nhật (thêm, sửa, xoá) thì nguy cơ "mysql is gone" là chuyện dễ dàng xảy ra.

    Bất cứ ai làm việc quản lí cơ sở dữ liệu của một website với lượng truy cập đông đảo + ghi + sửa + xoá thường xuyên đều gặp tình trạng cơ sở dữ liệu làm việc chập chờn thậm chí chết bức tử, và cứ mỗi lúc ngồi vào máy bật phpmyadmin lên check, rồi repair, rồi optimize.. thì có thể, nhưng có khi quên.
    Mysqlcheck là một công cụ kèm theo mysql dùng để sửa chửa (repair), tối ưu (optimize), kiểm tra (debug) và các chức năng khác. Các bạn có thể xem thêm ở đây:

    http://dev.mysql.com/doc/refman/5.0/en/mysqlcheck.html


    Trên *nix ta có thể thực thi mysqlcheck một cách tự động sử dụng crontab. Tôi không trình bày cụ thể cách sử dụng crontab ở đây, chỉ đưa ra một ví dụ để dễ đi vào chủ đề chính 10

    Nếu ta sử dụng :

    Code:
    0,15,30,45 * * * * tail -10 /var/log/messages

    Thì cron sẽ chạy lệnh tail trên mỗi 15 phút 1 lần trong mỗi ngày.

    -Mysqlcheck đi kèm với các chức năng optimize --optimize , autorepair --auto-repair, debug --debug..., để mysqlcheck tự động chạy mỗi 30 phút 1 lần ta làm như sau:

    Code:
    0,30 * * * * mysqlcheck -s --optimize --databases vndev_vndev -u root -p"password"

    Option -s để báo cho mysqlcheck chạy ở chế độ silent, chỉ hiện thông báo nếu gặp lỗi. Nếu không sử dụng -s thì cuối dòng trên ta thêm vào > /dev/null.

    --optimize: Nói ở trên

    --databases: chỉ định kiểm tra và tối ưu databases cụ thể nào (ở đây là vndev_vndev).

    -u root -p"password": để chắc chắn rằng crọnjob không gặp lỗi permission denied khi thực thi ta thêm vào user và password user có quyền chạy crọnjob. Chú ý -p và password của bạn không có khoảng trắng.Hoặc không muốn sử dụng thì bạn sử dụng lệnh:
    Code:
    chmod 4755 /usr/bin/crontab
    Để cấp quyền thực thi cho crontab.

    Nguyên dòng lệnh trên bạn gõ crontab -e rồi gõ vào.

    Như vậy ta không cần phải optimize bằng tay nữa mà cronjob đã làm việc này một cách tự động .
    Tuỳ vào nhu cầu mà sử dụng mysqlcheck với các option phù hợp. Đừng nên sử dụng --auto-repair nếu chưa thật sự hiểu hết về nó, có lúc chạy xong thì restore lại cơ sở dữ liệu là vừa 105.

    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag

    Sử dụng DDOS như một bước của quá trình hacking

    0 comments

    Điều này tôi nghĩ đến khoảng 4 năm trước, lúc bắt đầu làm quen với khái niệm hacking và security, nhưng cho đến ngay lúc này 2 khái niệm kia còn quá thô sơ và chưa thành hình, nên tôi không có một bài viết nào về tấn công từ chối dịch vụ từ trước cho đến giờ. Khi thành lập diễn đàn VN Development, server liên tục bị tấn công từ chối dịch vụ với tần số cực kì khủng khiếp, đó cũng là cơ hội để tôi tiếp xúc trực tiếp và có cái nhìn gần hơn với DDOS, cũng như cách chống đỡ (không thể chặn 100% đối với các cuộc tấn công từ chối dịch vụ).

    Tuần trước có đọc được bài viết của tác giả RSnake nói về việc sử dụng DDOS để Hacking, ý tưởng khá giống, và tôi tin chắc không ít kẻ tấn công đã và đang sử dụng DDOS nhằm mục đích trục lợi.

    Bài viết trên có 3 ý, các bạn có thể theo link trên để đọc, tác giả có cái nhìn rất tốt, và phải nói là trưởng thành, chứ không giống như một số những kẻ phá hoại, tự cho mình là Hacker đã làm, chỉ thực hiện hành vi tấn công website nào đó do ganh ghét, hoặc đơn giản là muốn thử nghiệm, thị uy, show off.

    Môt người có kinh nghiệm sẽ chỉ tấn công vào website nào đó nhằm mục đích trục lợi, website đó chứa thông tin nào đó, mà hắn ta muốn có được. Và bằng cách nào đó, hắn tìm cách qua mặt các đối thủ để dành vị trí dẫn đầu. Trong ví dụ của RSnake là website về đấu giá.

    Ta hãy nói về vấn đề thứ 3, cũng chính là ý nghĩ mà tôi đã nói từ đầu bài viết. Sử dụng DDOS như một phương thức nghi binh, làm cho người quản trị chỉ chú tâm đối phó với tấn công từ chối dịch vụ, trong khi mục đích thực sự của ta là nhắm vào một điểm yếu khác, ở đâu đó trong mục tiêu muốn tấn công. Để thực hiện ý định này, không khó, hoàn toàn không khó.

    Hãy nhìn một cách toàn diện vào các website ở Việt Nam, tôi thấy rằng hầu hết không được chuẩn bị để đương đầu với các cuộc tấn công từ chối dịch vụ. Họ, những người quản trị thường chỉ chú ý đến khi hệ thống của họ bị tấn công, lúc ấy mới bắt đầu đi vá hệ thống một cách gấp gáp, và rõ ràng hệ thống đó không được kiện toàn đủ tốt, dù cho có chắp vá thế nào.

    Đặt ở vị trí người tấn công, chúng ta có nhiều lợi thế. tấn công từ chối dịch vụ không cần quan tâm đến hệ thống đó mạnh yếu ra sao, kiện toàn thế nào, ai đang làm việc, hoặc cần hệ thống đó hoạt động để duy trì lợi ích cho ai. Người tấn công chỉ có đúng một mục đích là làm cho hệ thống trì trệ và không thể phục vụ dịch vụ mà nó cung cấp. Nếu đó là một web server, ta làm cho máy chủ web không thể phục vụ các http requests, hoặc phục vụ một cách ì ạch. Tương tự đối với mail server, ftp server...Để thực hiện được mục đích được nói đến trong bài này, bạn phải làm cách nào đó duy trì trạng thái từ chối dịch vụ trong thời gian đủ để bạn có thể đánh vào đâu đó mà không bị làm phiền bởi người trông coi server.

    Nếu có đăng kí nhận tin, mail letter của một số cách website về bảo mật của thế giới, bạn chắc hẳn đã nhiều lần có được thông tin (có khi có cả cách thức tấn công) của rất nhiều lỗi bảo mật nguy hiểm. Một ngày có đến vài chục, thậm chí nhiều hơn các lỗi bảo mật được công bố, kèm theo đó là rất nhiều hệ thống bị tấn công. Hãy tưởng tượng bạn vô tình biết được một lỗi bảo mật qua hệ thống mail letter của Securityfocus, qua quá trình footprinting, scanning hoặc tên nào đó do bạn gọi, bạn biết đươc hệ thống mục tiêu chưa được cập nhật bản vá (rất nhiều khả năng nếu hệ thống đó đang trú ngụ tài Việt Nam :p), và quá trình xâm nhập tốn khá nhiều thời gian, để chắc rằng không bị làm phiền, bạn phát động một đợt tấn công từ chối dịch vụ, không cần tốn nhiều sức, chỉ cần một vài tools phổ biến có khả năng tạo request với random url để tránh dễ dàng bị cản lọc do người quản trị dễ dàng lọc được qua các dấu hiệu nhận biết.

    Trong lúc admin kia chú tâm vào việc vá hoặc kiện toàn hệ thống để chống tấn công từ chối dịch vụ, anh ta sẽ không còn thời gian để vá lỗi bảo mật bạn vùa tìm được, và thế là bạn một mình một ngựa làm việc mà không bị làm phiền :d.

    Lí giải cho dài dòng lôi thôi cho thành một entry, thật ra trọng tâm bài viết này chỉ có đúng 1 câu: sử dụng DDOS để đánh nghi binh, và tất cả những gì viết ở trên hoàn toàn nói dóc, nên đừng có tin nhé :p


    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag

    Build từ source CentOS 5.2 và iptables để sử dụng những tính năng của iptables

    0 comments

    Netfilter/ipbtales là software NAT/firewall được cài đặt sẵn và phổ biến trên các hệ thống Linux.
    Cent0S là một distro Linux được viết ra dựa trên Redhat chủ yếu dành cho máy chủ, mặc định distro này không được xây dựng kèm theo module connlimit vốn rất cần thiết cho các quản trị viên dùng để cản lọc các gói tin không hợp lệ, nhất là trong trường hợp bị tấn công từ chối dịch vụ.

    Bài viết này đưa ra cách tích hợp module này vào CentOS bằng cách build từ source của Kernel và Netfilter/iptables. Để hiểu được kiến thức đưa ra trong bài này, bạn cần có thời gian tìm hiểu và nắm rõ được phần nào cơ bản về biên dịch kernel, cài đặt các phần mềm từ mã nguồn, cũng như môi trường cần thiết để một user bình thường có thể "build" một phần mềm từ mã nguồn có sẵn, hệ thống file, các câu lệnh nâng cao...

    Chúng ta không đi sâu vào khái niệm Netfilter/iptables là gì? Động cơ dẫn đến bài viết là trong một trường hợp nào đó cần tới những modules không được tích hợp sẵn vào nhân hệ điều hành CentOS mà bạn đang sử dụng, bạn tìm cách để tích hợp những modules đó vào, một cách nhanh nhất có thể, mà không làm hư tổn, hoặc gây ra lỗi trầm trọng đối với hệ thống đang hoạt động ổn định.
    Phần tiếp theo vui lòng đọc tại: http://opensource.com.vn/opensource/linux/centos/79-build-t-source-kernel-va-iptables-s-dng-nhng-tinh-nng-ca-iptables.html
    Lười copy lại quá :-p
    Add to PageflakesAdd to My AOLAdd to The Free DictionaryAdd to Google Reader or HomepageAdd to Webwag