Я обновился до рабочего стола Ubuntu 20.04 около двух недель назад. С тех пор моя файловая система продолжает переходить в состояние только для чтения, иногда, когда я нахожусь в процессе работы с системой, и я часто вижу экран initramfs
при запуске системы. Для выключения системы требуется некоторое время, и иногда мне приходится отключать питание, удерживая кнопку питания.
У меня система с двойной загрузкой, и у меня есть окна и Ubuntu рядом. У меня нет проблем с разделами Windows. Раздел Ubuntu постоянно доступен только для чтения.
Как я могу решить или диагностировать причину этой проблемы?
Редактировать:
Вот данные Smart и результаты самопроверки. Я сделал снимок экрана после восстановления после другого сбоя при загрузке:
Перед установкой нового программного обеспечения рекомендуется обновить локальную базу данных пакетов программ, чтобы обеспечить доступ к последним версиям. Это помогает сократить время, необходимое для обновления после установки, а также помогает предотвращать эксплойты нулевого дня против устаревшего программного обеспечения.
Откройте терминал и введите:
sudo apt update
Установите Apache.
Чтобы установить пакет Apache в Ubuntu, используйте команду:
sudo apt install apache2
Когда система запросит подтверждение, сделайте это и разрешите системе завершить установку.
Проверьте установку Apache.
Чтобы проверить правильность установки Apache, откройте веб-браузер и введите в адресную строку:
Http: //local.server.ip
Веб-браузер должен открыть страницу с меткой Apache2 Ubuntu Default Page , как показано на снимке экрана ниже:
Примечание : заменить local.server.ip на IP-адрес вашего сервера. Если вы не уверены, какой IP-адрес, выполните следующую команду терминала:
hostname -I | awk '{print $ 1}'
Вывод будет возвращать IP-адрес вашего сервера.
Настройте брандмауэр.
Хотя процесс установки Apache завершен, есть еще один дополнительный шаг. Настройте брандмауэр UFW по умолчанию для разрешения трафика через порт 80.
Начните с отображения доступных профилей приложений на UFW:
sudo ufw show app list
Терминал должен ответить, перечислив все доступные профили приложений, как показано в примере ниже.
Доступные приложения:
апаш
Apache Full
Apache Secure
OpenSSH
Используйте следующую команду, чтобы разрешить нормальный веб-трафик через порт 80:
sudo ufw allow 'Apache'
Проверьте изменения, проверив статус UFW:
sudo ufw status
Если у вас есть другие приложения или службы для разрешения, убедитесь, что вы настроили брандмауэр для разрешения трафика. Например, выполнение команды sudo ufw allow 'OpenSSH'
включит безопасный, зашифрованный вход в сеть.
Примечание : На данный момент ваша служба Apache в Ubuntu запущена и работает. Если вы знакомы с Apache, следующим общим шагом является настройка виртуальных хостов Apache .
При управлении веб-сервером полезно иметь некоторый уровень контроля над сервисом. Вы, вероятно, обнаружите, что перезагружаете или перезапускаете Apache довольно часто, так как вы вносите изменения в конфигурацию и тестируете их. Однако также полезно иметь возможность останавливать (и запускать) службу Apache по мере необходимости.
Эта операция использует команду systemctl
с рядом переключателей:
Остановить Apache:
sudo systemctl stop apache2.service
Запустить Apache:
sudo systemctl start apache2.service
Перезапустить Apache:
sudo systemctl restart apache2.service
Перезагрузить Apache:
sudo systemctl reload apache2.service
Теперь, когда у вас установлен Apache, необходимо сделать еще несколько вещей, чтобы сделать контент доступным в Интернете. Прежде всего, это означает работу с каталогами и файлами конфигурации.
Каталоги
После установки Apache по умолчанию создает корневой каталог документа по адресу / var / www / html
.
Любые файлы, которые вы помещаете в этот каталог, доступны для Apache для распространения по сети. Это означает, что здесь вы копируете файлы веб-страниц, которые хотите опубликовать. Это также, где вы хотели бы установить системы управления контентом, такие как WordPress.
Конфигурационные файлы
Как упоминалось выше, содержимое веб-сайта хранится в каталоге / var / www / html /
. В этом месте вы можете создавать подкаталоги для каждого отдельного веб-сайта, размещенного на вашем сервере.
Apache создает файлы журналов для любых ошибок, которые он генерирует в файле /var/log/apache2/error.log
.
Он также создает журналы доступа для своих взаимодействий с клиентами в файле /var/log/apache2/access.log
.
Как и многие приложения на основе Linux, Apache функционирует посредством использования файлов конфигурации. Все они находятся в каталоге / etc / apache2 /
.
Вот список других важных каталогов:
/etc/apache2/apache2.conf
- это основной Apache файл конфигурации и контролирует все, что Apache делает в вашей системе. Изменения здесь затрагивают все веб-сайты, размещенные на этом компьютере. /etc/apache2/ports.conf
- Файл конфигурации порта. С помощью этого файла вы можете настроить порты мониторов Apache. По умолчанию порт 80 настроен для http-трафика. / etc / apache2 / sites-available
- Хранилище для файлов виртуального хоста Apache . Виртуальный хост - это запись одного из веб-сайтов, размещенных на сервере. / etc / apache2 / sites-enabled
- этот каталог содержит веб-сайты, которые готовы обслуживать клиентов. Команда a2ensite
используется для файла виртуального хоста в каталоге sites-available для добавления сайтов в это местоположение. Существует много каталогов и файлов конфигурации, которые подробно описаны в Документация Apache Ubuntu . Их можно использовать для добавления модулей для улучшения Apache. Сначала проверьте, чтобы ваша файловая система
, нажав Ctrl + Alt + T sudo fdisk -l
sudo fsck -f / dev / sdXX
, заменив sdXX
на номер, который вы нашли ранее fsck
, если были ошибки
Тогда давайте проверим Ваш жесткий диск
Откройте приложение Диски
. Выберите свой жесткий диск. Перейдите к значку «гамбургер» и выберите SMART Data & Tests
. Возьмите скриншот (ы) SMART Data и отредактируйте их в своем вопросе, чтобы я мог их просмотреть. «Текущий счетчик ожидающих секторов» = 240 указывает на проблему.
Плохой блок
«Текущий счетчик ожидающих секторов» = 240 указывает на проблему.
Примечание: НЕ прерывайте сканирование плохого блока!
Примечание: НЕ блокируйте плохой SSD
Примечание: сделайте резервную копию ваших важных файлов ПЕРВЫМ!
Примечание: это займет много часов
Примечание: у вас может быть ожидающий сбой жесткого диска
Загрузитесь с Ubuntu Live DVD / USB в режиме «Try Ubuntu».
В терминал
...
sudo fdisk -l
# идентифицировать все разделы «Файловая система Linux»
sudo e2fsck -fcky / dev / sdXX
# тест только для чтения
или
sudo e2fsck -fccky / dev / sdXX
# неразрушающий тест чтения / записи (рекомендуется)
-k важен, потому что он сохраняет предыдущую таблицу плохих блоков и добавляет в нее все новые плохие блоки. Без -k, вы теряете всю предыдущую информацию о плохом блоке.
Параметр -fccky ...
-f Force checking even if the file system seems clean.
-c This option causes e2fsck to use badblocks(8) program to do
a read-only scan of the device in order to find any bad blocks.
If any bad blocks are found, they are added to the bad block
inode to prevent them from being allocated to a file or direc‐
tory. If this option is specified twice, then the bad block scan
will be done using a non-destructive read-write test.
-k When combined with the -c option, any existing bad blocks in the
bad blocks list are preserved, and any new bad blocks found by
running badblocks(8) will be added to the existing bad blocks
list.
-y Assume an answer of `yes' to all questions; allows e2fsck to be
used non-interactively. This option may not be specified at the
same time as the -n or -p options.
Для тех, кто, как и я, сталкивается с файловой системой, которая постоянно монтируется в режиме только для чтения, но, к счастью, файловая система не та, в которой находится ваша установка Ubuntu.
Восстановление файловой системы можно выполнить с помощью графического инструмента Диски, выбрав Восстановить файловую систему в раскрывающемся списке соответствующей файловой системы.