Dec 9, 2012

Format SQLPLUS output

      Khi làm việc với sqlplus, việc phải đọc các dữ liệu dài và phức tạp là việc khá thường xuyên. Do đó, việc phải format lại định dạng các cột để thuận tiện nhất cho việc theo dõi là công việc phải làm. Việc này không khó, xin mời các bạn theo dõi vài gợi ý nhỏ sau.
     

Nov 20, 2012

locate vs which vs whereis, how to answer ?

This question is not big, but is so funny and interesting with many Linux/Unix new commer. How to quickly answer it instead of Googl-ing or man-page walk through ?
Look at this!

Nov 15, 2012

Cấu hình NTP server/client trên Ubuntu Server

    Cấu hình đồng bộ thời gian cho Linux server là một công việc rất quan trọng, nhất là trong việc cho phép các server chạy đồng bộ với nhau, ví dụ như Oracle RAC. Việc cấu hình có thể thực hiện bằng cách cho các server đồng bộ tới Time server trên mạng.
    Tuy nhiên, để đảm bảo việc quản lý kết nối vào/ra mạng nội bộ được hiệu quả và an toàn. Ta có thể cấu hình một NTP server, trong đó server này có khả năng kết nối tới Internet để cập nhật giờ. Các server nội bộ sẽ tiến hành đồng bộ thời gian với server này để đạt kết quả mong muốn.

Oct 9, 2012

Làm quen với Jython (Phần 5 - Kiểu dữ liệu)

Định danh và kiểu dữ liệu trong Jython

Định danh (identifier) trong Jython được quy định tương tự như Java, đó là tập các từ khóa có sẵn và quy tắc đặt tên cho biến, phương thức, ... Danh sách các từ khóa có sẵn xin xem thêm tại: http://www.jython.org/jythonbook/en/1.0/LangSyntax.html#identifiers-and-declaring-variables

Các đối tượng dữ liệu (data object) trong Jython
     Các đối tượng dữ liệu trong Jython được xây dựng dựa trên các đặc tả của Python. Các kiểu được đặt tên như integer, long, float, complex, string, tuple, list, dictionary. Jython không có kiểu dữ liệu nếu hiểu theo cách như các ngôn ngữ khác, bởi ở Jython chúng chỉ là các đặc tả dữ liệu (data descriptor) chứ không phải là một class hay instance nào cụ thể. Các dữ liệu được biểu diễn bởi các Java class nằm trong package org.python.core, do đó Jython không có kiểu dữ liệu nguyên thủy.
     Tên các Java class biểu diễn các kiểu của Python được đặt tiếp đầu ngữ là "Py", ví dụ PyInteger, PyComplex, PyTuple, ... Các class dùng cho dữ liệu có tính động, và được quyết định lúc thực thi.

Làm quen với Jython (Phần 4 - Xử lý ngoại lệ)


Mô hình xử lý ngoại lệ trong Jython

    Tương tự Java, trong Jython cũng cung cấp mô hình try để thực hiện xử lý ngoại lệ (exception handling). Một số logic xử lý như sau:
try:

    # perform some task that may raise an exception

except Exception, value:

    # perform some exception handling

finally:

    # perform tasks that must always be completed (Will be performed before the exception is # raised.)


Oct 8, 2012

Làm quen với Jython (Phần 3 - Các lệnh phức hợp)

Các lệnh phức hợp
    Các lệnh phức hợp là các lệnh mà gom từ một nhóm (group) hoặc một khối (block) các lệnh đơn. Một số cấu trúc điều khiển như if, for, while đều được xét là các lệnh phức hợp. Cần nhớ lại rằng, Jython không sử dụng các cặp {} nhiều cấp để gom nhóm các khối lệnh theo level, mà Jython sử dụng dấu hai chấm : kèm theo đó là căn lề (indentation) để phân level các khối lệnh.

Làm quen với Jython (phần 2 - các lệnh đơn)

Tiếp theo phần 1, phần 2 này chúng ta bắt đầu ngay với việc viết cú pháp 
Đặc điểm cú pháp trong Jython script
  • Line feed (ngắt dòng): bình thường trong các ngôn ngữ lập trình hay gặp thì dấu chấm phảy (semicolon ;) được sử dụng để ngắt dòng logic. Tuy nhiên giống như các ngôn ngữ script như linux shell, Jython không sử dụng ký tự kết thúc dòng, mà mỗi dòng lệnh mặc định kết thúc khi có một ký thự ngắt dòng (carriage return)
  •  Semicolon (chấm phảy): không được sử dụng để ngắt dòng. Chú ý với lệnh print, nó tự chèn thêm xuống dòng.
  • Backslash (\): có thể được sử dụng để nối các dòng dài của một lệnh logic
  • open grouping: việc sử dụng các dấu ngoặc (), [], {} cần chú ý rằng, mọi thứ nằm trong một cặp ngoặc dù trên nhiều dòng, thì đều được coi là một dòng.
  • triple quotes (cặp 3 dấu nháy): cặp ba dấu nháy ''' hay """ cho phép bao đóng một string nhằm bỏ qua các dấu nháy xuất hiện bên trong hoặc các ký tự ngắt dòng bên trong đó.
  • Code block (khối lệnh): Jython không sử dụng cặp ngoặc {} để nhóm một khối các lệnh logic, mà sử dụng căn lề (indention) để phân nhóm cấp độ (level) của từng khối xử lý. Mỗi cấp phân biệt bởi một tab lùi đầu dòng (có thể ứng với 4 dấu cách)
  • Comment: Jython sử dụng dấu # để đánh dấu chuỗi comment

Oct 5, 2012

Làm quen với Jython (phần 1: giới thiệu)

Jython := Java version of Python
     Python là một ngôn ngữ thông dịch mạnh mẽ, được sử dụng rất phổ biến trên hệ sinh thái *Nix (Unix/Linux). Python được implement từ C, có một phiên bản khác được implement từ Java có tên là Jython. Các vấn đề khác liên quan tới lịch sử của ngôn ngữ này xin tham khảo (history). Chúng ta sẽ bắt đầu vào vấn đề chính luôn. :)

Sep 21, 2012

Putty with X11 forwarding, graphical remote

    I guess that you had used Putty to connect to a Linux server for many times. Although there are many SSH clients that has a lot of functions and advantages, but Putty is the most light weigh one.
    The shortcoming of the program that prevent it to be the leading of SSH client is the absence of integrated X Server. I usually use MobaXterm instead of Putty, because it already included with X Server and many Unix tools. But, if you want to bring X11 Forwarding capability to Putty, I will show you.

Sep 20, 2012

Làm chủ AWK - Các biến định nghĩa sẵn (phần 2)

Các biến định nghĩa sẵn trong AWK (phần 2)

Biến RS - Record separator - phân tách các record
     Ví dụ xét một tập bản ghi có dạng sau
[oracle@db tmp]$ cat records.txt
101,John Doe:102,Jason Smith:103,Raj Reddy:104,Anand Ram:105,Jane Miller
[oracle@db tmp]$
     Các record được ngăn cách nhau bởi dấu : chứ không phải ký tự ngắt dòng thông thường. Do đó, để chỉ thị cho AWK hiểu được điều này, ta có thể sử dụng biến RS như sau:

Sep 17, 2012

Làm chủ AWK - Các biến định nghĩa sẵn (phần 1)

Các biến định nghĩa sẵn trong AWK (phần 1)

Biến FS - Field separator - Ký tự ngăn cách các trường
     Mặc định ký tự dùng để ngăn cách các trường là dấu cách (một hoặc nhiều dấu cách cạnh nhau), để chỉ định lại giá trị này, ta sẽ sử dụng giá trị biến FS, ví dụ với file /etc/passwd dấu : được sử dụng để ngăn cách các trường:

Làm chủ AWK (phần 1 - giới thiệu, cơ bản)

     Là một ngôn ngữ xử lý file text, rất mạnh đối với các file text mà mỗi dòng là một dạng bản ghi (record format), tức là có các trường, cột được phân tách nhau bởi một ký tự phân tách nào đó.
     Được phát triển bởi ba lập trình viên A. Aho, P. Weinberger và B.W. Kerninghan, do đó có tên là AWK. AWK trên các phiên bản phân phối Linux hiện tại đều là GNU AWK tương thích với phiên bản AWK nguyên thủy và NAWK (New AWK). Cú pháp của AWK rất gần gũi với ngôn ngữ C.

Sep 15, 2012

netstat quick tips and tricks

Netstat is useful and necessary networking monitor tool for administrator. I will not talking anymore about manual or tutorials for it, but I will note some tips and tricks for quickly understanding/controlling it.


  1. To get stat of tcp/udp connections, just use -t/-u or --tcp/--udp, for example:

Jun 8, 2012

Gnome 3 Massive Title Bar

Gnome 3 Massive Title Bar
Seems they were planning on doing something with the title bar so made it frigging HUGE! This might be ok on a 22" monitor but netbooks this will be an issue. Most of the space is controlled in the main theme XML file. So to make much much smaller run:

  • Open a terminal window

  • sudo sed -i "/title_vertical_pad/s/value=\"[0-9]\{1,2\}\"/value=\"0\"/g" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

  • Close terminal window

  • Hit ALT-F2

  • type restart or r

  • hit enter


Finally, Feeling :)

(Ref: http://mikeyshelpdesk.blogspot.com/2011/04/gnome-3-massive-title-bar.html)

May 31, 2012

Basic setup steps for IBus on Fedora 17 Beefy Miracle

Hello everyone. How are you today?
Are you okay? - I hope so
Are you happy? - I hope so
On this post I want to share some feeling about a change on new release of Fedora. I'm a Vietnamese, so I have to work with Vietnamese input everyday. On F17 Beefy Miracle, there are something change on setting of IBus, that is how to enable or disable input method. Just try to control it!

May 5, 2012

How to ignore broken packages when update with YUM

Hello everyone. How are you today?
Are you okay? I hope so
Are you happy? I hope so
Today, I will tell a funny story about my trouble with broken packages. Usually, we use "sudo yum check-update" to get list of updates for our system, and use "sudo yum update" for install them.

Apr 28, 2012

How to launch HTTP Splitting attack on WebGoat lession (part 1)

Hello everyone, how are you today ?

Are you okay? I hope so.

Are you happy? I hope so.

In this post, we will say something about a hacking method to get a chance to launch XSS attack. The method I want to describe here is named HTTP Splitting. We will learn something about it and get practice with WebGoat.

This is some definition and description about it.
The essence of HTTP Response Splitting is an attacker's ability to send a single HTTP request that forces the web server to form an output stream, which is then interpreted by the target as two HTTP responses instead of one response. This type of vulnerability can be exploited to perform several web application based attacks

Apr 27, 2012

How to install WebGoat 5.2 on Fedora/CentOS ?

Hello everyone. How are you today?

Are you okay? I hope so.

Are you happy? I hope so.

On this day, with some free time, we will take a note for installing WebGoat on Linux system.

What is WebGoat?

Okay, this is a brief answer:
WebGoat is a deliberately insecure J2EE web application maintained by OWASP designed to teach web application security lessons. In each lesson, users must demonstrate their understanding of a security issue by exploiting a real vulnerability in the WebGoat application.

For a novice user on hacking world, It's a good starting point. We can learn and practice with it to understanding basic skills. So, get start!

Apr 11, 2012

DNAME record on DNS, LDAP

Hello everyone.
How are you today ?
Are you happy ? - I hope so
Are you ok ? - I hope so


Khái niệm
DNAME (Distinguished Name) là một chuỗi (string) thông tin rất thường gặp trong quá trình quản lý, lưu trữ thông tin trên LDAP server, DNS server. Vốn dĩ, DN được định nghĩa, thiết kế là một primary key trong một cấu trúc thư mục theo chuẩn X.500.

Mar 24, 2012

Bring back GTK+ Remote Desktop Client on CentOS 6.2 to the world

Hello every body. How are you today?

Are you ok? I hope so

Are you happy? I hope so

In this post, I will show you the tip to bring back the nice Gtk+ Remote Desktop Client to CentOS 6.2. As we known, in previous version, we have an friendly GNOME Remote Desktop Client that named gnome-rdc or grdc that provide accessibility to connect to various type of systems. On CentOS 6.2, there is only one default RDC (remote desktop client) that based on KDE libraries. It's make me unhappy :)

I've search and find the old friend RDC that was renamed to Remmina Remote Desktop Client. The current version of Remmina is 0.9.x, you can found it here: http://sourceforge.net/projects/remmina/files/

Mar 19, 2012

Setup simple local DNS server on CentOS 5.x

Hi all.

How are you today? Are you OK? - I hope so

Are you happy? I hope so

I'm facing with a trouble when trying to install and configure Oracle 11gR2 Grid Infrastructure for RAC. That is, the installation need to configure SCAN address with DNS name. I'm trying to use hosts file, but I think it's not good for further configuration on production environments. So, I deciced to setup a new local DNS on that server. The main responsibility of this DNS server is resolving IP and address for cluster members, all of other IP resolving request will be redirect to global public DNS servers, such as Google DNS or OpenDNS.

Mar 15, 2012

Làm chủ Vim trong Linux (Phần 2)

Trong phần 1, chúng ta đã thực hành và làm quen với một số lệnh sửa, xóa trong chế độ command mode và editting mode. Tiếp tục lần này, tôi xin trình bày nốt về một số thao tác căn bản thường dùng trong vim.

Phần 3. Các thao tác hỗ trợ

Làm chủ Vim trong Linux (Phần 1)

Xin chào các bạn, một tiện ích thao tác text rất hữu ích trong unix/linux đó là vim.
Vim - Vi Improved, là một phiên bản nâng cao của trình xử lý text rất thông dụng là vi, nó có thể thao tác được với tất cả các dạng text, và là công cụ lập trình rất tốt.

Sức mạnh của biểu thức chính quy trong Linux (Phần 2)

Phần trước chúng ta đã đề cập đến một số cú pháp cơ bản của biểu thức chính quy, trong phần tiếp theo này, chúng ta sẽ xét thêm một số ví dụ cơ bản khác và sau đó sẽ đề cập đến một số ứng dụng cơ bản trong việc xây dựng mẫu lọc cho Egrep.


Regex on linux - part 1

Sức mạnh của biểu thức chính quy trong Linux (Phần 1)


Câu hỏi: Điều gì làm nên sức mạnh xử lý text trong Unix/Linux?

Trong quá trình học tập và sử dụng, cá nhân tôi thấy lý do của việc này chính là khả năng *NIX cho phép người dùng thao tác trực tiếp với biểu thức chính quy. Nói như vậy không có nghĩa là Windows không dùng, mà đó là họ triển khai sẵn các mẫu và không nói cho người dùng biết về khả năng của Regex.

Các tùy chọn trong lệnh mount trong Linux/Unix

Các tùy chọn trong lệnh mount trong Linux/Unix
Một trong số các lệnh căn bản nhất được sử dụng để thao tác với filesystem trong linux/unix chính là lệnh mount. Lệnh này có tác dụng gắn kết một thiết bị (device) phần cứng hoặc một thư mục nào đó lên một thư mục trong cây thư mục của hệ điều hành.

Mar 13, 2012

How to install Oracle Service Bus 11.1.1.5 with silent option on Linux Server

How are you today?
Are you OK? -- I hope so
Are you Happy? -- I hope so

Today, I will note another tips for installing an Oracle Fusion Middleware product - that is Oracle Service Bus. Graphical setup is complicated for me, so I will choose silent install with response file method for this product. Now, let's get to work!

Basic configuration for ModSecurity on OHS 11g - Ubuntu 10.04.2 LTS

Are you happy ? I hope so

On previous post in we have already install ModSecurity 2.x for Oracle HTTP Server 11g on Ubuntu Server 10.04. Today we will discovery how to enable that module and give it some basic instructions to protect our web application.

Mar 6, 2012

Cấu trúc điều kiện trong bash shell script

Các cấu trúc điều kiện là một thành phần xử lý rất phổ biến trên các ngôn ngữ lập trình, shell cũng không là ngoại lệ. Bash shell hỗ trợ cấu trúc điều khiển với rất nhiều tùy chọn hỗ trợ. Sau đây ta sẽ điểm qua các đặc điểm chính yếu cần nắm được khi thao tác với cấu trúc xử lý trong bash shell.

Mar 2, 2012

Các tiện ích tìm kiếm trên Linux

Tìm kiếm là một thao tác phổ biến và thường xuyên trên các hệ điều hành. Sử dụng tiện ích tìm kiếm được cung cấp sẵn sao cho hiệu quả và tối ưu luôn giúp chúng ta tiết kiệm thời gian và công sức rất nhiều.

Quá trình thực thi và cách xây dựng chương trình Shell


  • Chạy các lệnh trên shell


Bash sẽ tự quyết định kiểu chương trình nào sẽ được thực thi. Các chương trình bình thường sẽ gồm các lệnh được biên dịch sẵn trong hệ thống. Khi một chương trình như vậy được thực thi, sẽ có một process mới được tạo ra, bởi Bash sẽ tạo một bản sao của chính nó, tiến trình con ấy sẽ có cùng các biến môi trường như cha, chỉ khác duy nhất process ID. Thủ tục này được gọi là forking.

Bash & Bash shell là gì ?

Làm chủ được Linux shell là mộ trong số các mục tiêu mà nhiều người yêu thích hệ điều hành này mong muốn. Tôi nghĩ mục tiêu này chúng ta nên có và nên thực hiện sớm :) Để cùng bắt tay vào việc này, chúng ta cùng tìm hiểu khái quát cho tới chi tiết cụ thể những kiến thức căn bản gì cần có để làm chủ được môi trường, ngôn ngữ lập trình này.

Mar 1, 2012

Debug SHELL script trên Unix/Linux

Không giống như những ngôn ngữ lập trình khác, khi viết các shell script, ta không thể có được sự hỗ trợ mạnh mẽ từ compiler, không có breakpoint, ... để phục vụ quá trình debug. Thay vào đó ta phải xem kết quả chạy từng dòng lệnh để kiểm tra luồng xử lý dữ liệu của shell, và ngoài ra, yếu tố hàng đầu phải nắm được khi viết SHELL script, đó là phải cẩn thận cú pháp, SHELL rất nhạy cảm với điều này.

Feb 28, 2012

How to install ModSecurity 2.x on Ubuntu Server 10.04 LTS

"Hi, everybody.

Are you okay? I hope so :)

Are you happy? I hope so :) "

Today, I want to ask you a question. Do you believe that your web server is protected against attacks?

Oops, It's a big question for any system administrator. Just keep in mind that there is always new threats to our system. So we should already to prepare something to prevent, detect, patch and solve them. In case of web server environment, we should have an Web Application Firewall for that purpose.

How to install packages from a text file with YUM

As you known, It is possible to install RPM packages from a text file with rpm command, that command is like this:
#rpm -ivh -f FILE_NAME

The file that contains packages you want to install must satisfy some conditions:

  • package's name is correct

  • packages' separated each other by a (or more) whitespace characters (such as space, carriage return, tab, ...)


Feb 21, 2012

Hệ thống Linux/Unix của bạn đang "dùng" bao nhiêu RAM?

"Hello everybody

Are you okay? - I hope so.

Are you happy? - I hope so." <MrDuncan>

Câu hỏi hôm nay như tiêu đề bạn đang thấy. Trong quá trình quản trị và tối ưu hệ thống (*nix OS), bạn phải biết được một điều, đó là, hệ thống của bạn đang "dùng" bao nhiêu %RAM và còn dư bao nhiêu?

Feb 20, 2012

How to install GoldenDict on CentOS 6.x

GoldenDict is an excellent dictionary engine. With abilitity to accept many types of dictionary file input, it free us up from individual dictionary products. This dictionary is not provied on CentOS repositories by default, but we can download and compile it from source codes. Just preparing to fight ...