Catatan: daftar hitam tidak akan berfungsi untuk modul yang dibangun ke dalam kernel image (yaitu tidak dimuat melalui .kofile terpisah . Satu-satunya cara untuk menonaktifkan modul tersebut adalah melalui parameter kernel (jika tersedia) atau dengan mengkompilasi ulang kernel.
Cukup buka /etc/modprobe.d/blacklistfile Anda dan tambahkan drivername menggunakan sintaks berikut:
blacklist driver-name
EDIT: Dalam versi yang lebih baru sejak 12.10 (12.04?) File tersebut /etc/modprobe.d/blacklist.conf
Nyalakan ulang kotak Anda dan gunakan perintah lsmod untuk menampilkan status modul di Linux Kernel
Catatan : di sini driver-nameadalah nama driver daftar hitam yang Anda inginkan. Sebagai contoh, Jika Anda ingin menonaktifkan driver kartu NIC, Anda dapat menemukan nama driver kernel untuk kartu LAN Anda dengan menggunakan perintah lspci -vperintah di terminal.
Sebagai contoh, output saya adalah:
........
........
Pengontrol Ethernet 6: 00.0: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02)
Subsistem: Perangkat Lenovo 3861
Bendera: bus master, cepat devsel, latensi 0, IRQ 46
Memori pada b8000000 (64-bit, tidak dapat ditarik) [size = 64K]
ROM Ekspansi di [dinonaktifkan]
Kemampuan:
Driver kernel yang digunakan: tg3
Modul kernel: tg3
........
........
Di sini, saya melihat pengemudi itu tg3. jadi Anda perlu menulis tg3(atau driver Anda) di tempat driver-name.
dalam kasus saya ( Lubuntu 12.10), tidak ada /etc/modprobe.d/blacklistfile. Ada /etc/modprobe.d/blacklist.conffile
Abdull
1
Lebih baik membiarkan modul dimasukkan daftar hitam oleh pengguna dalam file terpisah untuk menghindari konflik selama peningkatan (lihat komentar ini di serverfault ).
Alexander Pozdneev
1
The blacklist.conffile tidak perlu eksis. Anda bisa meletakkan file yang disebut di my-mom-is-awesomesana dan itu akan berhasil. Buat nama apa pun yang Anda suka jika Anda ingin membuat file tertentu hanya untuk membuat daftar hitam hal tertentu, suka blacklist-nouveauatau apa pun.
doug65536
@ doug65536 pertanyaan ini diposting 7 tahun yang lalu, tentu saja semuanya akan berubah. Buat saja pertanyaan baru dengan versi Ubuntu yang Anda miliki, sehingga orang dapat membantu Anda
LnxSlck
@ LnxSlck Saya sedang mengatasi kebingungan yang disuarakan dalam komentar sebelumnya. Saya tidak ingin bantuan. Ada apa dengan obsesi untuk tidak memposting ke konten yang lebih lama? Biarkan saja membusuk? Orang-orang masih menemukan ini dan orang lain akan memiliki pertanyaan yang sama dengan yang saya tanyakan.
doug65536
28
Anda juga dapat membuat sementara daftar hitam mereka di baris perintah grub (garis linux) ketika Anda boot dengan sintaks
Berapa lama "sementara" ini? Sampai boot berikutnya?
Seth
1
Seth, ini hanya sementara untuk boot tunggal jika Anda diedit saat boot. Jika Anda mengedit menggunakan /etc/grub.d/ script atau / etc / default / grub, maka itu permanen.
Peter
1
Rupanya ini tidak bekerja untuk i915: i915: unknown parameter 'blacklist' ignored.
Rafał Cieślak
5
Apa perbedaan antara ini dan modprobe.blacklist=module_to_blacklist?
Zaz
4
atau gunakan parameter kernel modprobe.blacklist=module_to_blacklist(lihat man modprobeuntuk detail)
Karl Richter
11
Cara lain untuk membuat daftar hitam modul di setidaknya Ubuntu 16.04 LTS adalah dengan menambahkan baris berikut ke baris perintah kernel:
modprobe.blacklist=MODULE_NAME
Menggunakan sistem / etc / modprobe adalah cara terbaik, tetapi ini adalah alternatif yang dapat digunakan dalam keadaan darurat dengan mengedit baris perintah GRUB Anda saat boot.
Ini juga dapat dibuat permanen dengan mengedit / etc / default / grub dan menambahkan ke GRUB_CMDLINE_LINUX_DEFAULTvariabel. Sebagai contoh, di / etc / default / grub saya punya:
Lalu aku lari update-grub2, lalu update-initramfs -u. Setelah reboot, Anda akan bebas dari modul, asalkan tidak ada yang memuatnya setelah boot.
Metode ini juga berfungsi dalam varian EL (RHEL, CentOS, SciLinux), tetapi Anda harus menggunakan metode distro itu untuk memperbarui grub dan initrd.
(Catatan untuk mereka yang mencoba blacklist nouveau: Pastikan untuk tidak memuat X dengan menjalankan systemctl set-default multi-user.target, jika tidak ketika X mulai akan memuat nouveau lagi!)
Ini sangat membantu. Ternyata bahkan dengan masuknya daftar hitam /etc/modprobe/blacklist.conf, modul masih dapat dimuat secara manual modprobe <module_name>. Menggunakan install <module_name> /bin/falsemetode ini membuat ini gagal seperti yang diinginkan.
RawwrBag
3
Tak satu pun dari solusi ini yang bekerja pada 16,04 LTS untuk i915.ko.
Solusi (kotor) yang saya temukan adalah mengubah nama
Jawaban:
Cukup buka
/etc/modprobe.d/blacklist
file Anda dan tambahkan drivername menggunakan sintaks berikut:EDIT: Dalam versi yang lebih baru sejak 12.10 (12.04?) File tersebut
/etc/modprobe.d/blacklist.conf
Nyalakan ulang kotak Anda dan gunakan perintah lsmod untuk menampilkan status modul di Linux Kernel
Catatan : di sini
driver-name
adalah nama driver daftar hitam yang Anda inginkan. Sebagai contoh, Jika Anda ingin menonaktifkan driver kartu NIC, Anda dapat menemukan nama driver kernel untuk kartu LAN Anda dengan menggunakan perintahlspci -v
perintah di terminal.Sebagai contoh, output saya adalah:
Di sini, saya melihat pengemudi itu
tg3
. jadi Anda perlu menulistg3
(atau driver Anda) di tempatdriver-name
.Banyak info dapat ditemukan di sini .
sumber
Lubuntu 12.10
), tidak ada/etc/modprobe.d/blacklist
file. Ada/etc/modprobe.d/blacklist.conf
fileblacklist.conf
file tidak perlu eksis. Anda bisa meletakkan file yang disebut dimy-mom-is-awesome
sana dan itu akan berhasil. Buat nama apa pun yang Anda suka jika Anda ingin membuat file tertentu hanya untuk membuat daftar hitam hal tertentu, sukablacklist-nouveau
atau apa pun.Anda juga dapat membuat sementara daftar hitam mereka di baris perintah grub (garis linux) ketika Anda boot dengan sintaks
sumber
i915: unknown parameter 'blacklist' ignored
.modprobe.blacklist=module_to_blacklist
?modprobe.blacklist=module_to_blacklist
(lihatman modprobe
untuk detail)Cara lain untuk membuat daftar hitam modul di setidaknya Ubuntu 16.04 LTS adalah dengan menambahkan baris berikut ke baris perintah kernel:
Menggunakan sistem / etc / modprobe adalah cara terbaik, tetapi ini adalah alternatif yang dapat digunakan dalam keadaan darurat dengan mengedit baris perintah GRUB Anda saat boot.
Ini juga dapat dibuat permanen dengan mengedit / etc / default / grub dan menambahkan ke
GRUB_CMDLINE_LINUX_DEFAULT
variabel. Sebagai contoh, di / etc / default / grub saya punya:Lalu aku lari
update-grub2
, laluupdate-initramfs -u
. Setelah reboot, Anda akan bebas dari modul, asalkan tidak ada yang memuatnya setelah boot.Metode ini juga berfungsi dalam varian EL (RHEL, CentOS, SciLinux), tetapi Anda harus menggunakan metode distro itu untuk memperbarui grub dan initrd.
(Catatan untuk mereka yang mencoba blacklist nouveau: Pastikan untuk tidak memuat X dengan menjalankan
systemctl set-default multi-user.target
, jika tidak ketika X mulai akan memuat nouveau lagi!)sumber
Dalam rilis yang lebih baru, Anda perlu menggunakan arahan instal dalam file daftar hitam Anda
Ganti "modulename" di atas dengan nama modul. Ini akan secara paksa mencegah pemuatannya.
Anda dapat menemukan lebih banyak info tentang arahan pemasangan di manual untuk modprobe.conf
sumber
/etc/modprobe/blacklist.conf
, modul masih dapat dimuat secara manualmodprobe <module_name>
. Menggunakaninstall <module_name> /bin/false
metode ini membuat ini gagal seperti yang diinginkan.Tak satu pun dari solusi ini yang bekerja pada 16,04 LTS untuk i915.ko.
Solusi (kotor) yang saya temukan adalah mengubah nama
Sayangnya, layar VGA eksternal tidak dikenali lagi: {
sumber
sudo update-initramfs -u
setelah memodifikasi file /etc/modeprobe.d/