Мне пришлось восстанавливать поврежденную файловую систему из резервной копии, теперь она не загружает много модулей
lsmod до:
Module Size Used by
ses 6715 0
enclosure 8649 1 ses
xt_multiport 2794 1
iptable_filter 2791 1
ip_tables 18390 1 iptable_filter
x_tables 22461 2 xt_multiport,ip_tables
nls_iso8859_1 4633 0
nls_cp437 6351 0
vfat 10866 0
fat 55350 1 vfat
usb_storage 50633 1
act_police 4620 1
sch_ingress 2098 1
cls_u32 6698 5
sch_sfq 5863 3
sch_cbq 17140 1
snd_hda_codec_realtek 279072 1
snd_hda_intel 25805 0
ppdev 6375 0
snd_hda_codec 85759 2 snd_hda_codec_realtek,snd_hda_intel
fbcon 39270 71
tileblit 2487 1 fbcon
font 8053 1 fbcon
bitblit 5811 1 fbcon
softcursor 1565 1 bitblit
parport_pc 29958 1
snd_hwdep 6924 1 snd_hda_codec
serio_raw 4918 0
snd_pcm 87946 2 snd_hda_intel,snd_hda_codec
snd_timer 23681 1 snd_pcm
vga16fb 12757 1
lp 9336 0
vgastate 9857 1 vga16fb
parport 37160 3 ppdev,parport_pc,lp
snd 71283 6 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore 8052 1 snd
snd_page_alloc 8500 2 snd_hda_intel,snd_pcm
raid10 21450 0
raid456 54752 0
async_pq 3891 1 raid456
async_xor 3111 2 raid456,async_pq
xor 4685 1 async_xor
async_memcpy 1537 1 raid456
async_raid6_recov 1816 1 raid456
raid6_pq 80147 2 async_pq,async_raid6_recov
async_tx 2545 5 raid456,async_pq,async_xor,async_memcpy,async_raid6_recov
raid1 22610 1
raid0 6778 0
multipath 7181 0
linear 4126 0
r8169 39714 0
mii 5237 1 r8169
ahci 38350 4
lsmod после:
Module Size Used by
raid456 54720 0
async_pq 3891 1 raid456
async_xor 3111 2 raid456,async_pq
xor 4685 1 async_xor
async_memcpy 1537 1 raid456
async_raid6_recov 1816 1 raid456
8139too 22245 0
raid10 21450 1
usbhid 41116 0
hid 83888 1 usbhid
8139cp 19541 0
e1000 109015 0
raid6_pq 80147 2 async_pq,async_raid6_recov
async_tx 2545 5 raid456,async_pq,async_xor,async_memcpy,async_raid6_recov
r8169 39714 0
mii 5237 3 8139too,8139cp,r8169
raid1 22610 1
raid0 6778 0
multipath 7181 0
linear 4126 0
Это был другой сервер, с которого я делаю резервную копию, и у него была другая настройка рейда, поэтому мне пришлось выполнить update-initramfs и grub-update, чтобы это могло иметь какое-то отношение к этому
Сервер, с которого я сделал резервную копию, все еще работает
Как мне восстановить эти модули? Желательно без перезагрузки.
Я думаю, что многие из этих модулей будут загружены по запросу, поэтому, как только вы запустите службы на восстановленном сервере, вы увидите больше используемых модулей. Однако есть некоторые модули, для которых вам нужно будет установить соответствующие пакеты.
Быстрый способ синхронизации установленных пакетов - это составить экспортированный список всех пакетов со старой машины, например, так;
$ dpkg --get-selections | cut -f1 > /tmp/package-list
а затем установите эти пакеты на другой сервер, используя шаги, описанные в этот учебник
Что касается различий в списках модулей; например я вижу модуль soundcore
в одном списке, но не в другом, поэтому попробуйте запросить информацию о модуле на восстановленном сервере, чтобы проверить, что доступно, когда это необходимо, например;
# modinfo soundcore
filename: /lib/modules/3.3.1-5.fc16.x86_64/kernel/sound/soundcore.ko
alias: char-major-14-*
license: GPL
author: Alan Cox
description: Core sound module
depends:
intree: Y
vermagic: 3.3.1-5.fc16.x86_64 SMP mod_unload
parm: preclaim_oss:int
Если у вас есть имя файла модуля, из приведенных выше деталей вы можете увидеть, какой пакет необходимо установить для его предоставления, например, модуль fbcon
;
$ modinfo fbcon
filename: /lib/modules/2.6.32-38-generic/kernel/drivers/video/console/fbcon.ko
license: GPL
srcversion: 65B645FD36D989F537E4715
depends: bitblit,font,tileblit
vermagic: 2.6.32-38-generic SMP mod_unload modversions
обеспечивается linux-image
пакет;
$ dpkg -S /lib/modules/2.6.32-37-generic/kernel/drivers/video/console/fbcon.ko
linux-image-2.6.32-37-generic: /lib/modules/2.6.32-37-generic/kernel/drivers/video/console/fbcon.ko