dkms so với trợ lý mô-đun


7

module-assistantđã là phương pháp thực tế để biên dịch và xây dựng các gói Debian nhị phân có chứa các mô-đun hạt nhân trong một thời gian. Gần đây, một tiện ích tương đương đã xuất hiện - dkms.

Nếu bất cứ ai có kinh nghiệm sử dụng cả hai, xin vui lòng so sánh và hiểu về những lợi thế và bất lợi của việc sử dụng cái này so với cái kia.

Một mục để giải quyết trong câu trả lời là liệu có dkmsxây dựng các gói Debian nhị phân cho các mô-đun hạt nhân hay không, và nếu vậy, làm thế nào và nếu có, sự khác biệt giữa các gói được xây dựng bởi m-adkmslà gì, nếu có.

Cá nhân tôi chưa bao giờ sử dụng dkms, nhưng tôi đã sử dụng module-assistantkhông thường xuyên trong nhiều năm, và đó là một kinh nghiệm tốt. Tôi không có kế hoạch ngay lập tức để thử nghiệm dkms, vì vậy tôi không nghĩ mình là người phù hợp để viết câu trả lời.

Googling ngẫu nhiên tìm thấy một cuộc thảo luận ở đây , cũng này .

Không cần phải nói, bất kỳ câu trả lời nên được dựa trên kinh nghiệm đầu tay, không sao chép từ các diễn đàn web. Một ví dụ làm việc sử dụng cả hai sẽ tốt đẹp. Có thể nvidia-kernel, vì điều đó được sử dụng khá phổ biến. Vâng, tôi biết nó là một mô-đun hạt nhân độc quyền. :-(

CẬP NHẬT: Cảm ơn jordanm cho câu trả lời của mình. Tôi muốn một cái gì đó đi sâu vào chi tiết hơn về những gì đang diễn ra dưới mui xe, cho cả hai m-adkms, mặc dù ban đầu tôi không đề cập đến điều này. Ngoài ra, có vẻ như hầu hết thời gian dkmssẽ hoạt động minh bạch và tự động. Nhưng các chế độ thất bại là gì dkms. Làm thế nào để cả hai đối phó với các hạt nhân được biên dịch / cài đặt bằng tay? Hoặc được cài đặt từ gói nhị phân hoặc cài đặt cục bộ.


1
Đó không phải là các diễn đàn web ngẫu nhiên mà bạn liên kết đến. Chúng thực sự là các cuộc thảo luận giữa các nhà phát triển Debian. Chúng khá cũ và dkm đã có những cải tiến kể từ (như xử lý nhiều phiên bản kernel).
jordanm

@jordanm vâng, tôi biết chúng là gì. Và tôi có thể thấy họ (tương đối) già. Chúng chỉ nhằm mục đích minh họa m-adkmsđược coi là tương đương.
Faheem Mitha

Câu trả lời:


5

Sự khác biệt chính từ quan điểm của người dùng là module-assistant( m-a) là một công cụ để tự biên dịch mô-đun hạt nhân, trong khi dkmsđó nó tự động mà không cần sự can thiệp của người dùng. Nếu bạn đang sử dụng m-avà gói kernel được nâng cấp, bạn phải biên dịch lại mô-đun bằng tay m-a. Vì m-achỉ biên dịch cho kernel mà bạn hiện đang chạy, điều này có nghĩa là bạn sẽ có GUI bị hỏng cho lần khởi động lại tiếp theo nếu mô-đun mà bạn cần m-alà trình điều khiển đồ họa.

Các kích hoạt dkmsđược thực thi trên mỗi cài đặt gói kernel và nó đảm bảo mô-đun được cài đặt cho mọi kernel trên hệ thống. Cá nhân tôi không thể nghĩ ra lý do để người dùng cuối tiếp tục sử dụng m-a.

Dưới đây là một số ví dụ về m-avs dkmscho nvidiamô-đun kernel:

Xây dựng một mô-đun với trợ lý mô-đun:

apt-get install module-assistant nvidia-kernel-source
m-a prepare # install the header package for the current kernel and compilation tools 
m-a install nvidia-kernel-source # compile the source into a .deb and install it

Xây dựng một mô-đun với dkms:

apt-get install nvidia-kernel-dkms

Nâng cấp kernel với module-assistant:

apt-get upgrade # assumed to upgrade kernel
# reboot
m-a prepare
m-a install nvidia-kernel-source

Nâng cấp kernel với dkms:

apt-get upgrade # assumed to upgrade kernel

dkms cũng xây dựng các gói Debian nhị phân phải không? Ngoài ra, bạn có thể cho biết liệu m-a install nvidia-kernel-sourcexây dựng và cài đặt các gói mô-đun nhị phân không? Tôi cho rằng trong dkmscác mô-đun được xây dựng trong suốt. Điều gì xảy ra với hạt nhân được biên dịch thủ công?
Faheem Mitha

Bạn có hai phần. Hai cái đầu tiên có tiêu đề "trợ lý mô-đun" và "dkms". Bạn có thể cụ thể hơn những gì này là cho? Hai phần cuối rõ ràng hơn - "Nâng cấp kernel với trợ lý mô-đun" và "Nâng cấp kernel với dkms".
Faheem Mitha

m-akhông xây dựng và cài đặt một gói debian. m-asẽ không hoạt động với kernel được biên dịch thủ công, trừ khi nó được cài đặt qua gói Debian. Tôi không chắc làm thế nào dkmssẽ xử lý nó.
jordanm

@FaheemMitha làm rõ các ví dụ được thêm vào
jordanm 17/03/2016

Hãy để chúng tôi phân biệt giữa các trường hợp hạt nhân được cài đặt thủ công được cài đặt thông qua gói Debian và nơi không có. Nếu sau này, câu hỏi là liệu người dùng sẽ có tùy chọn để sử dụng một trong hai dkmsm-a. nếu trước đây (gói kernel nhị phân) tôi cho rằng họ sẽ làm, nhưng chi tiết sẽ rất thú vị. Tôi biết m-alàm việc với các gói kernel nhị phân được cài đặt thủ công, vì tôi đã sử dụng nó với chúng. Bạn cũng phải đảm bảo xây dựng các tiêu đề - đó là một gói Debian khác.
Faheem Mitha
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.