Как изменить файл read only linux

I'm a brand new user so I'm not sure of my way around the system yet. I want to change my computer's name, so I tried to edit the name in /etc/hostname, but it is a read-only file. Adding the ! cha...

I’m a brand new user so I’m not sure of my way around the system yet. I want to change my computer’s name, so I tried to edit the name in /etc/hostname, but it is a read-only file. Adding the ! character didn’t help. I’m using vim to edit the file.

Zanna's user avatar

Zanna

68.3k55 gold badges210 silver badges320 bronze badges

asked Dec 17, 2014 at 1:39

WardenMorgan's user avatar

2

Changing system settings requires superuser permissions. From a terminal, do

sudo <editor> <filename>

where could be vim or nano or any other editor command, and is the one you need to edit.

You could also usegksudo gedit <filename>.

In either case you will be prompted for password of a user with superuser permissions — in a normal Ubuntu installation this would be the first user created during installation.

answered Dec 17, 2014 at 1:47

tagMacher's user avatar

tagMachertagMacher

5807 silver badges13 bronze badges

4

If you are editing a file without sudo, and you need sudo in order to save, simply use this vim command:

:w !sudo tee %

Credit to Dr Beco. Note that vim will notice the file change and ask you if you want to (L)oad the changes, press L.

Community's user avatar

answered Sep 1, 2016 at 15:21

NonlinearFruit's user avatar

2

Very Short Answer:

You can modify a file (even if it’s read-only) if you own it.

Short Answer:

Even if the user which you are logged in as (in this case navid) has administrative privileges, you won’t be able to modify /etc/hostname, because the root user owns that file. Consequently, you should log in as the root user.

Long Answer

Assuming that you want to change your computer name from oldName to newName, here are the steps that you should follow:

  1. Log in as the root user:

    navid@oldName:~$ sudo su -
    
  2. Open hostname:

    root@oldName:~# vi /etc/hostname
    
  3. You will see oldName. Press i to go to the insert mode then change it to newName. Then press Esc + : + w + q + Enter to save and exit.

  4. Open hosts:

    root@oldName:~# vi /etc/hosts
    

    The top 2 lines look like this:

    127.0.0.1       localhost
    127.0.1.1       oldName
    
  5. Similarly to what you did in step 3, change the computer name from oldName to newName. Then save and exit.

  6. Exit the root user:

    root@oldName:~# exit
    
  7. Save all of your unsaved work and restart your computer:

    navid@oldName:~$ reboot
    
  8. Open your terminal, and you will see that your computer name has successfully been changed! :-)

    navid@newName:~$ 
    

Note: Although you may achieve what you want by skipping steps 4 and 5, I strongly recommend doing them as well, to avoid potential errors in the future.

See also:

  • Why can I modify a read-only file?

answered Jan 7, 2017 at 19:06

Positive Navid's user avatar

Positive NavidPositive Navid

8753 gold badges12 silver badges19 bronze badges

sudo -H gedit <path to file>

eg :

sudo -H gedit /etc/environment

or
sudo nano /etc/environment
Ctrl + X and Ctrl + Y and hit Enter(for nano)

wittich's user avatar

wittich

1,13613 silver badges25 bronze badges

answered Mar 10, 2016 at 6:55

ArUn's user avatar

ArUnArUn

3571 gold badge5 silver badges13 bronze badges

You might not have access to the file to change it.

In order to get access you need to get super user privileges and that is sudo.

Open terminal, type:

sudo -H gedit "your file name "

If you use any other text editor type that in.

muru's user avatar

muru

189k52 gold badges460 silver badges711 bronze badges

answered Mar 4, 2016 at 1:55

karthikeya's user avatar

By default you have wight permission to hosts file to root user only, as shown below:

-rw-r--r-- 1 root root 252 Dec 16 08:40 /etc/hosts

Hence you have to use sudo to edit this or else you can use below command to become root

sudo su -

however this is not recommended at all.

safest and recommended it you use below command to edit the file

sudo vim /etc/hosts

then press «Esc» on keyboard and then type «:w!» to write the changes to the hosts file then agin type «:q» or «:q!«, this should shall do the trick for you.

answered Dec 22, 2014 at 4:01

Hrish's user avatar

HrishHrish

2,28313 gold badges40 silver badges62 bronze badges

В некоторый случаях файловая система в Linux может перейти в состояние read-only, при котором вы можете только читать данные с диска, а при попытке записи любых изменение или создании нового файла появдляется ошибка Read-only file system.

Ошибки файловой системы и опция remount-ro

Проверьте параметры монтирования дисков при загрузке Linux. Настройки монтирования файловых систем при загрузке задаются в файле /etc/fstab.

$ cat /etc/fstab

опции понтирования файловой системы в linux fstab при наличии ошибок

Обратите что в fstab есть строка монтирования корневой директории вида:

UUID=aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaa / ext4 errors=remount-ro 0 1

Параметр
errors=remount-ro
означает, что данная директория будет смонтирована в режиме чтения, если на файловой системе устройства обнаружены проблемы. В этом случае нужно выполнить проверку диска с помощью FSCK.

Обычные файловые системы такие как EXT4/BTRFS/XFS можно монтировать как в режиме записи, так и только для чтения (в отличии от файловых систем ISO или SquashFS, которые доступны только для чтения).

В случае обнаружения ошибок на диске вы можете использовать одну из трех опций
errors=[continue|remount-ro|panic]

  • continue – игнорировать ошибки,
  • remount-ro – перемонтировать диск в режиме только для чтения
  • panic – остановить загрузку системы

Вы можете вывести соответствие между UUID диска и именем устройства:

$ sudo blkid

В данном примере вы получили, что вашему UUID соответствует устройство /dev/sda3.

blkid вывести uuid и /dev/sdx имя

Также можно имена устройства и точки монтирования с помощью команды:

$ df –h

точки монтирования и файловые системы в linux

Т.к. в данном примере ошибки обнаружены в корневой директории которая является точкой монтирования, вы сможете выполнить ее проверку только загрузившись с LiveCD. Для исправления ошибок файловой системы используется команда:

$ sudo fsck –y /dev/sda3

Или

$ sudo fsck –y UUID=aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaa

Если вы не можете прямо сейчас выполнить проверку диска, и вы хотите немедленно вывести файловую систему из режима read-only, нужно выполниться команду:

$ sudo mount -o remount,rw /

Обязательно запланируйте проверку файловой системы на ближайшее время.

Read-only файловая система в виртуальных машинах

Файловая система раздела Linux на виртуальной машине можете перейти в read-only в случае недоступность системы хранения данных (СХД). Самый простой способ восстановить работу ОС – выполнить сброс виртуальной машины (фактически перезапуск с параметрами по умолчанию).

Может оказаться, что ВМ с Linux вообще не загружается и вам доступна только командная строка initramfs с предупреждениями:

UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY.
Fsck exitrd with code 4.
The root file system of /dev/sdx requires a manual fsck.

ошибка проверки файловой системы fsck в initramfs

Initramfs это начальная файловая система в оперативной памяти, которая основана на tmpfs, которая содержит утилиты и скрипты, необходимые для работы с дисками, файловыми системами и тд. После запуска initramfs отобразится проблемная ситуация.

Если же ошибок нет – просто вводим exit. Иначе выполняем проверку диска:

$ fsck /dev/sda3 –y

Здесь указан том (в данной случае /dev/sda1), для которого требуется выполнить ручную проверку. С помощью следующей команды можно проверить все подключенные файловые системы:

$ fsck –A –y /dev/sda1

После этого перезагрузите ВМ.

Ошибка read only file system может возникнуть при загрузке с LiveCD диска или в режиме восстановления вашего дистрибутива. Она означает, что файловая система в которую вы пытаетесь вести запись примонтирована только для чтения. Этому может быть несколько причин. Есть файловые системы, которые доступны только для чтения это файловая система оптических дисков — ISO, а также файловая система образов SquashFS.

С такими файловыми системами вы сделать ничего не сможете. Для изменения данных в них, надо распаковать образ, изменить данные и запаковать его обратно. Но что касается обычных файловых систем, таких как EXT4, BTRFS, XFS, то их можно монтировать и для чтения и для записи.

В этой небольшой статье мы рассмотрим как исправить read only file system Linux перемонтировав файловую систему для записи. Первым делом надо определиться с точкой монтирования, для которой надо разрешить запись. Попытаемся создать файл в корневом каталоге:

touch /file

Ошибка, файловая система корневого каталога доступна только для чтения. Чтобы посмотреть все точки монтирования доступные в системе выполните в терминале:

mount | grep /dev/sd

В данном случае, корневая файловая система и есть точкой монтирования. Но у вас, например, возникнут проблемы с созданием файла в домашней папке, то надо будет уже перемонтировать /home. Смотрите внимательно. Когда точка монтирования выбрана, осталось её примонтировать с правами на запись:

sudo mount -o remount,rw /

Или для /home:

sudo mount -o remount,rw /home

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

sudo mount -o remount,ro /

Теперь вы знаете что означает эта ошибка и как с ею справится. Если у вас остались вопросы, спрашивайте в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Содержание

  • Способ 1: Настройка прав доступа
  • Способ 2: Исправление ошибок через GParted
  • Способ 3: Исправление поврежденных блоков
  • Способ 4: Форматирование накопителя
  • Вопросы и ответы

ошибка «файловая система доступна только для чтения» в Linux

Способ 1: Настройка прав доступа

Первый способ исправления ошибки «Файловая система доступна только для чтения» в Linux заключается в проверке прав доступа. Иногда пользователь случайно или намерено устанавливает ограничения, которые распространяются и на других юзеров. Для начала предлагаем проверить атрибуты, а затем внести изменения, если это требуется.

  1. Запустите консоль удобным для вас методом. Для этого можно использовать соответствующий значок в меню приложений или горячую клавишу Ctrl + Alt + T.
  2. Запуск терминала для проверки списка дисков при исправлении Файловая система доступна только для чтения в Linux

  3. Здесь введите команду ls -l, чтобы просмотреть весь список дисков с подробной информацией, среди которой будет находиться и необходимая нам.
  4. Команда для вывода списка дисков при исправлении Файловая система доступна только для чтения в Linux

  5. Изучите атрибуты, которые показаны в первом столбце напротив проблемного диска или раздела. Если имеется один символ -r, значит, система доступна только для чтения. Наличие w означает открытость для чтения и записи.
  6. Проверка атрибутов дисков при исправлении Файловая система доступна только для чтения в Linux

  7. Если проблема действительно связана с указанными атрибутами, придется перенастроить права. Введите команду sudo chown -R [user]:[user] /home/[user], заменив user на имя нужного пользователя, к которому и будут применены все изменения.
  8. Команда для установки прав доступа при исправлении Файловая система доступна только для чтения в Linux

  9. Данное действие осуществляется с опцией sudo, поэтому ее придется подтвердить, указав в новой строке пароль суперпользователя.
  10. Подтверждение команды для установки прав при исправлении Файловая система доступна только для чтения в Linux

После активации команды вы будете уведомлены, что все изменения успешно вступили в силу. Следом рекомендуется перезагрузить ПК и можно приступать к тестированию. Если же при использовании команды ls было обнаружено, что для раздела или носителя установлены все требуемые атрибуты, следует перейти другим решениям возникшей проблемы.

Способ 2: Исправление ошибок через GParted

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

  1. Если GParted по умолчанию отсутствует в вашем дистрибутиве, установите ее с помощью команды sudo apt-get install gparted. Подтвердите это действие, введя пароль суперпользователя и одобрив скачивание архивов.
  2. Команда для установки утилиты управления дисками при исправлении Файловая система доступна только для чтения в Linux

  3. После этого утилиту проще всего запустить, нажав на соответствующий значок в меню приложений.
  4. Запуск утилиты управления дисками для решения Файловая система доступна только для чтения в Linux

  5. Для открытия тоже потребуются права суперпользователя.
  6. Подтверждение запуска утилиты управления дисками при решении Файловая система доступна только для чтения в Linux

  7. При входе сразу станет понятно, какой из разделов является проблемным, поскольку возле него будет гореть восклицательный знак. Кликните по данной строке правой кнопкой мыши.
  8. Поиск проблемного накопителя при решении Файловая система доступна только для чтения в Linux

  9. В контекстном меню нажмите на «Проверить на ошибки».
  10. Запуск проверки на ошибки в утилите при исправлении Файловая система доступна только для чтения в Linux

  11. Запустите выполнение операций, щелкнув на кнопку в виде галочки, которая расположена на верхней панели.
  12. Включение операции проверки на ошибке в утилите при исправлении Файловая система доступна только для чтения в Linux

    Lumpics.ru

  13. Подтвердите запуск проверки.
  14. Подтверждение запуска проверки при исправлении Файловая система доступна только для чтения в Linux

  15. Осталось только дождаться завершения этого процесса.
  16. Ожидание завершения проверки ошибки Файловая система доступна только для чтения в Linux

Если какие-то неполадки будут найдены и исправлены, вы получите соответствующее уведомление. По окончании проверки следует перезагрузить ПК, чтобы при начале следующего сеанса сразу проверить эффективность выполненных действий. Если они не принесли никакого результата, переходите далее.

Способ 3: Исправление поврежденных блоков

Иногда ошибка со сбойным режимом чтения возникает вследствие повреждения секторов жесткого диска. Существуют специальные утилиты, позволяющие распределить проблемное пространство или исправить его, если это является возможным. В Linux имеется встроенная команда, отвечающая за выполнение этой операции. Мы и предлагаем воспользоваться ей в том случае, если приведенные выше рекомендации не принесли никакого результата.

  1. Для начала просмотрим список дисков, чтобы понять, какой из них следует проверять. Осуществляется это через команду fdisk -l.
  2. Проверка списка дисков при проверке блоков во время решения Файловая система доступна только для чтения в Linux

  3. В списке отыщите проблемный накопитель, определив его точное название. Далее оно потребуется при активации соответствующей команды для лечения блоков.
  4. Нахождение накопителя для исправления Файловая система доступна только для чтения в Linux

  5. Теперь используйте команду hdparm -i /dev/sda2 | grep Model, чтобы проверить выбранный носитель или логический диск. Здесь замените /dev/sda2 на определенное ранее название.
  6. Запуск средства проверки накопителя для исправления Файловая система доступна только для чтения в Linux

  7. После этого следует отмонтировать диск, чтобы в дальнейшем запустить проверку блоков. Осуществляется это через строку umount /dev/sda2.
  8. Размонтирование накопителя для решения проблемы Файловая система доступна только для чтения в Linux

  9. Запустите проверку, вставив команду badblocks -s /dev/sda2 > /root/badblock.
  10. Запуск проверки на плохие блоки при решении проблемы Файловая система доступна только для чтения в Linux

  11. Обнаруженные блоки, которые не подлежат исправлению, требуется отметить, чтобы система перестала их задействовать. Для этого используйте e2fsck -l /root/badblock /dev/sda2.
  12. Отключение проблемных блоков при решении проблемы Файловая система доступна только для чтения в Linux

Все изменения будут применены сразу же, однако, как обычно, рекомендуется создать новый сеанс операционной системы, чтобы проверить, была ли решена возникшая неполадка с ошибкой «Файловая система доступна только для чтения».

Способ 4: Форматирование накопителя

Последний метод, о котором мы хотим рассказать в рамках сегодняшней статьи, является самым радикальным, поскольку подразумевает полное форматирование накопителя, после будет восстановлено состояние файловой системы. Такой вариант подойдет только в той ситуации, если на диске нет важных файлов и все содержимое можно удалить. Более детальные инструкции по данной теме ищите в отдельном материале на нашем сайте, воспользовавшись указанной далее ссылкой.

Подробнее: Форматирование диска в Linux

Сегодня мы разобрали четыре метода исправления неполадки «Файловая система доступна только для чтения». Осталось найти подходящий только путем перебора, выполняя по порядку все приведенные инструкции. В большинстве случаев хотя бы один из них оказывается действенным и позволяет полностью устранить рассмотренную ошибку.

Еще статьи по данной теме:

Помогла ли Вам статья?

Как записаться редактировать a файл только для чтения в линуксе?

  1. Войдите в систему как пользователь root из командной строки. введите команду su.
  2. Введите пароль root.
  3. Введите gedit (чтобы открыть текст редактор) по пути вашего файл.
  4. Сохраните и закройте файл.

Как отключить режим только для чтения в Ubuntu?

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

Как редактировать файл только для чтения?

Файлы только для чтения

  1. Откройте проводник Windows и перейдите к файлу, который хотите отредактировать.
  2. Щелкните имя файла правой кнопкой мыши и выберите «Свойства».
  3. Выберите вкладку «Общие» и снимите флажок «Только для чтения», чтобы удалить атрибут только для чтения, или установите флажок, чтобы установить его.

Как в Linux перевести файл из режима только для чтения в режим чтения и записи?

chmod ugo +rwx имя папки, чтобы всем было разрешено чтение, запись и выполнение. chmod a = r имя папки, чтобы всем было разрешено только чтение.

Как изменить права доступа к каталогу в Linux для владельцев групп и других лиц

  1. chmod g + w имя_файла.
  2. chmod g-wx имя_файла.
  3. chmod o + w имя_файла.
  4. chmod o-rwx имя папки.

Только для чтения добавить для переопределения?

Чтобы сохранить файл, доступный только для чтения, используйте следующую команду: Восклицательный знак после записи-выхода означает переопределение статуса файла только для чтения. … Этот трюк прост и быстр, поэтому вам не придется тратить время на изменение разрешений, если вам нужно простое редактирование.

Какой пароль root для Ubuntu?

Короткий ответ — нет. Учетная запись root заблокирована в Ubuntu Linux. Нет Ubuntu Пароль root в Linux установлен по умолчанию, и он вам не нужен.

Как изменить права доступа к файлам в Ubuntu?

Тип «sudo chmod a + rwx / путь / к / файлу » в терминал, заменив «/ путь / к / файлу» на файл, для которого вы хотите предоставить разрешения всем, и нажмите «Ввод». Вы также можете использовать команду «sudo chmod -R a + rwx / path / to / folder» для предоставления разрешений выбранной папке и ее файлам.

Как мне удалить разрешение только на чтение в Linux?

Чтобы удалить разрешение на чтение в мире из файла, введите chmod или [имя файла]. Чтобы удалить групповое разрешение на чтение и выполнение при добавлении такого же разрешения в мир, вы должны ввести chmod g-rx, o + rx [имя файла]. Чтобы удалить все разрешения для группы и мира, введите chmod go = [имя файла].

Как изменить документ Word с режима только для чтения на редактирование?

Ограничить редактирование

  1. Щелкните Обзор> Ограничить редактирование.
  2. В разделе Ограничения на редактирование установите флажок Разрешить только этот тип редактирования в документе и убедитесь, что в списке указано Без изменений (только чтение).
  3. Щелкните Да, начать усиление защиты.

Как изменить PDF-файл только для чтения на редактируемый?

Как сделать PDF-файл редактируемым

  1. Выберите подходящий конвертер Smallpdf PDF в Word, PPT или Excel для своих нужд.
  2. Перетащите ваш PDF-файл в конвертер.
  3. Сохраните преобразованный файл на свой компьютер и откройте в выбранном формате (Word, PPT или Excel).
  4. Внесите свои правки.
  5. Используйте соответствующий конвертер Smallpdf, чтобы снова преобразовать его в PDF.

Как изменить Excel только для чтения на редактирование?

Для этого:

  1. В проводнике найдите нужный файл Excel.
  2. Щелкните правой кнопкой мыши файл Excel, который хотите отредактировать.
  3. Выберите пункт Свойства.
  4. Перейдите в нижнюю часть вкладки «Общие».
  5. Снимите флажок Только для чтения.
  6. Нажмите ОК, чтобы завершить.

Asked
9 years, 6 months ago

Viewed
7k times

If I would like to lock a file as read-only. Even root can not use an editor to modify it, just allowing any program to open it read-only.

Any suggestions?

Niall C.'s user avatar

Niall C.

10.9k7 gold badges68 silver badges61 bronze badges

asked Aug 1, 2013 at 3:41

Denny's user avatar

4

There is an «immutable» bit for files.

Programs (even running as root) won’t be able to tamper with the file. Of course, root can un-do the bit, but most programs (especially non-malicious ones) won’t get past it.

Set it with

sudo chattr +i file

Quanlong's user avatar

Quanlong

23.3k16 gold badges67 silver badges77 bronze badges

answered Aug 1, 2013 at 3:46

BraveNewCurrency's user avatar

BraveNewCurrencyBraveNewCurrency

12.5k2 gold badges42 silver badges50 bronze badges

1

you should have root perms

sudo chattr +i file

answered Feb 5, 2014 at 20:21

Dharmanshu Kamra's user avatar

You can use Perl or another language to create a file lock

How do I lock a file in perl

But, root could kill the process can gain access to the file.

Community's user avatar

answered Aug 1, 2013 at 3:47

traxs's user avatar

traxstraxs

2961 silver badge5 bronze badges

1

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить файл rar на scs
  • Как изменить файл properties
  • Как изменить файл ppsx
  • Как изменить файл pkg
  • Как изменить файл ods

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии