✨Backporting

Backporting

Backporting là hành động lấy các phần từ một phiên bản mới hơn của một hệ thống phần mềm hoặc thành phần phần mềm và port chúng sang một phiên bản cũ hơn của chính phần mềm đó. Đây là một phần của bước bảo trì trong quy trình phát triển phần mềm, thường được dùng để sửa các vấn đề bảo mật trong những phiên bản cũ hơn của phần mềm cũng như cung cấp tính năng mới cho các phiên bản cũ.

Tổng quát

Trường hợp đơn giản nhất và có lẽ là thường gặp nhất của backporting là một lỗ hổng bảo mật đã được sửa chữa trong một phiên bản mới hơn của phần mềm. Xét ví dụ đơn giản sau:

  • Phần mềm v2.0 có một lỗ hổng bảo mật đã được sửa bằng cách thay đổi dòng chữ 'is_unsecured' thành 'is_secured'.
  • Lỗ hổng bảo mật này cũng tồn tại trong Phần mềm v1.0, nơi bắt nguồn cơ sở mã của phiên bản mới hơn, nhưng ở đó dòng chữ này có thể được hiện kiểu khác, như 'is_notsecure' chẳng hạn.

Bằng cách sử dụng phép sửa đổi đã chữa lỗ hổng trên Phần mềm v2.0 và thay đổi nó để áp dụng lên Phần mềm v1.0, ta đã backport được bản vá này.

Trong thực tế, các sửa đổi đối với một khía cạnh nào đó của phần mềm có thể có mức độ rất đa dạng: từ đơn giản (chỉ thay đổi vài dòng trong mã nguồn) cho tới phức tạp và khổng lồ (nhiều sửa đổi trên nhiều tập tin mã). Ở trường hợp thứ hai, backporting có thể diễn ra trong thời gian dài, kém hiệu quả, và chỉ nên thực hiện nếu phiên bản cũ của phần mềm thật sự cần thiết so với phiên bản mới hơn (ví dụ như nếu phiên bản mới vẫn gặp phải các vấn đề về độ ổn định khiến nó không thể được sử dụng trong những tình huống quan trọng).

Quy trình

Quy trình backporting có thể được chia đại khái thành các bước sau:

  • Dự án Debian kể từ tháng 9 năm 2010 đã cung cấp dịch vụ backporting chính thức cho một số gói phần mềm Debian Linux, và Ubuntu Linux cũng hỗ trợ các bản backport.
  • Vào năn 2024, một YouTuber có tên là MattKC đã backport các phiên bản 2.0 và 3.5 của .NET Framework lên Windows 95, trong khi hệ điều hành này không chính thức hỗ trợ framework.
👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Backporting** là hành động lấy các phần từ một phiên bản mới hơn của một hệ thống phần mềm hoặc thành phần phần mềm và port chúng sang một phiên bản cũ hơn của chính
**Windows XP** là một bản phát hành lớn của hệ điều hành Windows NT do Microsoft phát triển, hướng tới các máy tính để bàn dành cho gia đình và doanh nghiệp, máy tính xách