Как восстановить сохраненные (сохраненные) электронные письма после повреждения конфигурации KMail?

В то время как не возможно не использовать своего рода initrd, возможно не использовать отдельные initrd файлы. (Я никогда не использовал genkernel, таким образом, я не могу дать инструкцию для него).

Например, я установил опцию:

CONFIG_INITRAMFS_SOURCE="/usr/src/initrd.contents"

Где /usr/src/initrd.contents в моем случае похож (у меня есть LVM+tuxonice+fbsplash):

dir /bin                                    0755 0 0
file    /bin/busybox                        /bin/busybox                        0755 0 0
file    /bin/lvm                        /sbin/lvm.static                    0755 0 0
dir /dev                                    0755 0 0
dir /dev/fb                                 0755 0 0
dir /dev/misc                               0755 0 0
dir /dev/vc                                 0755 0 0
nod /dev/console                                0600 0 0    c  5   1
nod /dev/null                               0600 0 0    c  1   3
nod /dev/snapshot                               0600 0 0    c 10 231
nod /dev/tty1                               0600 0 0    c  4   0
dir /etc                                    0755 0 0
dir /etc/splash                             0755 0 0
dir /etc/splash/natural_gentoo                      0755 0 0
dir /etc/splash/natural_gentoo/images                   0755 0 0
file    /etc/splash/natural_gentoo/images/silent-1680x1050.jpg  /etc/splash/natural_gentoo/images/silent-1680x1050.jpg  0644 0 0
file    /etc/splash/natural_gentoo/images/verbose-1680x1050.jpg /etc/splash/natural_gentoo/images/verbose-1680x1050.jpg 0644 0 0
file    /etc/splash/natural_gentoo/1680x1050.cfg        /etc/splash/natural_gentoo/1680x1050.cfg        0644 0 0
slink   /etc/splash/tuxonice                    /etc/splash/natural_gentoo              0755 0 0
file    /etc/splash/luxisri.ttf                 /etc/splash/luxisri.ttf                 0644 0 0
dir /lib64                                  0755 0 0
dir /lib64/splash                               0755 0 0
dir /lib64/splash/proc                          0755 0 0
dir /lib64/splash/sys                           0755 0 0
dir /proc                                   0755 0 0
dir /mnt                                    0755 0 0
dir /root                                   0770 0 0
dir /sbin                                   0755 0 0
file    /sbin/fbcondecor_helper                 /sbin/fbcondecor_helper                 0755 0 0
slink   /sbin/splash_helper                 /sbin/fbcondecor_helper                 0755 0 0
file    /sbin/tuxoniceui_fbsplash               /sbin/tuxoniceui_fbsplash               0755 0 0
file    /sbin/tuxoniceui_text                   /sbin/tuxoniceui_text                   0755 0 0
dir /sys                                    0755 0 0
file    /init                           /usr/src/init

И /usr/src/init :

#!/bin/busybox ash
local X ROOT RUNLEVEL INIT PARAM
# Preliminary stuff
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mdev -s
/bin/lvm vgchange -ay picard-main

# Try to resume. This never returns if it succeeds
test -e /sys/power/tuxonice/do_resume && echo 1 > /sys/power/tuxonice/do_resume
#/bin/resume

# Parse the command line for relevant options.
INIT=/sbin/init
RESCUE=""
PARAM=" "
for X in `cat /proc/cmdline`
do
        case "$X" in
                root=*) ROOT=${X#root=} ;;
                [0-6Ss]) RUNLEVEL=${X} ;;
                init=*) INIT=${X#init=} ;;
                rescue) RESCUE="rescue" ;;
        splash=*) PARAM="${PARAM} ${X}" ;;
        consol=*) PARAM="${PARAM} ${X}" ;;
        esac
done

if [ x${RESCUE} = xrescue ]
then
        busybox ash
fi

# Mount and switch root.
mount -o ro ${ROOT} /mnt
umount -f /sys || umount -l /sys
umount -f /proc || umount -l /proc

exec switch_root /mnt ${INIT} ${RUNLEVEL} ${PARAM}
3
04.08.2011, 00:11
2 ответа

Решение, которое я использовал (и оно работало... несколько) состояло в том, чтобы скопировать ~/Mail/Folder кому: ~/Mail/Folder.save. При запуске KMail (или быть более точным Kontact с плагином KMail / часть) это просканировало ~/Mail каталог и показанный 'Folder.save'. После нажатия на 'Folder.save' я могу теперь видеть всю свою сохраненную (заархивированную) электронную почту.


Более длинная история:

Я восстановил конфигурацию KMail с резервного копирования (~/.kde/share/config/kmailrc), сначала сохраняя текущую (поврежденную) конфигурацию, на всякий случай.

Теперь, что является странным, что при запуске KMail это, по-видимому, повторно просканировало ~/Mail каталог и показанный корректное количество сохраненных электронных писем: 3000 +..., но когда я нажал на папку (или при загрузке новых электронных писем) KMail, показанный только 700 электронных писем (с поврежденной поточной обработкой).

Я заметил, что KMail показывает папки, которые отсутствовали в сохраненной версии, soe это должен просканировать ~/Mail каталог для почтовых папок. Я скопировал почтовую папку, и странно, даже при том, что обе папки имели то же количество файлов и тех же файлов, 'Папка' показывает 700 электронных писем, 'Folder.save' показывает 3 000 электронных писем.

Странно...

2
27.01.2020, 21:24

С абстрактной точки зрения Ваша проблема, кажется, что были открытые файлы (и записанный в) в Вашей файловой системе в точке когда разрушенный компьютер. Так, в основном возможно, что все виды повреждения данных обнаруживаются с этими файлами, и Вы не должны делать предположения об их состоянии / полнота / правильность их содержания.

Первый шаг, когда контакт с этим видом ошибок не должен всегда делать слишком большой работы над поврежденной файловой системой. Скопируйте его в другой жесткий диск (или несколько) и работа над теми, сохранив Ваш оригинал в целости в случае, если более включенные методы становятся необходимыми.

Вы храните свои письма в maildir формате? Если так, просто смотрите на почтовый каталог с другой почтовой программой. Большая часть предложения импортировать Письма из такого каталога. Если это работает, прекрасное - просто, некоторый KMail-внутренний материал был поврежден. Воссоздайте свою конфигурацию KMail и импортируйте почту из почтового каталога.

В противном случае я начал бы смотреть на то, что оставляют в Вашем почтовом устройстве хранения данных (использующий редакторов простого текста), и оцените, если письма действительно отсутствуют или просто, кажется, отсутствуют. Если Вы не можете найти все, что должно быть там, просто восстановить от Ваших резервных копий - все вне этого этапа будет серьезной, тяжелой работой.

1
27.01.2020, 21:24
  • 1
    , странно, что KMail не использовал "атомарную запись" (пишут копию и переименовывают)..., хотя я не уверен, имело ли это значение (рассматриваемая файловая система является ext3). Так или иначе электронные письма (в maildir формате) там - я регистрировал новый файл ~/Mail/folder/cur и это - новая электронная почта... гайка, это не видимо в KMail. –  Jakub Narębski 03.08.2011, 22:10
  • 2
    OK, таким образом, практично: Создайте полное резервное копирование своего материала, переместите свою старую почтовую папку в некоторую временную папку и просто попытайтесь повторно импортировать. контроль –  jstarek 04.08.2011, 00:17

Теги

Похожие вопросы