Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

[Linux Server] Tuyển tập bài viết xây dựng hệ thống server cho doanh nghiệp

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Linux Server] Tuyển tập bài viết xây dựng hệ thống server cho doanh nghiệp



    Chào các bạn,
    Tôi sẽ trích đăng từng chương của quyến sách này. Hi vọng nó sẽ giúp ích cho các bạn ít nhều trong việc chuyển đổi mạng của công ty sang hệ thống LINUX.

    Tài liệu gồm :

    Bài 1: Giới thiệu, cài đặt Redhat, và tổng quan các lệnh thông thường

    Bài 2: Cài đặt và Cấu hình DHCP Server

    Bài 3: Cài đặt và Cấu hình DNS Server

    Bài 4: Cài đặt và Cấu hình Samba Server

    Bài 5: Cài đặt và Cấu hình Squid Server

    Bài 6: Cài đặt và Cấu hình Apache Server

    Bài 7: Cài đặt và Cấu hình Sendmail

    Bài 8: Cài đặt và Cấu hình RAS


    Theo tôi , bạn nên chuyển sang dùng hệ điều hành CENTOS thay vì dùng Redhat bởi vì nó tính phí services khá mắc còn CENTOS thì hòan tòan Free mọi thứ. Quan trọng là CENTOS được xây dựng từ Redhat nên chúng cấu hình gần như giống nhau

    Mọi phản hồi xin vui lòng gởi đến linux.master.guide@gmail.com

    Chúc các bạn vui vẻ.
    Last edited by tranmyphuc; 07-04-2009, 09:50 PM.
    Trần Mỹ Phúc
    tranmyphuc@hotmail.com
    Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

    Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

    Juniper Certs :
    JNCIP-ENT & JNCIP-SEC
    INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

    [version 4.0] Ôn tập CCNA



  • #2
    Chương I:- Giới thiệu – cài đặt

    Giới thiệu LINUX

    Linux là miễn phí (free). Đối với chúng ta hôm nay không quan trọng vì ngay WindowsNT server cũng “free”. Nhưng trong tương lai, khi chúng ta muốn hòa nhập vào thế giới, khi chúng ta muốn có một thu nhập chính đáng cho người lập trình, hiện tượng sao chép trộm phần mềm cần phải chấm dứt. Khi đó, free là một thông số rất quan trọng để chọn Linux.

    Linux rất ổn định. Trái với suy nghĩ “truyền thống” là “của rẻ là của ôi “, Linux từ những phiên bản đầu tiên cách đây 5-6 năm đã rất ổn định. Ngay cả server Linux của những mạng lớn (hàng trăm máy trạm) cũng hoạt động rất ổn định.

    Linux đầy đủ. Tất cả những gì bạn thấy ở IBM, SCO, Sun … đều có ở Linux. C compiler, perl interpeter, shell , TCP/IP, proxy, firewall, tài liệu hướng dẫn ... đều rất đầy đủ và có chất lượng. Hệ thống các chương trình tiện ích cũng rất đầy đủ .
    Linux là HDH hoàn toàn 32-bit. Như các Unix khác, ngay từ đầu, Linux đã là một HDH 32 bits.

    Linux rất mềm dẻo trong cấu hình. Linux cho người sử dụng cấu hình rất linh động, ví dụ như độ phân dải màn hình Xwindow tùy ý, dễ dàng sửa đổi ngay cả kernel …

    Linux chạy trên nhiều máy khác nhau từ PC 386, 486 tự lắp cho đến SUN Sparc.

    Linux được trợ giúp. Ngày nay, với các server Linux sử dụng dữ liệu quan trọng, người sử dụng hoàn toàn có thể tìm được sự trợ giúp cho Linux từ các công ty lớn. IBM đã chính thức chào bán IBM server chạy trên Linux. Tài liệu giới thiệu Linux ngày càng nhiều, không thua kém bất cứ một HDH nào khác.
    Trần Mỹ Phúc
    tranmyphuc@hotmail.com
    Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

    Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

    Juniper Certs :
    JNCIP-ENT & JNCIP-SEC
    INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

    [version 4.0] Ôn tập CCNA


    Comment


    • #3
      [Linux Client] Ebook Hướng dẫn sử dụng Ubuntu 7.1 toàn tập

      Ebook Hướng dẫn sử dụng Ubuntu 7.1 toàn tập






      Download:
      http://rapidshare.com/file..." target="_blank">Part 1
      Part 2
      Part 3
      Part 4
      Part 5
      Part 6
      Part 6


      Cập nhật thêm link Mediafire & Box.net

      Link mediafire:
      http://www.mediafire.com/?...


      Link Box.net

      http://www.box.net/shared/...

      http://www.box.net/shared/...

      http://www.box.net/shared/...

      http://www.box.net/shared/...

      http://www.box.net/shared/...

      http://www.box.net/shared/...

      http://www.box.net/shared/...
      Trần Mỹ Phúc
      tranmyphuc@hotmail.com
      Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

      Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

      Juniper Certs :
      JNCIP-ENT & JNCIP-SEC
      INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

      [version 4.0] Ôn tập CCNA


      Comment


      • #4
        1. Cài đặt Redhat 7.3
        Thiết bị cần thiết :

        Code:
        [B][SIZE=3][COLOR=Green]a. Server : yêu cầu cấu hình : 
                                  + CPU : Intel PII  400 hoặc cao hơn.
                                  + RAM : 128MB hoặc cao hơn.
                                  + HDD : 10GB hoặc cao hơn.
                                  + NIC card : 100 Mbps
          + External Modem
          + …….
                      b. Swicth có tốc độ 100 Mbps.
                      c. Cable và các thiết bị cần thiết khác.
                      d. Các máy client có cấu hình :
          + CPU từ 486 trở lên
          + RAM : 64 MB
          + HDD : 4.3GB hoặc cao hơn.
          + NIC card : 100 Mbps.
          + ………[/COLOR][/SIZE].[/B]


        Cài đặt và cấu hình
        :
        Bước đầu tiên, chúng ta cài đặt và khởi động từ CDROM. Đưa đĩa Red Hat 7.3 thứ 1 vào, tại dấu nhắc “boot : ”, nhấn ENTER. Khi vào được bên trong, bỏ qua bước kiểm tra CDROM, màn hình tiếp theo sẽ xuất hiện như sau :



        Default là ngôn ngữ tiếng Anh, Click Next






        Hãy lựa chọn thiết bị phần cứng cho thích hợp, sau đó Click Next, màn hình tiếp theo sẽ như sau


        Click NEXT để tiếp tục.


        Hãy lựa chọn loại hình muốn sử dụng, ở đây chúng ta sẽ chọn là “Custom System” để thêm một số package cần thiết. Click NEXT.


        Ở đây có 2 lựa chọn cho chúng ta là mục chọn thứ 1, hệ điều hành sẽ xóa hết DATA trên máy và tự động chọn phân vùng để cài đặt. Còn mục chọn thứ 2 là do chính ta sẽ chỉ định phân vùng nào muốn cài và cài với dung lượng là bao nhiêu. Chúng ta có sơ đồ :


        Ví dụ chúng ta sẽ tạo các phân vùng như sau :


        Lưu ý là với / boot là nơi chứa toàn bộ những ảnh của kernel, partition Swap sẽ là nơi làm bộ nhớ ảo của Linux, phân vùng Swap sẽ có dung lượng gấp đôi số dung lượng RAM hiện có. Phân vùng /home sẽ là nơi chứa dung lượng của mỗi user, nghĩa là mỗi user sẽ có dung lượng là 100MB, /home sẽ bằng số user x 100.

        Khi đó sẽ có giao diện như thế này :


        Server của chúng ta sẽ có các phân vùng sau :
        + /boot : 100MB
        + swap : RAM x 2
        + /home : tuỳ theo số user
        + /var : 3 GB
        + /opt : 512 MB
        + / : sử dụng toàn bộ dung lượng còn lại.
        Ngoài ra chúng ta cũng có thể sẽ có một số phân vùng khác tuỳ theo từng package sẽ sử dụng chúng làm nơi lưu trữ như thế nào.( ví dụ : /cache, /chroot,……).

        Sau khi tạo xong phân vùng, màn hình tiếp theo sẽ là :


        Hệ điều hành sẽ đánh dấu những phân vùng cần format, click NEXT


        Click NEXT và hệ điều hành sẽ dùng LILO làm phần mềm boot default Linux


        Tiếp theo là chúng ta sẽ quy định những thông số về mạng theo như hình trên. Click NEXT.


        Tới đây, chúng ta sẽ quy định chế độ bảo mật cho hệ thống, theo tuỳ chọn là “No Firewall”, ở chức năng này, chúng ta có thể thay đổi dễ dàng khi vào trong giao diện của Linux. Click NEXT.

        _ Đây là tuỳ chọn để chúng ta quy định những ngôn ngữ mà hệ thống cung cấp. Click NEXT.


        Chọn múi giờ khu vực nơi cài đặt. Click NEXT.


        Ở đây, chúng ta sẽ quy định mật khẩu của user root( Administrator), và việc tạo một số account khác. Click NEXT.


        Cuối cùng là nơi quy định chế độ bảo mật sử dụng cơ chế mã hoá MD5 và Shadow passwords, mặc định là default. Click NEXT.


        Tuỳ theo mục đích sử dụng mà chúng ta sẽ cài đặt những package cần thiết. Click NEXT và hệ điều hành sẽ bắt đầu cài đặt.


        Sau khi cài đặt xong, hệ điều hành sẽ bảo chúng ta khởi động lại máy. Xem như quá trình cài đặt đã hoàn tất.

        Chúc các bạn vui vẻ.
        Trần Mỹ Phúc
        tranmyphuc@hotmail.com
        Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

        Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

        Juniper Certs :
        JNCIP-ENT & JNCIP-SEC
        INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

        [version 4.0] Ôn tập CCNA


        Comment


        • #5
          Phúc ơi, bạn có thể share cho mình cuốn ebook này được không?
          Mình đang tìm hiểu về LINUX. Cám ơn bạn trước nha.
          email: dvqtuan@gmail.com

          Comment


          • #6
            Chào bạn,
            Hiện nay đối với tôi , mọi thứ vẫn chưa hòan thành xong hết. Chính vì thế tôi không thể gởi cho bạn cả cuốn ebook được.
            Bạn có thể tự mình tìm hiểu nhiều nguồn trên internet.
            Tôi sẽ cố gắng đăng thật nhanh từng bài viết.

            Chúc bạn luôn vui.
            Trần Mỹ Phúc
            tranmyphuc@hotmail.com
            Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

            Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

            Juniper Certs :
            JNCIP-ENT & JNCIP-SEC
            INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

            [version 4.0] Ôn tập CCNA


            Comment


            • #7
              Chào các bạn,
              Dưới đây là slide bài giảng cho ebook trên. Hi vọng nó sẽ giúp các bạn thật nhiều trong việc học tập và nghiên cứu về Linux.

              Chúc vui vẻ.
              Attached Files
              Trần Mỹ Phúc
              tranmyphuc@hotmail.com
              Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

              Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

              Juniper Certs :
              JNCIP-ENT & JNCIP-SEC
              INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

              [version 4.0] Ôn tập CCNA


              Comment


              • #8
                Chào các bạn,
                Hiện nay hệ đìêu hành dànhcho máy chủ free là một vấn đề được khá nhiều người quan tâm. Vì nghe đồn do tình hình kinh tế khó khắn nên BILL quyết định tiêu diệt việc "dùng lậu" ở Việt NAm.

                Giới thiệu về CentOS


                CentOS (tên viết tắt của Community ENTerprise Operating System) là một phân phối Linux tập trung vào lớp doanh nghiệp, xây dựng từ nhiều nguồn miễn phí (theo GPL và một số bản quyền tương tự) của Red Hat. CentOS 4 dựa trên nền tảng Red Hat Enterprise Linux 4, hỗ trợ dòng x86 (i586 và i686), dòng x86_64 (AMD64 và Intel EMT64), các cấu trúc IA64, Alpha, S390 và S390x.



                Đĩa Single Server CD có hầu hết tất cả các thành phần cần thiết cho quá trình cài đặt server cơ bản, ngoại trừ GUI (giao diện đồ hoạ người dùng). Nó phù hợp cho những ai muốn cài đặt chức năng một cách nhanh chóng. Do không có giao diện GUI, bạn có thể chạy một server cơ sở chỉ với RAM 128. Nhưng tất nhiên dung lượng RAM sẽ phải tăng lên nếu cần triển khai các cơ sở dữ liệu lớn.

                Cài đặt

                Quá trình cài đặt Single Server CD khá dễ dàng, nhất là khi bạn đã cài một phân phối Linux khác. Bạn cần download Single Server CD từ một bản ở máy cục bộ, ghi nó vào đĩa và khởi động (boot) server từ đĩa đó.

                Cho dù Single Server CD không chứa giao diện GUI, quá trình cài đặt vẫn sử dụng một giao diện đồ hoạ, giúp bạn dễ dàng thao tác với từng phần. Làm theo các hướng dẫn trên màn hình, công việc trở nên đơn giản.

                Mẹo nhỏ: Nếu server của bạn không chứa bất kỳ dữ liệu nào khác và không gặp phải vấn đề gì khi format lại toàn bộ ổ đĩa, nên sử dụng tuỳ chọn “automatically partition” (phân vùng tự động) khi quá trình cài đặt đến bước Disk Partitioning Setup. Nó sẽ giúp bạn tiết kiệm được khá nhiều thời gian.

                Bạn nên tạm ngừng sử dụng SELinux và tắt chức năng tường lửa, nhất là khi server được đặt an toàn bên trong mạng cục bộ. Bạn có thể thay đổi các thiết lập tường lửa sau nếu muốn với lệnh system-config-securitylevel.

                Bạn có thể chọn cài đặt mặc định các gói phần mềm một cách an toàn. Phương thức cài đặt này sẽ cung cấp một hệ thống CentOS cơ bản với Web, mail và các server FTP, DNS, chức năng chia sẻ file qua Samba. Với máy có cấu hình hiện đại, quá trình cài đặt chỉ mất dưới 20 phút.

                Không phải tất cả các gói trên CD đều được cài. Chẳng hạn, nếu muốn dùng PostgreSQL, bạn sẽ phải cài đặt nó sau từ đĩa. Muốn cài đặt PostgreSQL, đưa đĩa vào ổ đọc (mount/media/cdrom), dùng lệnh yum để cài các thư viện client và server:

                yum localinstall /media/cdrom/CentOS/RPMS/postgresql-7*
                yum localinstall /media/cdrom/CentOS/RPMS/postgresql-server-7*

                Khả năng mạnh của CentOS nằm ở chỗ đáng tin cậy và ổn định. Nó được xây dựng dựa trên các gói đã qua thử nghiệm cho kết quả tốt chứ không dựa trên phần mềm bleeding-edge. Tuy nhiên cũng có một hạn chế là một số phần mềm mới nhất không thể cài đặt được trên phần phối này. Thiếu sót quan trọng nhất, theo ý kiến của tôi, là PHP 5 và MySQL 5. Nhưng các phần mềm này cũng đã được tích hợp vào trong CentOS Plus Repository.

                Mặc định, CentOS 4.4 sử dụng PHP 4.3.9. Muốn nâng cấp lên PHP 5, trước tiên phải đảm bảo máy bạn đã được kết nối với Internet, sau đó chạy lệnh:

                yum --enablerepo=centosplus upgrade php*

                Tương tự với MySQL. Phiên bản mặc định trong CentOS 4.4 là MySQL 4.1.20. Muốn nâng cấp lên MySQL 5, dùng các lệnh sau:

                yum --enablerepo=centosplus upgrade mysql*
                yum --enablerepo=centosplus install mysql-server-5*

                Quản trị đơn giản

                Do CentOS 4.4 Single Server CD không có giao diện GUI, bạn cần thực hiện tất cả cấu hình qua dòng lệnh. Dưới đây là một số lệnh quan trọng cơ bản và các file giúp bạn cấu hình server.

                Để khởi động và ngừng dịch vụ, dùng:

                service XYZ start
                service XYZ stop

                Trong đó, XYZ là tên server, ví dụ như postgresql.

                Để cấu hình mạng, chạy lệnh:

                netconfig

                Để cấu hình máy in, chạy lệnh:

                system-config-printer

                Mặc định có một số dịch vụ hệ thống không được khởi động trong thời gian boot hệ thống như Web server, MySQL server. Muốn đảm bảo cho các dịch vụ này được chạy ngay từ khi khởi động máy, thực hiện các lệnh sau:

                chkconfig --levels 235 httpd on
                chkconfig --levels 235 mysql on
                chkconfig --levels 235 smb on
                chkconfig --levels 235 vsftpd on

                Nếu cần dịch vụ POP3 và IMAP, bạn cần cấu hình dovecot daemon. Mặc định, dovecot daemon chỉ cung cấp các dịch vụ IMAP. Muốn có POP3, bạn phải chỉnh sửa /etc/dovecot.conf và đặt vào dòng:

                protocols = imap imaps pop3 pop3s

                Dovecot cũng không được khởi động mặc định (nhưng được cài đặt như một trong các gói tiêu chuẩn). Muốn dovecot được khởi động khi máy khởi động, gõ lệnh:

                chkconfig --levels 235 dovecot on

                Sau khi mọi thành phần đã được cấu hình chính xác, bạn nên khởi động lại hệ thống. Không phải bởi Linux cần khởi động lại mà đơn giản chỉ để chắc chắn rằng mọi thứ đã được cài đặt phù hợp và chạy như mong đợi.
                Trần Mỹ Phúc
                tranmyphuc@hotmail.com
                Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

                Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

                Juniper Certs :
                JNCIP-ENT & JNCIP-SEC
                INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

                [version 4.0] Ôn tập CCNA


                Comment


                • #9
                  Biên dịch một kernel trên Centos như thế nào


                  Mỗi phân phối Linux đều có một số chức năng cụ thể hỗ trợ xây dựng một kernel (nhân hệ điều hành) tuỳ biến từ các nguồn liên quan. Bài này thực hiện biên dịch nhân kernel trên hệ thống CentOS. Chúng tôi sẽ mô tả cách xây dựng nhân kernel tuỳ biến sử dụng các nguồn kernel không chỉnh sửa mới nhất từ website www.kernel.org (hoặc vanilla kernel), có thể áp dụng với bất kỳ nhân kernel nào được hỗ trợ trong phân phối của bạn. Bài này cũng sẽ mô tả cách ghép nối các nguồn kernel nếu bạn không muốn có chúng riêng rẽ trong nhân của mình.

                  Chú ý là trong bài này, tất cả ví dụ mẫu đều được thực trên hệ thống CentOS 4.4.


                  Đây chỉ là một trong nhiều cách thức thực hiện. Chúng tôi tiến hành thành công trên CentOS 4.4, nhưng không dám đảm bảo với bạn sẽ thành công 100%. Hãy xác định cụ thể hệ thống phân phối của mình và lựa chọn phương thức phù hợp. Tất cả đều tương tự như những gì được hướng dẫn trong các phần dưới đây.

                  1. Chú ý mở đầu

                  Ở đây chúng tôi sẽ giới thiệu hai cách xây dựng nhân kernel trên hệ thống CentOS. Cách thứ nhất là kiểu gói rpm kernel, bạn có thể cài đặt hoặc chia sẻ với người khác. Cách thứ hai có thể áp dụng cho toàn bộ phân phối Linux, nhưng không thể kết thúc bằng một gói rpm.

                  2. Xây dựng một kernel gói rpm

                  Phần này cung cấp cách thức xây dựng kernel kết thúc bằng một gói rpm giúp bạn có thể cài đặt hoặc chia sẻ với người khác.



                  2.1 Download các nguồn kernel

                  Đầu tiên chúng ta cần download các nhân kernel cần thiết vào thư mục /usr/src. Vào website www.kernel.org,chọn nhân kernel muốn cài đặt, ví dụ như linux-2.6.18.3.tar.bz2. (Bạn có thể tìm các kernel 2.6 ở đây). Sau đó download chúng vào thư mục /usr/src như sau:

                  cd /usr/src
                  wget http://www.kernel.org/pub/linux/kern...6.18.3.tar.bz2


                  Mở gói nguồn kernel và tạo liên kết đồng thời linux tới thư mục nguồn kernel như sau:

                  tar xjf linux-2.6.18.3.tar.bz2
                  ln -s linux-2.6.18.3 linux
                  cd /usr/src/linux


                  2.2 Chỉnh sửa thư mục /etc/modprobe.conf

                  Bây giờ chúng ta phải chú thích mô hình mptscsi trong thư mục /etc/modprobe.conf. Vì nếu không một lỗi sẽ xuất hiện khi bạn cố gắng tạo ra đĩa ram (ramdisk) cho kernel mới, dạng như sau:

                  No module mptscsi found for kernel 2.6.18.3-default, aborting.

                  (Không tìm thấy modul mptscsi cho kernel 2.6.18.3 mặc định, huỷ bỏ).

                  vi /etc/modprobe.conf


                  alias eth0 pcnet32
                  alias scsi_hostadapter mptbase
                  # alias scsi_hostadapter1 mptscsi
                  alias scsi_hostadapter2 mptfc
                  alias scsi_hostadapter3 mptspi
                  alias scsi_hostadapter4 mptsas
                  alias scsi_hostadapter5 mptscsih


                  2.3 Ghép nối các nguồn Kernel (Tuỳ chọn)

                  Đôi khi bạn cần định hướng cho phần cứng không được hỗ trợ mặc định trong kernel mới hoặc cần hỗ trợ cho các kỹ thuật ảo hoá hay một số kỹ thuật bleeding-edge khác chưa được thực hiện trong kernel mới. Khi đó bạn cần phải ghép nối các nguồn kernel bằng một bản ghép nối được cung cấp sẵn.

                  Bây giờ, giả sử bạn đã download được các bản ghép nối cần thiết (trong ví dụ này gọi là patch.bz2) vào thư mục /usr/src. Thực hiện ghép nối các nguồn kernel như sau (bạn vẫn phải ở trong thư mục /usr/src/linux):

                  bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
                  bzip2 -dc /usr/src/patch.bz2 | patch -p1


                  Câu lệnh đầu tiên chỉ nhằm mục đích kiểm tra. Nó không thực hiện điều gì liên quan đến các nguồn của bạn. Nếu không có lỗi nào xuất hiện, bạn có thể chạy câu lệnh thứ hai, thực sự liên quan đến ghép nối. Đừng thực hiện nó nếu câu lệnh thứ nhất gặp lỗi.

                  Nếu các bản ghép nối được nén theo trong gzip (.gz) thay vì bzip2 (.bz2) thì thực hiện như sau:

                  gunzip -c /usr/src/patch.gz | patch -p1 --dry-run
                  gunzip -c /usr/src/patch.gz | patch -p1


                  Bạn cũng có thể dùng các bản "tiền ghép nối" cho nguồn kernel. Ví dụ, nếu bạn cần một thành phần chỉ hoạt động trong kernel 2.6.19-rc6 nhưng toàn bộ nguồn đã có chưa hỗ trợ cho kernel này. Khi đó bạn có thể dùng bản patch-2.6.19-rc6.bz2. Nhưng bản patch này chỉ dùng được cho nguồn kernel 2.6.18 mà không dùng được cho nguồn 2.6.18.1, 2.6.18.2 hay 2.6.18.3, v.v…Điều này được giải thích trên http://kernel.org/patchtypes/pre.html:

                  Các bản ghép nối tương ứng với các phiên bản alpha của Linux. Chúng "sống"trong các thư mục kiểm tra ở phần lưu trữ. Chung sẽ được sử dụng với tiện ích patch(1) cho mã nguồn của phiên bản đầy đủ trước với 3 số phiên bản (VD như bản 2.6.12-rc4 nên sử dụng cho các nguồn kernel 2.6.11 chứ không phải cho nguồn 2.6.11.10 hoặc tương tự).

                  Vì thế nếu bạn muốn biên dịch kernel 2.6.19-rc6, bạn phải tải các nguồn kernel 2.6.18 (http://www.kernel.org/pub/linux/kern...2.6.18.tar.bz2) ở bước 3 thay vì 2.6.18.3.

                  Đây là cách bạn sử dụng bản ghép nối 2.6.19-rc6 cho kernel 2.6.18:

                  cd /usr/src
                  wget http://www.kernel.org/pub/linux/kern...2.6.19-rc6.bz2
                  cd /usr/src/linux
                  bzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1 --dry-run
                  bzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1


                  2.4 Cấu hình Kernel

                  Bạn nên sử dụng cấu hình kernel hiện tại là thành phần cơ sở cho kernel mới. Bạn có thể copy lại cấu hình đã tồn tại này vào thư mục /usr/src/linux:

                  make clean && make mrproper
                  cp /boot/config-`uname -r` ./.config


                  Sau đó chúng ta chạy:

                  make menuconfig


                  Câu lệnh này đưa ra menu cấu hình kernel. Vào Load an Alternate Configuration File và chọn .config (thư mục chứa thông tin cấu hình của kernel hiện tại) để thiết lập file cấu hình cho kernel mới:





                  Sau đó lựa chọn cấu hình qua menu kernel. Phải đặc tả xâu xác định phiên bản kernel dưới General Setup ---> () Local version - append to kernel release. Tôi sử dụng chế độ mặc định -default nên gói rpm kernel sẽ được đặt tên là kernel-2.6.18.3default-1.i386.rpm. Bạn có thể để lại một xâu rỗng hoặc mô tả xâu khác giúp bạn xác định được kernel (như: -custom hoặc bất cứ xâu nào bạn thích).

                  Chú ý: Nếu như sau khi đã cài đặt kernel-2.6.18.3default-1.i386.rpm nhưng bạn lại quyết định biên dịch gói rpm kernel 2.6.18.3 khác, nhất thiết bạn phải sử dụng xâu phiên bản khác (như -default1, -default2,…). Nếu không bạn không thể cài đặt được kernel mới, vì rpm sẽ thông báo rằng kernel-2.6.18.3default-1.i386.rpm đã được cài đặt.









                  Sau khi thực hiện xong và chọn Exit, hãy trả lời câu hỏi tiếp sau đó: Do you wish to save your new kernel configuration? (Bạn có muốn ghi lại cấu hình kernel mới hay không?) là Yes



                  2.5 Xây dựng kernel

                  Để xây dựng kernel, đơn giản chỉ cần thực thi câu lệnh sau:

                  make rpm


                  Bây giờ hãy kiên nhẫn, quá trình biên dịch kernel có thể mất vài giờ, tuỳ thuộc vào cấu hình kernel và tốc độ vi xử lý của bạn.

                  2.6 Cài đặt kernel mới

                  Sau khi xây dựng kernel thành công, một gói src.rpm và rpm được tạo. Gói src.rpm có thể được tìm thấy trong thư mục /usr/src/redhat/SRPMS/. Bạn có thể tìm ra tên nó bằng cách chạy:

                  ls -l /usr/src/redhat/SRPMS/


                  Trên hệ thống của tôi nó được gọi là kernel-2.6.18.3default-1.src.rpm.

                  Gói rpm có thể được tìm thấy trong /usr/src/redhat/RPMS/i386/, /usr/src/redhat/RPMS/i586/, /usr/src/redhat/RPMS/i686/, hay /usr/src/redhat/RPMS/x86_64/, ..., tuỳ thuộc vào cấu trúc của bạn. Trong hệ thống của tôi, nó được đặt ở vị trí /usr/src/redhat/RPMS/i386/. Và bằng cách chạy

                  ls -l /usr/src/redhat/RPMS/i386/


                  Tôi tìm ra tên của nó là kernel-2.6.18.3default-1.i386.rpm.

                  Bây giờ chúng ta có thể cài đặt gói rpm kernel như sau:

                  cd /usr/src/redhat/RPMS/i386/
                  rpm -ivh --nodeps kernel-2.6.18.3default-1.i386.rpm


                  Hãy chú ý lệnh chuyển đổi --nodeps: nếu bạn không dùng nó, bạn sẽ thấy có lỗi xuất hiện như sau:

                  error: Failed dependencies:
                  kernel >= 2.6.10 conflicts with lksctp-tools-1.0.2-6.4E.1.i386
                  (Nghĩa là: lỗi phụ thuộc; kernel >= 2.6.10 xung đột với lksctp-tools-1.0.2-6.4E.1.i386).

                  Nếu lờ đi phụ thuộc này cũng không ảnh hưởng gì đến hệ thống.

                  Bây giờ bạn có thể chuyển gói rpm kernel sang các hệ thống CentOS khác và cài đặt chúng ở đó bằng cách hoàn toàn tương tự. Như thế có nghĩa là bạn không phải biên dịch lại kernel trong máy sao chép.

                  Tiếp theo chúng ta sẽ cùng tạo một ramdisk (đĩa ram) cho kernel mới. Nếu không có thành phần này hệ thống gần như sẽ không boot (khởi động) kernel mới.

                  mkinitrd /boot/initrd-2.6.18.3-default.img 2.6.18.3-default


                  2.7 Cấu hình bộ tải khởi động GRUB

                  Bây giờ chúng ta phải cấu hình bộ tải khởi động GRUB để kernel mới boot khi chúng ta khởi động lại máy.

                  Chạy câu lệnh sau:

                  ls -l /boot


                  Để tìm kernel mới (thường bắt đầu bằng vmlinuz, như: vmlinuz-2.6.18.3-default) và ramdisk (thường bắt đầu bằng initrd, như initrd-2.6.18.3-default.img).

                  Sau đó chỉnh sửa /boot/grub/menu. Hãy xem lại các đoạn nhân kernel đã có hoặc đang hoạt động ở đó, lấy một đoạn làm mẫu cho đoạn mới để thay thế nhân kernel và ramdisk. Tiếp đến, bổ sung đoạn trên lên tất cả các đoạn khác.

                  vi /boot/grub/menu.lst


                  Ví dụ, thành phần menu.lst của tôi trông giống như sau trước khi tôi bổ sung đoạn mới:

                  # grub.conf generated by anaconda
                  #
                  # Note that you do not have to rerun grub after making changes to this file
                  # NOTICE: You have a /boot partition. This means that
                  # all kernel and initrd paths are relative to /boot/, eg.
                  # root (hd0,0)
                  # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
                  # initrd /initrd-version.img
                  #boot=/dev/sda
                  default=0
                  timeout=5
                  splashimage=(hd0,0)/grub/splash.xpm.gz
                  hiddenmenu
                  title CentOS (2.6.9-42.0.3.EL)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.9-42.0.3.EL ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.9-42.0.3.EL.img
                  title CentOS-4 i386 (2.6.9-42.EL)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.9-42.EL ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.9-42.EL.img


                  Và sau khi bổ sung là:

                  # grub.conf generated by anaconda
                  #
                  # Note that you do not have to rerun grub after making changes to this file
                  # NOTICE: You have a /boot partition. This means that
                  # all kernel and initrd paths are relative to /boot/, eg.
                  # root (hd0,0)
                  # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
                  # initrd /initrd-version.img
                  #boot=/dev/sda
                  default=0
                  timeout=5
                  splashimage=(hd0,0)/grub/splash.xpm.gz
                  hiddenmenu
                  title CentOS (2.6.18.3-default)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.18.3-default ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.18.3-default.img
                  title CentOS (2.6.9-42.0.3.EL)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.9-42.0.3.EL ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.9-42.0.3.EL.img
                  title CentOS-4 i386 (2.6.9-42.EL)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.9-42.EL ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.9-42.EL.img



                  Bây giờ khởi động lại hệ thống:

                  shutdown -r now


                  Nếu mọi thứ đều hoạt động tốt, bạn đã sẵn sàng lên kernel mới. Bạn có thể kiểm tra xem liệu đã thực sự dùng được kernel mới hay chưa bằng cách chạy lệnh:

                  uname -r


                  Nó sẽ trả ra kết quả dạng như sau:

                  2.6.18.3-default

                  Nếu hệ thống vẫn chưa bắt đầu hoạt động, hãy khởi động lại nó. Khi bạn nhìn thấy:



                  Hãy ấn bất kỳ phím nào đó để vào menu GRUB:



                  Chọn kernel cũ của bạn và khởi động hệ thống. Bây giờ bạn có thể cố gắng biên dịch lại kernel đang hoạt động. Đừng quên bỏ đi các đoạn nhân kernel không hoạt động từ /boot/grub/menu.lst.

                  3. Xây dựng nhân kernel theo cách truyền thống.

                  Phần này mô tả một phương thức khác có thể dùng được cho tất các hệ thống Linux. Nhưng vì không có hệ thống CentOS nào cụ thể nên tất nhiên bạn sẽ không được kết thúc với một gói rpm kernel.

                  3.1. Download các nguồn kernel.

                  Chúng ta có thể download kernel mong muốn vào thư mục /usr/src. Vào website www.kernel.org và chọn kernel bạn muốn cài đặt, ví dụ như linux-2.6.18.3.tar.bz2 (Bạn có thể tìm thấy tất cả các kernel 2.6 ở đây: http://www.kernel.org/pub/linux/kernel/v2.6/). Sau đó tải kernel đã chọn vào thư mục /usr/src như sau:

                  cd /usr/src
                  wget http://www.kernel.org/pub/linux/kern...6.18.3.tar.bz2


                  Sau đó mở gói các nguồn kernel, tạo một liên kết linux đồng thời (symlink) tới thư mục nguồn kernel:

                  tar xjf linux-2.6.18.3.tar.bz2
                  ln -s linux-2.6.18.3 linux
                  cd /usr/src/linux


                  3.2 Chỉnh sửa thư mục /etc/modprobe.conf

                  Tương tự như trên, bây giờ chúng ta cũng phải đưa ra chú thích modul mptscsi trong thư mục /etc/modprobe.conf. Nếu không chúng ta sẽ nhận được cảnh báo sau khi xây dựng kernel mới:

                  WARNING: No module mptscsi found for kernel 2.6.18.3, continuing anyway
                  (Cảnh báo: Không tìm thấy modul mptscsi cho kernel 2.6.18.3, chương trình vẫn tiếp tục).

                  vi /etc/modprobe.conf


                  alias eth0 pcnet32
                  alias scsi_hostadapter mptbase
                  # alias scsi_hostadapter1 mptscsi
                  alias scsi_hostadapter2 mptfc
                  alias scsi_hostadapter3 mptspi
                  alias scsi_hostadapter4 mptsas
                  alias scsi_hostadapter5 mptscsih


                  3.3 Ghép nối các nguồn kernel (tuỳ chọn):

                  Mục đích của phần này giống như đã giới thiệu trong mục 2.1 ở trên

                  Bây giờ, giả sử bạn đã download được các bản ghép nối cần thiết (trong ví dụ này gọi là patch.bz2 ) vào thư mục /usr/src. Thực hiện ghép nối các nguồn kernel như sau (bạn vẫn phải ở trong thư mục /usr/src/linux):

                  bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
                  bzip2 -dc /usr/src/patch.bz2 | patch -p1


                  Câu lệnh đầu tiên chỉ nhằm mục đích kiểm tra. Nó không thực hiện điều gì liên quan đến các nguồn của bạn. Nếu không có lỗi nào xuất hiện, bạn có thể chạy câu lệnh thứ hai, thực sự liên quan đến ghép nối. Đừng thực hiện nó nếu câu lệnh thứ nhất gặp lỗi.

                  Nếu các bản ghép nối được nén theo trong gzip (.gz) thay vì bzip2 (.bz2) thì thực hiện như sau:

                  gunzip -c /usr/src/patch.gz | patch -p1 --dry-run
                  gunzip -c /usr/src/patch.gz | patch -p1


                  Giống như trên, bạn cũng có thể dùng các bản "tiền ghép nối" cho nguồn kernel. Ví dụ, nếu bạn cần một thành phần chỉ hoạt động trong kernel 2.6.19-rc6 nhưng toàn bộ nguồn đã có chưa hỗ trợ cho kernel này. Khi đó bạn có thể dùng bản patch-2.6.19-rc6.bz2. Nhưng bản patch này chỉ dùng được cho nguồn kernel 2.6.18 mà không dùng được cho nguồn 2.6.18.1, 2.6.18.2 hay 2.6.18.3, v.v… Điều này được giải thích trên http://kernel.org/patchtypes/pre.html:

                  Các bản ghép nối tương ứng với các phiên bản alpha của Linux. Chúng "sống" trong các thư mục kiểm tra ở phần lưu trữ. Chung sẽ được sử dụng với tiện ích patch(1) cho mã nguồn của phiên bản đầy đủ trước với 3 số phiên bản (VD như bản 2.6.12-rc4 nên sử dụng cho các nguồn kernel 2.6.11 chứ không phải cho nguồn 2.6.11.10 hoặc tương tự).

                  Vì thế nếu bạn muốn biên dịch kernel 2.6.19-rc6, bạn phải tải các nguồn kernel 2.6.18 (http://www.kernel.org/pub/linux/kern...2.6.18.tar.bz2) ở bước 3 thay vì 2.6.18.3.

                  Đây là cách bạn sử dụng bản ghép nối 2.6.19-rc6 cho kernel 2.6.18:

                  cd /usr/src
                  wget http://www.kernel.org/pub/linux/kern...2.6.19-rc6.bz2
                  cd /usr/src/linux
                  bzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1 --dry-run
                  bzip2 -dc /usr/src/patch-2.6.19-rc6.bz2 | patch -p1


                  3.4 Cấu hình kernel.

                  Cũng giống như trên, Bạn nên sử dụng cấu hình kernel hiện tại là thành phần cơ sở cho kernel mới. Bạn có thể copy lại cấu hình đã tồn tại này vào thư mục /usr/src/linux:

                  make clean && make mrproper
                  cp /boot/config-`uname -r` ./.config


                  Sau đó chúng ta chạy:

                  make menuconfig


                  Câu lệnh này đưa ra menu cấu hình kernel. Vào Load an Alternate Configuration File và chọn .config (thư mục chứa thông tin cấu hình của kernel hiện tại) để thiết lập file cấu hình cho kernel mới:






                  Sau đó lựa chọn qua menu cấu hình kernel. Khi bạn làm xong, chọn Exit và trả lời câu hỏi (Do you wish to save your new kernel configuration? - Bạn có muốn ghi lại cấu hình kernel mới không) là Yes.



                  3.5. Xây dựng và cài đặt kernel.

                  Để xây dựng và cài đặt kernel, thực thi ba câu lệnh sau:

                  make all
                  make modules_install
                  make install


                  Bây giờ hãy kiên nhẫn, quá trình biên dịch kernel có thể phải mất hàng giờ, tuỳ thuộc vào cấu hình và tốc độc vi xử lý của bạn. Câu lệnh cuối cùng sẽ tự động tạo một ramdisk cũng như thư mục /boot/grub/menu.lst.cho bạn.

                  Bây giờ hãy chỉnh sửa /boot/grub/menu.lst. Bạn nên tìm một stanza (có thể hiểu là một đoạn) cho kernel mới của bạn ở đầu danh sách. Nhưng để chắc chắn kernel mới được boot, bạn phải thiết lập giá trị mặc định là 0.

                  vi /boot/grub/menu.lst


                  menu.lst của tôi giống như sau:

                  # grub.conf generated by anaconda
                  #
                  # Note that you do not have to rerun grub after making changes to this file
                  # NOTICE: You have a /boot partition. This means that
                  # all kernel and initrd paths are relative to /boot/, eg.
                  # root (hd0,0)
                  # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
                  # initrd /initrd-version.img
                  #boot=/dev/sda
                  default=0
                  timeout=5
                  splashimage=(hd0,0)/grub/splash.xpm.gz
                  hiddenmenu
                  title CentOS (2.6.18.3)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.18.3 ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.18.3.img
                  title CentOS (2.6.9-42.0.3.EL)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.9-42.0.3.EL ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.9-42.0.3.EL.img
                  title CentOS-4 i386 (2.6.9-42.EL)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.9-42.EL ro root=/dev/VolGroup00/LogVol00
                  initrd /initrd-2.6.9-42.EL.img


                  Bây giờ khởi động lại máy:

                  shutdown -r now


                  Nếu không có vấn đề gì xảy ra, bạn hoàn toàn có thể dùng kernel mới. Bạn có thể kiểm tra lại bằng câu lệnh:

                  uname -r


                  2.6.18.3

                  Nếu ổn định và hoạt động tốt, nó sẽ trả ra: 2.6.18.3
                  Nếu hệ thống không hoạt động, hãy khởi động lại máy. Khi bạn nhìn thấy:



                  Hãy ấn bất kỳ phím nào đó để quay trở lại menu GRUB:



                  Chọn kernel cũ của bạn và khởi động hệ thống. Bây giờ bạn có thể cố gắng biên dịch lại một kernel đang hoạt động. Đừng quên bỏ stanza của kernel không hoạt động từ thư mục /boot/grub/menu.lst..

                  4. Liên kết.

                  • CentOS: http://www.centos.org
                  • The Linux Kernel Archives: http://www.kernel.org
                  Trần Mỹ Phúc
                  tranmyphuc@hotmail.com
                  Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

                  Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

                  Juniper Certs :
                  JNCIP-ENT & JNCIP-SEC
                  INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

                  [version 4.0] Ôn tập CCNA


                  Comment


                  • #10
                    hi,

                    Hottest topic ! :P
                    bạn myphuc có thể share document từ bài 1->8 cho mình đc chứ ? Thanks

                    Have fun!
                    Att ~¿ 21°00.00N , HCMC

                    Comment


                    • #11
                      Bài viết này hay lắm, bạn có thể gửi luôn toàn bộ các phần của cuốn sách này không.
                      Gửi vào hòm thư: tuanbuou@gmail.com hoặc tuanbuou@yahoo.com.
                      Thanks

                      Comment


                      • #12
                        Phúc ơi, bạn share cho minh với. Mình đang rất cần ebook về Linux.
                        Cám ơn Phúc nhiều.
                        Email: dvqtuan@gmail.com

                        Comment


                        • #13
                          Ubuntu thì sao nhỉ? Nó dễ dùng mà.

                          Comment


                          • #14
                            Originally posted by Alpha5 View Post
                            Ubuntu thì sao nhỉ? Nó dễ dùng mà.
                            Chào ,
                            Để có thể hiểu Ubuntu một cách chuyên nghiệp, bạn có thể xem tài liệu sau :
                            [Linux Client] Ebook Hướng dẫn sử dụng Ubuntu 7.1 toàn tập
                            Chúc bạn vui vẻ.
                            Trần Mỹ Phúc
                            tranmyphuc@hotmail.com
                            Hãy add nick để có thông tin đề thi mới nhất :tranmyphuc (Hỗ trợ tối đa cho các bạn tự học)

                            Cisco Certs : CCNP (Passed TSHOOT 1000/1000)

                            Juniper Certs :
                            JNCIP-ENT & JNCIP-SEC
                            INSTRUCTORS (No Fee) : CISCO (Professional) , JUNIPER (Professional) , Microsoft ...

                            [version 4.0] Ôn tập CCNA


                            Comment


                            • #15
                              Theo tôi , bạn nên chuyển sang dùng hệ điều hành CENTOS thay vì dùng Redhat bởi vì nó tính phí services khá mắc còn CENTOS thì hòan tòan Free mọi thứ.

                              phí services là phí gì vậy bro.? ko hiểu cái này cho lắm?

                              Comment

                              Working...
                              X