Debian và Ubuntu khác nhau thế nào khi chọn server?
Ubuntu bắt đầu từ snapshot của Debian unstable năm 2004. Sau 22 năm, hai hệ thống vẫn chung package nhưng khác lịch phát hành, hỗ trợ và mặc định.
Vì sao Debian và Ubuntu tách thành hai dự án
Debian và Ubuntu tách thành hai dự án vào năm 2004 vì lịch phát hành, không phải vì mã nguồn. Debian phát hành bản ổn định khi đội ngũ phát hành đánh giá rằng bản đó đã sẵn sàng. Ubuntu cam kết phát hành bản mới 6 tháng một lần theo ngày đã định trước. Vì vậy, Ubuntu lấy một bản sao từ nhánh phát triển của Debian, đóng băng mã nguồn, sửa các phần bị lỗi rồi phát hành.
Hai mươi hai năm sau, hai dự án vẫn dùng chung định dạng package và các công cụ quản lý package. Phần lớn công việc đóng gói phía sau hai hệ thống này chỉ cần thực hiện một lần. Tuy nhiên, chúng không dùng chung lịch phát hành, hợp đồng hỗ trợ hoặc quan điểm về những thành phần nên có trong bản cài đặt mặc định. Đây là điểm khác biệt hữu ích khi bạn chọn hệ điều hành cho server, vì nó giúp phân biệt những khác biệt chỉ mang tính hình thức với những khác biệt có thể khiến bạn mất cả buổi chiều để xử lý.
Ubuntu bắt nguồn từ đâu
Ian Murdock thành lập Debian Project vào ngày 16 tháng 8 năm 1993. Đến năm 2004, Debian là distribution do tình nguyện viên vận hành lớn nhất khi đó, nhưng tốc độ phát hành chậm. Debian 3.0 "woody" được phát hành ngày 19 tháng 7 năm 2002, còn bản kế nhiệm Debian 3.1 "sarge" phải đến ngày 6 tháng 6 năm 2005 mới xuất hiện. Hai bản stable cách nhau gần 3 năm. Trong khoảng thời gian đó, người muốn chạy phần mềm mới trên Debian server không có lựa chọn nào được Debian hỗ trợ.
Tháng 4 năm 2004, Mark Shuttleworth mời khoảng một chục Debian developer đến căn hộ của ông ở London để lập kế hoạch cho một hệ thống dựa trên Debian, có lịch phát hành cố định. Ông cũng thành lập Canonical Ltd để tuyển dụng họ. Bản phát hành đầu tiên, Ubuntu 4.10 "Warty Warthog", xuất hiện 6 tháng sau, vào ngày 20 tháng 10 năm 2004. Số phiên bản là ngày phát hành: 4.10 nghĩa là tháng 10 năm 2004, còn 26.04 nghĩa là tháng 4 năm 2026.
Ubuntu chưa bao giờ là một fork theo nghĩa thông thường. Một fork sao chép codebase một lần rồi tách khỏi dự án gốc. Ubuntu lại sao chép Debian trong mỗi cycle. Các package được lấy từ Debian unstable, branch rolling mà Debian gọi là sid, và bản sao đó được tự động cập nhật trong những tuần đầu của mỗi Ubuntu cycle. Sau import freeze, Ubuntu developer phải tự đưa từng package tiếp theo sang Ubuntu và giải trình package đó theo các quy tắc freeze. Cây phả hệ rộng hơn của các Linux distribution có rất nhiều fork thực sự. Ubuntu không phải một fork như vậy. Đây là một downstream tồn tại lâu dài.
Những gì hai dự án vẫn dùng chung
Phần dùng chung lớn hơn nhiều so với phần khác biệt. Cả hai đều sử dụng định dạng package .deb, với dpkg ở bên dưới và apt ở bên trên. Cả hai cũng tuân theo Debian Policy về vị trí cài đặt file và cách package khai báo dependency. Tài liệu dành cho developer của Ubuntu cho biết khoảng bốn trong năm source package được sao chép từ Debian mà không sửa đổi gì. Maintainer sửa một bug trong Debian cũng đang sửa bug đó cho người dùng Ubuntu, thường là cả hai bên đều không nhận ra.
Khi Ubuntu thay đổi một package, version string sẽ cho biết điều đó. 1.2.3-4 của Debian trở thành 1.2.3-4ubuntu1, và suffix này đánh dấu thay đổi cục bộ, được cả hai dự án gọi là delta. Ubuntu công bố đầy đủ delta cho mọi package mà họ thay đổi và gửi patch lên package tracking system của Debian. Nhờ đó, maintainer Debian có thể xem downstream đã làm gì và tiếp nhận thay đổi nếu muốn.
Việc đó có đủ hay không đã được tranh luận từ năm 2005. Cần trình bày vấn đề một cách thẳng thắn thay vì đứng về một bên. Từ phía Debian, phàn nàn nằm ở nơi công sức được đổ vào: Canonical trả lương cho người làm việc ở downstream, downstream thu hút user và sự chú ý, còn việc đưa một bản sửa lên upstream là công việc bổ sung mà không ai được trả tiền để làm. Từ phía Ubuntu, thời hạn 6 tháng không phù hợp với một dự án không có thời hạn. Vì vậy, không phải lúc nào chờ Debian cũng là một lựa chọn. Cả hai nhận định đều đúng. Tuy nhiên, chưa nhận định nào ngăn được các package tiếp tục được chuyển qua lại.
Phát hành khi sẵn sàng, không theo một ngày cố định trên lịch
Ngày phát hành của Debian là kết quả, không phải lời cam kết. Debian 12 "bookworm" được phát hành vào ngày 10 tháng 6 năm 2023 và Debian 13 "trixie" vào ngày 9 tháng 8 năm 2025, cách nhau khoảng hai năm, nhưng không có gì bảo đảm khoảng thời gian tiếp theo sẽ tương tự. Nhánh testing hiện tại có tên "forky" và chưa có ngày phát hành, vì Debian không công bố ngày này cho đến khi số lượng lỗi nghiêm trọng đối với việc phát hành cho thấy hệ thống đã sẵn sàng.
Ngày phát hành của Ubuntu là lời cam kết. Một bản phát hành được phát hành mỗi 6 tháng, và cứ bản thứ tư, vào tháng 4 của một năm chẵn, là bản phát hành LTS (hỗ trợ dài hạn). Ubuntu 26.04 LTS "Resolute Raccoon" được phát hành vào ngày 23 tháng 4 năm 2026, đúng lịch. Các bản phát hành xen kẽ là bản phát hành tạm thời và chỉ nhận được 9 tháng cập nhật. Vì vậy, chúng không phù hợp với server mà bạn không muốn phải rebuild 2 lần mỗi năm. Việc chọn Ubuntu LTS hay bản phát hành tạm thời trên server phụ thuộc vào con số 9 tháng đó.
Chu kỳ phát hành quyết định lịch nâng cấp của bạn. Đây là hệ quả thực tế quan trọng nhất của sự khác biệt này. Với Ubuntu LTS, bạn biết trước nhiều năm rằng lần nâng cấp tại chỗ tiếp theo sẽ diễn ra vào tháng 4 của một năm chẵn. Vì vậy, việc nâng cấp từ Ubuntu 24.04 lên 26.04 có thể được lên kế hoạch trước khi 26.04 tồn tại. Với Debian, bạn theo dõi các thông báo đóng băng và lên lịch thực hiện khi bản phát hành thực sự được phát hành.
Những thay đổi của LTS
Ubuntu 6.06 LTS "Dapper Drake" được phát hành vào ngày 1 tháng 6 năm 2006 và là bản LTS đầu tiên. Trước đó, Ubuntu là một hệ thống phát triển nhanh, thay thế phiên bản hai lần mỗi năm. Đây không phải nền tảng mà doanh nghiệp có thể dùng để xây dựng máy chủ production. LTS đã thực hiện một việc quan trọng: đặt ngày kết thúc hỗ trợ ở tương lai đủ xa để có thể lập kế hoạch dựa trên đó. Thay đổi này đã đưa Ubuntu trở thành bản phân phối máy chủ mặc định. Chu kỳ 6 tháng cung cấp nền tảng cho mô hình này, vì mỗi bản LTS được xây dựng từ những thay đổi đã được kiểm thử và ổn định trong các bản phát hành giữa hai bản LTS.
Debian đạt đến kết quả tương tự theo hướng khác. Bản stable của Debian vốn đã có chu kỳ phát triển chậm. Dự án Debian LTS tiếp tục kéo dài thời gian hỗ trợ cho từng bản sau khi đội bảo mật của Debian kết thúc giai đoạn hỗ trợ của mình.
Ai hỗ trợ bạn và hỗ trợ trong bao lâu
The data behind this chart
[
{
"label": "Debian stable",
"support_duration": 3
},
{
"label": "Debian LTS",
"support_duration": 5
},
{
"label": "Debian ELTS, paid",
"support_duration": 10
},
{
"label": "Ubuntu LTS",
"support_duration": 5
},
{
"label": "Ubuntu Pro ESM",
"support_duration": 10
},
{
"label": "Ubuntu Pro plus Legacy",
"support_duration": 15
}
]Đội bảo mật của Debian hỗ trợ một bản stable trong 3 năm. Sau đó, đội Debian LTS, được Debian mô tả là một nhóm gồm các tình nguyện viên và công ty chứ không phải đội bảo mật và đội phát hành chính thức, tiếp tục hỗ trợ bản đó đến 5 năm. Thời điểm chuyển giao thể hiện rõ trong các mốc hiện tại: bookworm chuyển sang LTS vào ngày 11 June 2026 và được hỗ trợ đến 30 June 2028, còn bullseye kết thúc giai đoạn LTS vào ngày 31 August 2026. Sau thời điểm đó, Freexian cung cấp Extended LTS, hay ELTS, đến 10 năm, nhưng chỉ áp dụng cho nhóm package mà khách hàng trả phí thực sự sử dụng.
Một bản Ubuntu LTS được Canonical bảo trì bảo mật tiêu chuẩn trong 5 năm. Gói thuê bao Ubuntu Pro tăng thời gian này lên 10 năm thông qua ESM (expanded security maintenance), áp dụng cho cả main và universe; add-on Legacy tăng tiếp lên 15. Tính đến August 2026, Ubuntu Pro miễn phí cho mục đích cá nhân trên tối đa năm máy, nên trên một VPS duy nhất, thời hạn mười năm là có thật mà không cần mua gói. Pro cũng cung cấp livepatch, đây là cách được hỗ trợ để vá kernel trực tiếp trên VPS mà không phải reboot sau mỗi bản cập nhật bảo mật của kernel.
Cấu trúc đứng sau các con số đó quan trọng hơn chính các con số. Với Ubuntu, bạn mua hỗ trợ từ chính công ty xây dựng distribution này. Với Debian, không có công ty như vậy, nên hỗ trợ trả phí đến từ bên thứ ba như Freexian, từ nhà cung cấp hosting hoặc từ chính đội ngũ của bạn.
Hệ thống init và cuộc bỏ phiếu chấm dứt tranh luận
Khác biệt kỹ thuật lớn nhất là hệ thống init: tiến trình đầu tiên kernel khởi động và là tiến trình giám sát mọi service sau đó. Ubuntu 6.10 "Edgy Eft", phát hành vào 26 October 2006, dùng Upstart, được viết tại Canonical. Debian tiếp tục dùng sysvinit trong nhiều năm khi tranh luận diễn ra. Technical Committee của Debian giải quyết vấn đề bằng một cuộc bỏ phiếu kết thúc vào 11 February 2014. Chủ tịch đã dùng lá phiếu quyết định để ủng hộ systemd cho Debian 8.
Ubuntu làm theo chỉ vài ngày sau đó. Bài viết của Shuttleworth về quyết định này có tiêu đề "Losing graciously" và nêu rõ lý do: Ubuntu về bản chất là một thành viên của gia đình Debian, nên sẽ áp dụng kết quả đó. Ubuntu 15.04 dùng systemd làm mặc định từ 23 April 2015. Debian 8 "jessie" cũng làm vậy vào 26 April 2015, tức là 3 ngày sau.
Sự hội tụ này là lý do hầu hết tutorial về service có thể dùng cho cả hai hệ điều hành mà không cần chỉnh sửa. Unit file, systemctl và journalctl hoạt động giống nhau trên cả hai. Debian 13 dùng systemd 257 và Ubuntu 26.04 LTS dùng systemd 259. Vì vậy, điểm khác nhau giữa chúng ở đây là số phiên bản, không phải thiết kế.
Snap và phần không thể chuyển sang
Ubuntu 16.04 LTS giới thiệu các gói snap vào năm 2016, và 18.04 là bản phát hành đầu tiên cung cấp một số ứng dụng mặc định dưới dạng snap. Một snap là một bundle độc lập, chứa bản sao riêng của các dependency, nên dự án upstream có thể phát hành phiên bản mới cho tất cả bản Ubuntu được hỗ trợ cùng lúc, thay vì phải chờ archive cập nhật.
Lý do không có bản phân phối lớn nào khác dùng snap làm mặc định không nằm ở định dạng này. Client snapd chỉ kết nối với một store do Canonical vận hành, và phần server của store đó không phải mã nguồn mở. Vì vậy, bản phân phối dùng snap sẽ giao một phần việc phân phối phần mềm cho vendor khác. Debian không làm vậy và không cài snapd theo mặc định.
Đây là lúc các hướng dẫn của upstream âm thầm không còn hoạt động. Certbot là ví dụ rõ nhất: tài liệu của chính dự án khuyến nghị cài đặt từ snap và cảnh báo rằng các gói của bản phân phối “thường nhanh chóng lỗi thời trên các bản phân phối kiểu LTS”. Làm theo trang đó trên Ubuntu thì sẽ hoạt động. Làm theo trên một server Debian nguyên bản thì ngay bước đầu tiên đã không có gì để chạy. Vì lý do đó, hướng dẫn Certbot cho Nginx trên Ubuntu 24.04 của chúng tôi dùng gói của bản phân phối.
Kernel, firmware và vấn đề non-free
Social Contract và DFSG (Debian Free Software Guidelines) của Debian quy định những gì được đưa vào main. Mọi thứ khác được đưa vào contrib và non-free. Trong phần lớn lịch sử của Debian, nhóm này bao gồm các binary firmware mà phần cứng mạng và lưu trữ thông thường cần có trước khi hoạt động. Sau một General Resolution vào năm 2022, Debian 12 đã bổ sung một khu vực archive non-free-firmware riêng. Các image installer chính thức cũng đã tích hợp firmware này từ đó.
Ubuntu chọn hướng ngược lại ngay từ đầu. Archive của Ubuntu được chia thành main và restricted. Canonical hỗ trợ hai khu vực này, trong đó restricted bao gồm các driver độc quyền. Ngoài ra còn có universe và multiverse, do cộng đồng duy trì. Trên VPS, khác biệt này không lớn vì phần cứng ảo hầu như không cần firmware. Trên máy chủ dedicated, đây có thể là khác biệt giữa việc card mạng hoạt động và không hoạt động.
Kernel cũng khác nhau theo cùng tiêu chí. Tính đến tháng 8 năm 2026, Ubuntu 26.04 LTS dùng Linux 7.0, còn Debian 13 dùng Linux 6.12. Ubuntu cũng cập nhật kernel trong suốt vòng đời của một LTS thông qua các hardware enablement stack. Debian giữ nguyên một dòng kernel trong suốt vòng đời của bản stable và cung cấp các kernel mới hơn qua backports. Kernel mới hơn có nghĩa là hỗ trợ tốt hơn cho các thiết bị virtio và filesystem mới. Kernel cũ hơn có nghĩa là hành vi bạn đã kiểm thử vào tháng 1 vẫn là hành vi bạn nhận được vào tháng 12.
Điều gì hỏng khi bạn làm theo hướng dẫn dành cho hệ điều hành kia
Phần lớn thời gian, hướng dẫn viết cho hệ điều hành này vẫn hoạt động trên hệ điều hành kia. Lỗi thường tập trung ở một số điểm đã biết.
- Repository apt của bên thứ ba được phát hành theo từng distribution và codename. Vendor hỗ trợ
noblevàjammycó thể không phát hành gì chotrixie, khiến lỗi trông giống sự cố mạng thay vì quyết định chính sách. - PPA trên Launchpad chỉ build cho các series Ubuntu cụ thể. Thêm một PPA vào Debian sẽ kéo về các binary liên kết với phiên bản library của Ubuntu. Việc này có thể tình cờ hoạt động hoặc kéo một phần lớn runtime của Ubuntu vào hệ thống.
- Những phần giả định có snapd, gói thuê bao Ubuntu Pro hoặc livepatch của Canonical không có bước tương đương trên Debian. Vì vậy, bạn phải thay thế các phần đó thay vì điều chỉnh nguyên trạng.
- Image mặc định khác nhau ở tài khoản dùng để đăng nhập. Image Ubuntu thường cung cấp user
ubuntucó sudo và không có mật khẩu root. Image Debian thường cung cấp userdebian. Image của từng provider có thể khác nhau. Hãy kiểm tra image của bạn trước khi thay đổi bất kỳ thiết lập nào liên quan đến SSH.
Khi repository không có suite cho release của bạn, apt sẽ báo rất rõ:
E: The repository 'https://download.example.com/linux/debian forky Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.Thông báo đó có nghĩa là vendor chưa từng phát hành package cho codename của bạn. Mirror không bị hỏng và thử lại cũng không khắc phục được. Vendor có hỗ trợ release của bạn hay không là vấn đề duy nhất.
Vậy bạn nên chọn hệ nào?
Chọn Ubuntu LTS nếu bạn muốn có thể đưa thời điểm nâng cấp vào lịch từ nhiều năm trước và muốn mua hỗ trợ từ một nhà cung cấp duy nhất. Chọn Debian stable nếu bạn muốn bản cài mặc định gọn hơn, không có một công ty duy nhất đứng giữa, và muốn một nền tảng thay đổi đủ chậm để vận hành ổn định, ít bất ngờ.
Những phần còn lại có thể chuyển đổi dễ dàng. Cả hai đều dùng apt, đều tuân theo Debian Policy và đều chạy cùng các ứng dụng từ cùng một định dạng package, nên kỹ năng của bạn vẫn được áp dụng. Nếu bạn chuyển từ Red Hat hoặc Fedora, các lệnh tương đương giữa dnf và apt sẽ giúp chuyển đổi theo cả hai chiều. Nếu bạn đang so sánh hai hệ này với các image khác có sẵn khi deploy, hướng dẫn chọn hệ điều hành cho VPS của chúng tôi sẽ đặt chúng cạnh các lựa chọn còn lại trong danh sách.
FAQ
Ubuntu có phải là một fork của Debian không?
Không. Fork sao chép một codebase một lần rồi được duy trì riêng từ đó về sau. Ubuntu nhập lại các gói từ Debian unstable vào đầu mỗi chu kỳ 6 tháng, và tài liệu dành cho developer của Ubuntu cho biết khoảng 4 trong 5 source package được sao chép mà không sửa đổi. Ubuntu là một downstream lâu dài của Debian. Vì vậy, kiến thức về đóng gói Debian được áp dụng nguyên vẹn cho Ubuntu, và một bản sửa trong Debian thường sẽ đến tay người dùng Ubuntu mà không cần ai thực hiện thêm công việc.
Tutorial Ubuntu có chạy được trên Debian không?
Thường là có, và các ngoại lệ khá dễ dự đoán. Cả hai đều dùng apt, đều dùng systemd và đều tuân theo Debian Policy, nên việc quản lý package và service tương đồng nhau. Những phần thường không hoạt động là các bước phụ thuộc vào hạ tầng của Canonical: bước cài đặt dựa trên snap, PPA trên Launchpad, lệnh Ubuntu Pro và các apt repository bên thứ ba chỉ publish cho codename của Ubuntu. Khi một repository không có suite tương ứng với bản release của bạn, apt sẽ báo rằng repository đó “does not have a Release file”. Điều này có nghĩa là vendor chưa build package cho codename của bạn.
Bản cập nhật bảo mật của Debian và Ubuntu kéo dài bao lâu?
Ubuntu LTS có 5 năm được Canonical bảo trì bảo mật tiêu chuẩn, 10 năm với gói đăng ký Ubuntu Pro và tối đa 15 năm với add-on Legacy. Một bản Debian stable có 3 năm do đội ngũ bảo mật của Debian cung cấp và 5 năm nếu tính cả giai đoạn LTS tiếp theo. Extended LTS trả phí của Freexian kéo dài đến 10 năm, nhưng chỉ áp dụng cho những package mà khách hàng của họ yêu cầu.
Debian hay Ubuntu phù hợp hơn cho server?
Không có lựa chọn nào tốt hơn trong mọi trường hợp. Điểm khác biệt thực tế nằm ở lịch phát hành và mô hình hỗ trợ. Ubuntu LTS phù hợp với server cần có lịch nâng cấp dễ dự đoán và cần mua hỗ trợ từ một vendor duy nhất. Debian stable phù hợp với server mà việc có bản cài đặt mặc định gọn hơn và tốc độ thay đổi chậm hơn quan trọng hơn một lịch cố định. Cả hai chạy cùng phần mềm từ cùng một package format, nên lựa chọn này không giới hạn những dịch vụ bạn có thể host.