Khái niệm về phân vùng đĩa cứng trong Linux

1. Lý thuyết tổng quát

– Quá trình khởi động: khi bật công tắc (Power), BIOS sẽ làm công việc đầu tiên là “chạy đôn chạy đáo” kiểm tra những phần cứng cơ bản (gồm ổ đĩa cứng, ổ đĩa mềm, bàn phím…) đã được nối vào máy tính. Những phần cứng này sẽ lần lượt được nạp driver (trình điều khiển – BIOS đã có sẵn driver rồi) để có thể sử dụng được ngay khi khởi động xong, đồng thời BIOS cũng đi tìm một đoạn chương trình bé xíu được đặt tại phần đầu của đĩa mềm (Boot sector), đĩa cứng (MBR – Master Boot Record) để “đùn đẩy trách nhiệm” khởi động tiếp.

Riêng đối với đĩa cứng, ngoài MBR còn có thêm Boot sector nữa, Boot Sector này “tạm trú” ngay đầu của mỗi phân vùng Primary (sẽ nói sau) và Boot Sector của Primary đầu tiên sẽ nằm sau MBR. Tại đây, ta không nói đến đĩa mềm vì quá đơn giản, chỉ cần nạp xong Boot Sector là OK. Đĩa cứng thì phức tạp hơn, MBR không nạp ngay hệ điều hành mà còn “bận” phải xác định xem trong đĩa cứng hiện có bao nhiêu phân vùng và phân vùng nào sẽ được ưu tiên khởi động. Mỗi phân vùng Primary sẽ “cầm” một cái cờ tên là Active, trong một thời điểm khởi động chỉ có một Primary được phất cờ thôi, và khi MBR nhận ra được “em” nào phất thì tức khắc “tống” ngay tiến trình khởi động sang cho Boot Sector của Primary đó làm tiếp. Lúc này, Boot Sector mới tìm những tập tin khởi động của hệ điều hành (nếu có) để “chuyển giao công đoạn” và chấm dứt khởi động, phận ai người nấy lo mà.

Continue reading

[FAQ] Linux: Thời gian tập tin được tạo ra ?

Một lập trình viên PHP hỏi: làm thế nào để lấy thông tin về thời điểm một tập tin được tạo ra trên hệ thống Linux? Bởi vì các thông tin do hàm fstat cung cấp là chưa đủ…

Á… một câu hỏi rất đơn giản nhưng mình không thể giải đáp ngay tức khắc. Nếu sử dụng lệnh ls để liệt kê đầy đủ các thông tin của tập tin, thì vẫn không tìm ra cái gọi là thời điểm tạo ra tập tin. (Mình nghi ngờ rằng, lệnh ls với tham số -l chỉ cho thông tin về thời điểm tập tin thay đổi lần cuối cùng.)

Cuối cùng, sử dụng đến lệnh stat để xem đầy đủ hơn. Quái lạ, cũng chỉ thấy Access time, Modify timeChange time. Có gì sai ở hệ thống tập tin?

Sau một hồi đọc man ls, mới phát hiện ra: khác hẳn với hệ thống NTFS của ngài Bill, trên Linux (và Unix) không có khái niệm thời điểm tập tin được tạo ra. Mà chỉ có ba loại thời điểm như vừa kể ở trên. Trong đó, modify liên quan tới nội dung, còn change liên quan tới sự thay đổi về inode trên hệ thống đĩa (điều này xảy ra, khi chẳng hạn có sự thay đổi về quyền, thuộc tính thi hành… của tập tin).

Như vậy, trên hệ thống file ExtX của Linux, câu hỏi thời điểm một tập tin được tạo ra là một câu hỏi… ngốc nghếch 🙂

Dragula.org

Red Hat Linux và những kinh nghiệm bảo mật

Hiện nay Linux đang dần trở thành một hệ điều hành khá phổ biến, bởi tính kinh tế, khả năng bảo mật và sự uyển chuyển cao. Thế nhưng, mọi hệ thống dù an toàn đến đâu cũng dễ dàng bị xâm nhập nếu người dùng (và nhất là người quản trị – root) không đặt sự bảo mật lên hàng đầu. Sau đây là một số kinh nghiệm về bảo mật trên hệ điều hành Red Hat tôi muốn chia sẻ cùng các bạn và hi vọng công việc quản trị của bạn sẽ an toàn hơn.

Continue reading

Sự khác nhau chủ yếu giữa các Linux distro

Sự khác nhau chủ yếu dựa vào 2 yếu tố:

  • Thị trường mà distro muốn nhắm đến, ví dụ dành cho máy chủ, doanh nghiệp, siêu máy tính, người dùng cuối…
  • Tùy thuộc vào triết lí phần mềm của từng distro mà những người phát triển quyết định gắn bó lâu dài với distro đó hay không.

Các distro phổ biến và phát triển bền vững hiện nay có thể được chia thành 4 nhóm:

(1) Arch (archlinux.org), Gentoo (gentoo.org), Slackware (slackware.com): Các distro nhắm vào người dùng am hiểu về hệ thống Linux. Hầu hết phương thức xây dựng và cấu hình hệ thống đều phải thực hiện qua môi trường dòng lệnh.

(2) Debian (debian.org), Fedora (fedoraproject.org): Các distro cũng nhắm vào những người dùng am hiểu hệ thống, tuy nhiên cung cấp nhiều công cụ hơn cho những người chưa thật sự hiểu rõ hoàn toàn về Linux. Nhóm này tương đối thân thiện với người dùng mới bắt đầu hơn nhóm (1). Tuy nhiên, các distro nhóm này lại có một quy trình phát triển và kiểm tra chất lượng các gói phần mềm cực kì khắt khe so với các distro còn lại. Để trở thành một lập trình viên chính thức của Debian hay Fedora cần phải có thời gian đóng góp khá dài, và phải được chứng nhận bởi các lập trình viên khác. Do vậy, môi trường để lập trình và nghiên cứu ở 2 distro này khá tốt.

(3) Centos (centos.org), RHEL (redhat.com/rhel), SUSE EL (novell.com/linux): Các distro này chủ yếu nhắm vào thị trường doanh nghiệp, cơ quan, thị trường máy chủ… Các dòng distro này có nhiều đặc tính phù hợp cho mảng thị trường đòi hỏi sự ổn định cao như: thời gian ra phiên bản mới thường khá lâu (3 – 5 năm tùy distro); dịch vụ hỗ trợ thương mại cho các công ty, tổ chức sử dụng sản phẩm; ít sử dụng các công nghệ mới nhất (thường kém ổn định) mà tập trung phát triển trên các công nghệ lâu đời và đáng tin cậy hơn.

(4) Ubuntu (ubuntu.com), Open SUSE (opensuse.org): Nhóm các distro nhắm đến người dùng cuối và người mới bắt đầu sử dụng Linux. Đặc tính của các distro này là thời gian phát hành ngắn, ứng dụng liên tục các công nghệ mới với nhiều công cụ đồ họa để cấu hình hệ thống, thiết kế với mục đích dễ dùng, dễ làm quen, không cần đọc tài liệu đối với người mới.

Xét về triết lí phần mềm (software philosophy), nó chỉ đơn giản là bộ các quy tắc, định hướng, mục tiêu mà những người phát triển một phần mềm đặt ra hay đi theo triết lí do người khác đặt ra để phát triển sản phẩm của mình nhưng phải tuân thủ theo các triết lí đó. Ví dụ triết lí của Microsoft Windows là dễ sử dụng, ít cấu hình thì triết lí của Mac OS X lại là bóng bẩy, thanh lịch… Các distro Linux cũng có những triết lí riêng ví dụ: Nhóm (1) là cấu trúc gọn nhẹ, uyển chuyển để có thể xây dựng một hệ thống hoàn toàn tuân theo ý của mình. Nhóm (2) lại nhắm đến việc chuẩn hóa, chuyên môn hóa quá trình phát triển phần mềm nhằm tạo ra một hệ thống hoạt động nhịp nhàng, ăn khớp và hạn chế lổ hỗng bảo mật. Nhóm (3) phát triển theo hướng bền vững, chuyên nghiệp, cung cấp dịch vụ hỗ trợ dài hạn, cung cấp sản phẩm có vòng đời kéo dài (lên tới 7 năm). Nhóm (4) cung cấp những công nghệ mới nhất, những hiệu ứng đồ họa bắt mắt ngay sau khi cài đặt, không cần phải cấu hình nhiều…

Xem bài viết đầy đủ.

Nguồn: Quantrimang (theo PCWorld)

Bản quyền và giấy phép Phần mềm Tự do Nguồn mở

(NHQ – Dịch và giới thiệu – Đã đăng tải trên tạp chí Tin học & Đời sống số tháng 9-10 / 2009)

Những nguyên tắc cơ bản

Các chương trình nguồn mở không phải là những chương trình không giấy phép. Ngược lại, chính giấy phép của chúng đã làm chúng thành nguồn mở. Chúng cũng không phải nằm trong miền công cộng (public domain), nghĩa là không phải của riêng ai, hoặc chí ít được miễn trừ quyền di sản.

Khi một nhà phát triển viết một chương trình, anh ta giữ quyền tác giả, hay bản quyền (copyright). Trong một số trường hợp, có thể hãng làm việc của anh ta nắm giữ các quyền đó. Và cái bản quyền này có thể được bán, như một tài sản phi vật chất, từ hãng này qua hãng khác.

Người giữ bản quyền được quyền tự do định ra chương trình của anh ta có thể được sử dụng như thế nào?:

Continue reading

Hacker thực thụ

Có bao giờ bạn muốn trở thành… hacker? Từ giữa thế kỷ trước, từ “hack” thường được dùng trong cộng đồng các chuyên gia máy tính với câu nói cửa miệng “I hack around with computer”, được hiểu là “tôi… quậy máy tính”.

Trong bối cảnh như vậy, hacker được xem là người nắm vững hệ thống, có khả năng vượt qua những thách thức kỹ thuật, biến “không thể” thành “có thể”. Để giúp mọi người hiểu thêm về cộng đồng hacker và văn hoá hacker, xin lược dịch bài viết của Eric Raymond – một trong những hacker có uy tín.

Lâu nay, trên báo chí và trong cộng đồng, hack và hacker được hiểu với một nghĩa xấu, đồng nghĩa với tội phạm máy tính. Thật ra, về nguyên thuỷ, thuật ngữ hack được dùng để chỉ những kỳ công ngoạn mục của những tài năng lập trình khác thường; trong đó, người lập trình đã tìm ra được giải pháp cho một vấn đề nào đó đầy tính thách thức, theo một phương pháp mới mẻ và đầy sáng tạo. Bạn có thể tham khảo từ những từ điển trực tuyến như Wikipedia, Webopedia, Whatis… Thế nhưng, do có những kẻ khai thác tài năng lập trình của mình để thực hiện những “trò chơi ác”, gây hại cho hệ thống máy tính của người khác, … thuật ngữ hack và hacker đã bị “nhuộm đen” – điều mà những hacker thực thụ đau lòng. Ở đây là bài biết của Eric Raymond, một trong những hacker thực thụ rất có uy tín trong cộng đồng mã nguồn mở thế giới. Ông cố gắng giúp cộng đồng hiểu “Hacker – thật sự anh là ai?”

Continue reading

Bạn nên đi theo ngôn ngữ nào? Java hay .NET!

“Bài viết này tôi đã được đọc cách đây khoảng 3 năm trước. Hôm nay tình cờ đọc lại bài này và chia sẽ.”

Chào các bạn,

J2EE (có thể tạm gọi là Java) hoặc .NET để tiếp tục con đường khởi nghiệp vào đời. Trong khoảng thời gian này số lượng các bạn hỏi tôi về việc nên chọn hướng nào tăng lên đột biến. Các bạn đang rất phân vân khi không biết chọn hướng nào, có bạn đã định hướng trước là chọn Java nhưng nghe nói .NET hay quá cũng phân vân, có bạn chọn .NET rồi nhưng lại thấy tiếc, có bạn muốn chọn cả hai thì sợ mình kham không nổi.

Bài viết này không nhằm vào mục đích so sánh khía cạnh kỹ thuật giữa hai công nghệ J2EE và .NET mà sẽ đi vào phân tích xem bạn nên chọn đi hướng nào và tại sao.

Continue reading

Phân biệt các khái niệm UNIX, UNIX-Based và UNIX-Like

Đối với những ai tham gia vào thế giới của các hệ điều hành thuộc dòng họ UNIX (mà thường được gọi chung là các hệ điều hành *nix) như  GNU/Linux, GNU, FreeBSD, NetBSD, OpenBSD, Solaris, Open Solaris, IBM AIX, HP-UX, Mac OSX thì ắt hẳn sẽ có đôi khi còn có những sự nhập nhằng khi hiểu về 3 khái niệm thường dùng để chỉ các nhánh khác nhau trong gia đình *nix đó là UNIX, UNIX-BasedUNIX-Like. Bài viết sau đây có mục đích gạn lọc và làm sáng tỏ hơn về vấn đề này.

1. Xét về mặt lịch sử:

UNIX là hệ điều hành được nhóm các chuyên gia tại phòng thí nghiệm AT&T Bell Labs viết ra vào khoảng thập niên 70 của thế kỉ 20.

Sau đó, nhiều công ty, trường đại học cũng đã phát triển những hệ điều hành dựa trên cấu trúc UNIX cho riêng mình, ví dụ như:

  • Berkerly UNIX của trường UCB
  • AIX của IBM
  • UX của HP
  • SunOS của Sun

Các hệ điều hành này có cấu trúc, phương thức hoạt động và mã nguồn rất giống với UNIX nguyên thuỷ từ Bell Labs, do đó người ta gọi chúng là các hệ điều hành UNIX-based.

Ngoài ra, trong khoảng thời gian từ những năm 80s trở lại đây, một số nhóm/cá nhân/công ty đã phát triển những hệ điều hành có nguyên lí thiết kế gần giống với UNIX nguyên thủy (tức là phát triển dựa trên UNIX Philosophy, chứ không phải dựa trên mã nguồn của UNIX nguyên thủy) và được gọi là các hệ điều hành UNIX-like. Trong số đó ta có thể kể đến:

  • Solaris của Sun (phát triển tiếp tục dựa trên SunOS)
  • GNU của GNU project
  • BSD (phát triển dựa trên Berkerly UNIX)
  • GNU/Linux

Như vậy, đó là 3 khái niệm UNIX, UNIX-based UNIX-like xét theo mặt lịch sử. Tuy nhiên ngày nay thì UNIX nguyên thủy từ AT&T Bell Lab đã không còn tồn tại, cho nên dần dần người ta bắt đầu phân chia gia đình UNIX theo cấu trúc của hệ điều hành (như đề cập dưới đây).

2. Xét về mặt cấu trúc hệ điều hành

Sau một quá trình lịch sử thì mã nguồn UNIX gốc được chuyển về cho SCO group ngày nay còn thương hiệu UNIX được nắm giữ bởi The Open Group. The Open Group đã đưa ra một hệ thống tiêu chuẩn được gọi là “Single UNIX Specificationbất kì hệ điều hành nào có được đầy đủ các tiêu chuẩn được quy định và được chứng nhận bởi The Open Group sẽ được mang tên thương hiệu là UNIX. Còn các hệ điều hành khác không tham gia vào hệ thống tiêu chuẩn này nhưng có nhiều điểm tương đồng với các nguyên tắc thiết kế của UNIX thì thường được gọi là UNIX-like.

Các hệ điều hành nổi tiếng đã tham gia hệ thống Single UNIX Specification (tức là được chứng nhận là UNIX):

  • IBM AIX
  • HP-UX
  • SCO Unixware
  • SCO OpenServer
  • Sun Solaris
  • Mac OS X “Leopard” (on Intel processors)

Ngoài ra các hệ điều hành sau không tham gia hệ thống chứng nhận trên và được gọi là UNIX-like:

  • BSD
  • GNU/Linux
  • GNU (still under development, no stable release yet)
  • Mac OS (tất cả phiên bản trừ Mac OS X Leopard chạy trên các bộ xử lí Intel)
  • Open Solaris

Các nhà phát triển của BSD và GNU/Linux không đưa sản phẩm của mình vào hệ thống chứng nhận này vì 2 lí do: chi phí của việc chứng nhận và sự thay đổi quá nhanh chóng trong quá trình phát triển 2 hệ điều hành này dẫn đến chi phí để duy trì thương hiệu UNIX sẽ trở nên khổng lồ.

Nguồn: http://projektantos.wordpress.com

Trọn bộ video học Linux

Trọn bộ video học Linux, hướng dẫn thực hành trên Fedora Core 2 và tài liệu học CentOS.

Link (đầy đủ): http://www.megaupload.com/?f=VC1F847Q
Mirror: http://www.mediafire.com/?bh7j110rj8dbx

Chi tiết:

megaupload.com/?d=ZC2G9ILF  01-Cai-he-dieu-hanh-Linux.wmv
megaupload.com/?d=84YEJCLJ  02-Tim-hieu-giao-dien-do-hoa.wmv
megaupload.com/?d=AV3RNXOB  03-Text-mode-va-mot-so-lenh-co-ban.wmv
megaupload.com/?d=BMZZ4SKN  04-Cai-dat-Mayin-Modem-Cardmang.wmv
megaupload.com/?d=XD5MQLJH  05-Cai-dat-font.wmv
megaupload.com/?d=DUXHK0TA  06-Cac-thao-tac-tren-filesystem.wmv
megaupload.com/?d=FIBLQHUN  07-Chia-partition-su-dung-cdrom-usb.wmv
megaupload.com/?d=USCKMM3S  08-Quan-ly-phan-mem.wmv
megaupload.com/?d=NQHT59Z1  09-Tien-ich-vi-gom-file-nen-file.wmv
megaupload.com/?d=37LORPG3  10-Tim-hieu-va-su-dung-cac-tien-ich.wmv
megaupload.com/?d=PWAYNJM0  11-Quan-ly-nguoi-dung-tren-giao-dien-text.wmv
megaupload.com/?d=2JUAVSAO  14-Thiet-lap-han-ngach-dia-cho-nguoi-dung.wmv
megaupload.com/?d=CNFT029D  15-Cau-hinh-mang.wmv
megaupload.com/?d=JM5Z2AZR  16-Cau-hinh-mang-2.wmv
megaupload.com/?d=9LMWKKWJ  17-Cau-hinh-telnet-ssh-vpn-server.wmv
megaupload.com/?d=TVIISO94  18-Cau-hinh-DHCP-server.wmv
megaupload.com/?d=SBA5E6HD  19-Chia-se-tai-nguyen-nguoi-dung-chung-may-in.wmv
megaupload.com/?d=QNTXP990  20-Quan-tri-Samba-GUI.wmv
megaupload.com/?d=XMY8YG13  21-Quan-tri-Samba-SWAT.wmv
megaupload.com/?d=2F3QHBEA  22-Cau-hinh-NFS-tren-textmode.wmv
megaupload.com/?d=OGD18S2M  23-Cau-hinh-NFS-tren-GUI.wmv
megaupload.com/?d=89TR7Z54  24-Mot-so-bai-toan-co-ban-tren-Shell-Scripts.wmv
megaupload.com/?d=SH7P1BUS  25-Chuong-trinh-shell-tao-Ip-Alias.wmv
megaupload.com/?d=DR8SXWUD  26-Chuong-trinh-shell-thong-ke-ket-noi-mang.wmv
megaupload.com/?d=19J6F84R  27-Cac-thao-tac-co-ban-tren-tien-trinh.wmv
megaupload.com/?d=3OIQQ82O  28-Thay-doi-thong-tin-tren-tien-trinh.wmv
megaupload.com/?d=B51HUTI9  29-Lap-lich-bieu.wmv
megaupload.com/?d=OZPQYLBM  30-Cau-hinh-DNS-cho-mang-noi-bo.wmv
megaupload.com/?d=UGXD8M22  31-Thiet-lap-DNS-quan-ly-mien-con.wmv
megaupload.com/?d=QJOOK28E  32-Thiet-lap-DNS-quan-ly-nhieu-mien-con.wmv
megaupload.com/?d=GF34WAWV  33-Thiet-lap-DNS-quan-ly-du-phong.wmv
megaupload.com/?d=CH90XS04  34-Chia-se-tai-nguyen-qua-FTP-server.wmv
megaupload.com/?d=2VX2CYCC  35-Cau-hinh-upload-du-lieu-FTP-server.wmv
megaupload.com/?d=M3HFAH03  36-Tao-nhieu-FTP-site.wmv
megaupload.com/?d=9TH93FOR  37-Gioi-han-truy-xuat-FTP.wmv
megaupload.com/?d=51L2TS4C  38-Cau-hinh-Apache-web-server.wmv
megaupload.com/?d=E5RNENZB  39-Cau-hinh-publish-tai-nguyen-web.wmv
megaupload.com/?d=WAAVCXPH  40-Tao-web-cho-nguoi-dung.wmv
megaupload.com/?d=HMOZCWPL  41-Cap-quyen-truy-xuat-tai-nguyen-cho-nguoi-dung.wmv
megaupload.com/?d=LAUSJ5LC  42-Cap-quyen-truy-xuat-tai-nguyen-web-cho-nguoi-dung.wmv
megaupload.com/?d=3ERY20WH  43-Cau-hinh-hosting-website.wmv
megaupload.com/?d=IQ1JKF37  44-Thiet-lap-he-thong-mail-noi-bo.wmv
megaupload.com/?d=X4WH4EDD  45-Thiet-lap-he-thong-mail-trao-doi-cho-nhieu-mien.wmv
megaupload.com/?d=R7LV6XD9  46-Kiem-soat-email-cho-nguoi-dung.wmv
megaupload.com/?d=HW1ZLYLP  47-To-chuc-webmail.wmv
megaupload.com/?d=CNC5PP2G  48-Cau-hinh-chia-se-internet-thong-qua-proxy.wmv
megaupload.com/?d=QMHHVNLL  49-Gioi-han-ket-noi-internet.wmv
megaupload.com/?d=VNFPTUQF  50-Quan-ly-cache-va-log.wmv
megaupload.com/?d=2ILJCFQJ  51-Thiet-lap-firewall.wmv
megaupload.com/?d=8ZBYCM0Y  52-Cau-hinh-chia-se-internet-thong-qua-firewall.wmv
megaupload.com/?d=7LML60RY  53-LiNuxLAB.doc
megaupload.com/?d=DVRKUYYX  54-Cau-hinh-publish-server.wmv
megaupload.com/?d=JDO1JUK0  55-Cau-hinh-publish-nhieu-server-thongqua-coche-nat-port-..
megaupload.com/?d=GOS38T3N  56-Thiet-lap-cau-hinh-he-thong-qua-web.wmv
megaupload.com/?d=WDZFQAYN  57-Thiet-lap-moi-truong-weblogin-cho-nguoi-dung.wmv
megaupload.com/?d=RWRLD7FJ  58-Thiet-lap-cau-hinh-mang-qua-web.wmv
megaupload.com/?d=N5VSMNKW  59-Cau-hinh-dich-vu-qua-web.wmv

Sưu tập từ: vn-zoom.com, ubuntu-vn.org

[FAQ] Make – không liên quan tới lập trình ?

Em thấy trong một số phần mềm họ chỉ cho source rồi tự mình make – make install, cho hỏi tại sao họ ko compile rồi đưa mình mà mình phải tự compile? (snoob)

[MrTux]
Đã compile rồi thì sao bạn tùy chỉnh được mã nguồn hay thậm chí đơn giản hơn là các options?

[banhbaochay]
Compile phải dựa vào hệ điều hành sử dụng, tức là compile cho U 10.04 sẽ ra cái khác, mà compile cho openSUSE sẽ ra cái khác, chính vì thế họ mới chỉ đưa mình source để tự compile.
Còn các bản compile sẵn cho từng hệ điều hành theo mình hiểu đó chính là các bản cài đặt ngay cho hệ điều hành đó.

[truongan]
Thế này nhá, PMNM công khai mã nguồn (1).
Đa số PMNM được viết trên ngôn ngữ C/C++, đây là 1 ngôn ngữ đa nền tảng. Nghĩa là nó có thể chạy đc trên các vi xử lí của Intel/AMD, và các vi xử lí khác kể cả không thuộc x86 (2).
Từ (1)(2)(3)=>Người dùng tự biên dịch, hết phim.

[vieniav]
Nếu bạn là người lập trình chắc bạn cũng sẽ rất ngán cảnh phải ngồi dịch cho từng platform, OS, distro, v.v… nên đưa source là khỏe nhất. Hơn nữa, để phần mềm của bạn đưa vào một Linux distro nào đó thì cung cấp mã nguồn là điều bắt buộc. Thế giới mã nguồn mở mà.

[Lumiere du Soleil]
1 – Nguồn mở => người khác có thể thay đổi, sửa chữa, viết thêm => chương trình phát triển.
2 – Cùng 1 chương trình nhưng compile ra để có thể chạy được không giống nhau trên các máy khác nhau: do khác biệt về phần cứng, dễ thấy nhất là CPU, CPU Intel khác CPU AMD, câu lệnh thực thi khác nhau nên cách compile ra cũng phải khác nhau; khác biệt về hệ điều hành: mỗi hệ điều hành cung cấp dịch vụ, thư viện … để chạy chương trình khác nhau nên ko thể vác cái đã compile cho cái này chạy trên kia được, ngoài ra còn khác biệt về code nữa (vì vậy mới cần nguồn mở để sửa).

[bulubuloa]
vì nó nên thành viên của forum này mới ngày càng đông đó bạn — i love linux

Tổng hợp trên ubuntu-vn.org