Quan hệ đối tác Canonical/Microsoft. NET 6 vào Ubuntu Linux -- Tạp chí Visual Studio

Hôm nay, Microsoft và Canonical đã thông báo rằng sự hợp tác kéo dài một tháng của họ đã dẫn đến việc đưa NET 6 vào phiên bản mới nhất của hệ điều hành Ubuntu Linux

Ngoài ra, NET 6 được bao gồm trong Ubuntu 22. Hơn nữa, mối quan hệ chặt chẽ hơn giữa hai công ty -- với các nhóm nhà phát triển làm việc trực tiếp với nhau và chia sẻ nội dung -- cũng được thúc đẩy trong thông báo chung rằng, đối với phiên bản 4. 04 (Jammy), cài đặt đơn giản hơn bằng lệnh _10 đơn giản. Canonical đã phát triển một loại hình ảnh vùng chứa đơn giản, gọn gàng cho NET 6

"Những hình ảnh "đục" này -- được gọi như vậy vì mọi thứ không cần thiết để cung cấp một hình ảnh Ubuntu tối thiểu được tối ưu hóa cho các bộ chứa OCI đã bị cắt bỏ," Canonical cho biết. "Những hình ảnh "đục" này giải quyết phản hồi của nhà phát triển xung quanh bề mặt tấn công và kích thước hình ảnh mà không làm mất đi tính ổn định và quen thuộc của Ubuntu. 16 bài đăng trên blog

Công ty tuyên bố rằng việc đục đẽo đã tạo ra hình ảnh Open Container Initiative (OCI) dựa trên Ubuntu nhỏ nhất từng được xuất bản, xuất hiện dưới dạng gói nén 6 MB đã được giảm khoảng 100 MB mã. MẠNG 6

Theo tuyên bố, hình ảnh vùng chứa mới tăng cường đáng kể tình trạng bảo mật bằng cách

  • hình ảnh cực kỳ nhỏ (với bề mặt tấn công nhỏ hơn)
  • Thiếu trình quản lý gói (ngăn chặn một nhóm tấn công)
  • Không có vỏ (ngăn chặn một nhóm các cuộc tấn công)
  • Non-root (ngăn chặn một nhóm các cuộc tấn công)

Tất cả những điều trên xảy ra là kết quả của việc Microsoft quyết định hợp tác với Canonical cho bản phân phối Ubuntu của họ, từ lâu đã là một trong những lựa chọn được ưa thích nhất đối với người dùng Linux thông thường, sau khi hãng này quyết định mã nguồn mở NET Core khoảng 5 năm trước.


Theo Richard Lander của Microsoft, người đã viết về vấn đề này trong các bài đăng trên blog của chính công ty vào ngày 16 tháng 8, trong giai đoạn đầu của dự án của chúng tôi trên GitHub, quan hệ đối tác với Canonical dường như nằm ngoài tầm với. Chúng tôi đã thu được nhiều kiến ​​thức về cách thiết lập một dự án mã nguồn mở để trở thành một ứng cử viên cho việc đưa vào bản phân phối Linux

Kết quả là, quan hệ đối tác đã được thành lập với hai mục tiêu. NET trên Ubuntu và giảm khoảng cách giữa Canonical và Microsoft trong chuỗi cung ứng

Với việc đưa NET 6 vào Jammy, có thể cài đặt bằng lệnh ngắn apt install dotnet6, yêu cầu đầu tiên đã được đáp ứng

"Canonical đã có sẵn các quy trình an toàn để phân phối trực tiếp hình ảnh Máy ảo Ubuntu tới Azure để khách hàng sử dụng", Microsoft nói về điều này. Chúng tôi có ý tưởng rằng Canonical có thể tạo các hình ảnh NET (thông thường và Chiseled) dựa trên các hình ảnh cơ sở của bộ chứa Ubuntu mà chúng tôi sử dụng. Giờ đây, chúng tôi có một chuỗi cung ứng khoảng cách bằng 0 hiệu quả cho tất cả các tài sản Canonical với quyền giám sát/xuất xứ đã biết trong toàn tổ chức và đang sử dụng chuỗi đó thay vì lấy từ Docker Hub. "

Canonical tuyên bố rằng các hình ảnh bộ chứa dựng sẵn có thể truy cập được trên Azure Container Registry và thông qua Docker Hub, đồng thời các gói NET deb hiện được bao gồm trong Ubuntu Jammy 22. 04 LTS cho kiến ​​trúc x64 và sẽ sớm có sẵn cho kiến ​​trúc Arm64 cũng như tất cả các bản phát hành Ubuntu mới hơn

[Nhấp vào hình ảnh để xem lớn hơn. ] Các cải tiến đối với Bản dựng nguồn NET 8 (nguồn. Microsoft)

Trong tương lai, Lander tuyên bố rằng Microsoft đã thành lập một nhóm bảo trì phân phối cho NET, trong đó Canonical là thành viên và hiện đang nói về các cải tiến xây dựng nguồn tiềm năng có thể mang lại cơ hội giúp Canonical sử dụng dễ dàng hơn. NET đã được lập kế hoạch cho NET 8. Một trong những thay đổi đối với NET 8 là "kích hoạt và xác định rõ hơn hành vi của 'Linux di động'", như được thấy trong hình trên. "

Theo Valentin Viennot, giám đốc sản phẩm của Canonical, "Ubuntu hiện có một câu chuyện từ đầu đến cuối từ phát triển đến sản xuất với các hình ảnh vùng chứa siêu nhỏ được hỗ trợ, bắt đầu với. nền tảng NET. ""Chúng tôi tin rằng đó là một cải tiến đáng kể cho cả hai cộng đồng của chúng ta; . NET đã cho phép chúng tôi vượt lên trên cả"

Microsoft và Canonical hôm nay đã công bố mối quan hệ hợp tác kéo dài nhiều tháng đã mang lại kết quả. NET 6 được đưa vào bản phân phối Ubuntu mới nhất của hệ điều hành Linux

Và, không chỉ là. NET 6 đi kèm với Ubuntu 22. 04 (Jammy), cài đặt dễ dàng hơn bằng lệnh apt đơn giản. Hơn nữa, mối quan hệ chặt chẽ hơn giữa hai công ty -- với các nhóm nhà phát triển làm việc trực tiếp với nhau và chia sẻ nội dung -- cũng dẫn đến thông báo chung rằng. NET 6 có sẵn trong một loại hình ảnh vùng chứa gọn nhẹ mới được tạo bởi Canonical

Canonical sử dụng thuật ngữ "đục khoét" để mô tả quá trình loại bỏ tất cả trừ một tập hợp nghiêm ngặt các tệp và gói cần thiết cho hình ảnh khi chạy. "Những hình ảnh "đục lỗ" này -- được gọi như vậy vì mọi thứ không cần thiết để cung cấp một hình ảnh Ubuntu tối thiểu được tối ưu hóa cho các bộ chứa OCI đã bị cắt bỏ -- giải quyết phản hồi của nhà phát triển về bề mặt tấn công và kích thước hình ảnh, mà không làm mất đi tính ổn định và quen thuộc của Ubuntu," Canonical . 16 bài đăng trên blog

Công ty cho biết việc đục đẽo đã dẫn đến hình ảnh Open Container Initiative (OCI) dựa trên Ubuntu nhỏ nhất từng được xuất bản, xuất hiện dưới dạng gói nén 6 MB đã được giảm khoảng 100 MB mã. Người tạo Ubuntu đã phát hành hai hình ảnh OCI dựa trên Ubuntu beta mới cho. MẠNG 6

Các hình ảnh vùng chứa mới được cho là cải thiện đáng kể tình trạng bảo mật với

  • Hình ảnh siêu nhỏ (giảm kích thước và bề mặt tấn công)
  • Không có trình quản lý gói (tránh toàn bộ lớp tấn công)
  • Không có vỏ (tránh cả lớp tấn công)
  • Không root (tránh cả một lớp tấn công)

Tất cả những điều trên đã xảy ra sau khi Microsoft, có mã nguồn mở. NET Core khoảng năm năm trước, gần đây đã quyết định rằng cuối cùng họ đã có đủ trải nghiệm nguồn mở để hợp tác với Canonical cho bản phân phối Ubuntu của mình, từ lâu đã là một trong những dịch vụ phổ biến nhất cho người dùng Linux hàng ngày


"Mối quan hệ hợp tác với Canonical đã vượt quá tầm kiểm soát trong những ngày đầu dự án của chúng tôi trên GitHub," Richard Lander của Microsoft cho biết trong tháng 8 của chính công ty. 16 bài đăng trên blog. "Chúng tôi đã học được rất nhiều về cách cấu trúc một dự án PMNM sao cho nó là một ứng cử viên để đưa vào một bản phân phối Linux. "

Vì vậy, quan hệ đối tác đã được hình thành với hai mục tiêu. Đơn giản hóa việc sử dụng. NET trên Ubuntu và rút ngắn chuỗi cung ứng giữa Canonical và Microsoft

Trước đây đã được thực hiện với sự bao gồm của. NET 6 trong Jammy, có thể cài đặt thông qua lệnh apt install dotnet6 đơn giản

Về sau, Microsoft cho biết. "Canonical đã có sẵn các quy trình an toàn để phân phối trực tiếp hình ảnh Máy ảo Ubuntu tới Azure để khách hàng sử dụng. Chúng tôi chợt nhận ra rằng Canonical có thể làm điều tương tự với các hình ảnh cơ sở của bộ chứa Ubuntu mà chúng tôi sử dụng để xây dựng dựa trên Ubuntu. NET (thông thường và Chiseled). Đó là những gì chúng tôi hiện đang sử dụng, thay vì lấy từ Docker Hub. Giờ đây, chúng tôi có chuỗi cung ứng khoảng cách bằng 0 hiệu quả cho tất cả các tài sản Canonical với quyền giám hộ/xuất xứ đã biết trong suốt. "

NET hiện có trong Ubuntu Jammy 22. 04 LTS cho kiến ​​trúc x64 và sẽ sớm có sẵn cho kiến ​​trúc Arm64 cũng như tất cả các bản phát hành Ubuntu mới hơn, Canonical cho biết, đồng thời xác nhận rằng hình ảnh vùng chứa dựng sẵn có sẵn trên Azure Container Registry và qua Docker Hub

[Click vào hình để xem lớn hơn. ]. NET 8 Cải thiện bản dựng nguồn (nguồn. Microsoft)

Trong tương lai, Lander cho biết Microsoft đã thành lập một nhóm bảo trì bản phân phối cho. NET, trong đó Canonical là thành viên và đang thảo luận về các cải tiến xây dựng nguồn tiềm năng có thể mang lại cơ hội giúp Canonical sử dụng dễ dàng hơn. NET, đã mong đợi. MẠNG 8. Như có thể thấy trong hình trên, một trong những cải tiến cho. NET 8 là "Kích hoạt và xác định rõ hơn hành vi của 'Linux di động'. "

"Ubuntu hiện có một câu chuyện từ đầu đến cuối từ phát triển đến sản xuất với các hình ảnh vùng chứa siêu nhỏ được hỗ trợ, bắt đầu với. NET," Valentin Viennot, giám đốc sản phẩm, Canonical cho biết. "Chúng tôi nghĩ rằng đó là một cải tiến lớn cho cả cộng đồng của chúng ta; cộng tác với. NET tại Microsoft đã cho phép chúng tôi vượt lên trên tất cả. "

Các nhà phát triển sử dụng Ubuntu 22. 04 ("Jammy") hiện có thể cài đặt hệ điều hành. NET 6, Canonical và Microsoft đã công bố vào thứ ba

Các. NET 6 trong mã nguồn mở Ubuntu Linux 22. 04 hiện có sẵn cho máy x64. Hai công ty cũng đang hợp tác để thêm hỗ trợ cho các máy Arm64

Ngoài ra,. NET 6 có sẵn trên Bộ chứa Ubuntu được đục lỗ mới ở giai đoạn xem trước. Bộ chứa Ubuntu được đục lỗ là các hình ảnh bộ chứa nhỏ hơn loại bỏ những thứ như trình quản lý gói và trình bao, cùng với quyền truy cập root. Cách tiếp cận như vậy cắt giảm megabyte khỏi kích thước phần mềm và giảm bề mặt tấn công của các hình ảnh vùng chứa này

Ví dụ, Ubuntu 22. 04 với ASP. NET có kích thước khoảng 213 MB, trong khi Chiseled Ubuntu 22. 04 với ASP. NET có kích thước nhỏ hơn một nửa ở mức 104MB

Richard Lander, người quản lý chương trình trên Ubuntu, giải thích: Bộ chứa Ubuntu được đục đẽo chỉ chứa các tệp và thư mục cần thiết cho một gói phần mềm. nhóm NET tại Microsoft

Các bộ chứa Ubuntu được đục lỗ là Canonical dựa trên khái niệm distroless, ban đầu được phổ biến bởi Google. Với cách triển khai ban đầu, một bản phân phối bị loại bỏ và chỉ các gói cần thiết mới được cài đặt. Đục tiến thêm một bước này bằng cách


Lander ghi nhận Google "vì đã giúp tất cả chúng ta bắt đầu con đường này. "

Lander giải thích: Các bộ chứa Ubuntu được đục lỗ "giống như một thiết bị và không phải là mục đích chung" nhưng Microsoft thích khái niệm về các hình ảnh không phải gốc, điều này sẽ "thông báo chính sách của chúng tôi trong tương lai". Lander cho biết thêm, những vùng chứa này cũng đại diện cho một giải pháp thay thế cho việc "lấy từ Docker Hub"

Việc bổ sung. NET 6 dưới dạng Ubuntu. deb là một phần của sự hợp tác rộng lớn hơn giữa hai công ty nhằm mục đích "bảo mật chuỗi cung ứng phần mềm giữa. NET và Ubuntu và để cung cấp hỗ trợ cấp doanh nghiệp," thông báo của Canonical cho biết. Lander làm rõ rằng Microsoft có "một repo ảo riêng tư được chia sẻ để chia sẻ các bản vá hàng tháng" với Canonical, cũng được chia sẻ với nhà sản xuất phân phối Linux Red Hat. Microsoft. NET Bounty cũng áp dụng cho Canonical. NET, Microsoft chỉ định

Microsoft đang làm việc để thêm chữ ký. NET vào hỗn hợp, sẽ "sắp ra mắt", Lander chỉ ra

Canonical là người tham gia mới được thiết lập. nhóm bảo trì distro NET. Các bản phát hành được hỗ trợ dài hạn (LTS) của hai công ty được cho là "hoàn toàn phù hợp" với. NET LTS vào tháng 11 với các năm lẻ và Ubuntu LTS vào "tháng 4 của năm chẵn tiếp theo. "

Lander chỉ ra rằng ". NET 7 chưa có sẵn và có khả năng sẽ không có cho đến khi. NET 7 GA [tính khả dụng chung]. ". NET 7 dự kiến ​​sẽ được phát hành thương mại vào khoảng tháng 11. Ngoài ra, không có gói hỗ trợ cho. NET SDK khối lượng công việc và. NET MAUI trên Linux, Lander chỉ ra