USB-накопитель доступен только для чтения в Gnome на Debian

После изучения того, как bootlogd на самом деле умудряется вести журнал, получается, что его можно убедить протоколировать как процесс выключения/перезагрузки, так и процесс запуска. bootlogd запускается на ранней стадии процесса загрузки. Затем он делает некоторую магию с устройствами tty и pts, чтобы записать в журнал все выходные данные на терминал, к которому он подключен. Затем он останавливается позже в процессе загрузки, предположительно до того, как он начнет протоколировать выход пользователя, работающего на tty.

sudo port -d selfupdate
sudo port clean gnuplot
sudo port install gnuplot

Если bootlogd будет снова запущен во время процесса выключения/перезагрузки и остановлен до того, как какая файловая система, содержащая журнал, будет размонтирована, то запись большей части процесса выключения будет доступна для чтения при следующей загрузке.

bootlogd может быть запущен и остановлен во время запуска при помощи двух сценариев init. Один из них является обычным сценарием init, который запускает/останавливает процесс как обычно. Другой - это 'обратный' скрипт init

  • , в котором при вызове с помощью
  • start
  • вызывается первый скрипт со стопом. Этот "хитрый" процесс
  • sysvinit
  • , кажется, что он запускает два отдельных сервиса, когда он действительно начинает и останавливает один и тот же сервис. Это необходимо для того, чтобы убедиться, что все происходит в правильном порядке.

  • #!/usr/bin/env bash
    
    cd /2/screenshots/
    x=$(date +"%y%m%d%H%M%S")
    screencapture -i -o $x.png
    sips -s format jpeg -s formatOptions 60 $x.png -o $x.jpg
    rm $x.png
    

    Для того, чтобы bootlogd

  • запустился во время выключения, необходимо:
    • Установить [11962]bootlogd[11963], если вы еще этого не сделали.
    • Скопируйте два init-скрипта
    Сделайте остановку изменения LSB-скрипта 'в обратном направлении' вместо остановки.

    Измените заголовки LSB так, чтобы оба скрипта выполнялись в нужное время во время выключения/перезагрузки

    rename ' ' '_' [filenames...]
    

    Установите их с помощью [11964]updateate-rc.d[11965].

    Вот мои изменения в качестве скрипта копирования/вставки bash (если вы хотите сделать изменения вручную, заголовки LSB, которые я использовал, находятся в патче):

    rename 's/ /_/g' *
    

    Все сообщения, которые появляются перед остановкой bootlogd, будут сохранены в /var/log/boot. bootlogd удаляет экранирующие символы из текстового потока. Следующая команда (bash

    ) отобразит журнал в цвете, как он появляется во время выключения:

    См. этот вопрос -

    https://stackoverflow.com/questions/10757823/display-file-with-escaped-color-codes-boot-messages-from-bootlog-daemon/19011140

    Местоположение журнала может быть изменено путем дальнейшего редактирования скриптов. К сожалению, каждый внешний вид файла должен быть изменен (также, замены

    /ver/log/boot недостаточно, так как скрипт в какой-то момент делает cd на /var/log).

    Вышеуказанное также будет работать только в том случае, если /var/log находится в корневых файлах. Если нет, то зависимости должны быть переработаны таким образом, чтобы umountfs был выполнен после остановки bootlogd
    . Или войдите в файл rootfs.

    .

    2
    15.12.2015, 11:33
    2 ответа

    Разъедините USB-накопитель и откройте новый терминал.

    Сначала получите имя устройства с помощью:

    sudo fdisk -l
    

    (Пример: /dev/sdb1)

    Создайте новую точку монтирования:

    sudo mkdir -p /mnt/usb
    

    Затем снова смонтируйте USB-накопитель с установленным владельцем:

    sudo mount -o uid=$(id -u),gid=$(id -g) /dev/sdb1 /mnt/usb/ 
    

    В вышеприведенной команде единственное, что нужно изменить, это имя устройства /dev/sdb1 на найденное с помощью команды fdisk.

    Теперь у вас будет право собственности на USB-накопитель, и вы сможете делать все, что захотите.

    1
    27.01.2020, 22:12

    Проверьте dmesg.

    Возможно, файловая система настроена -только для чтения потому что том не был должным образом размонтирован и некоторые данные могут быть повреждены.

    В таком случае вам следует размонтировать файловую систему и запустить fsck.

    1
    27.01.2020, 22:12

    Теги

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