- Не могу удалить файл из под root’а
- Re: Не могу удалить файл из под root’а
- Re: Не могу удалить файл из под root’а
- Re: Не могу удалить файл из под root’а
- Re: Не могу удалить файл из под root’а
- Re: Не могу удалить файл из под root’а
- Re: Не могу удалить файл из под root’а
- Re: Не могу удалить файл из под root’а
- Невозможно удалить файл — нет такого файла или каталога
- 11 ответов
- Предупреждение: для использования этих инструкций потребуется debugfs . Они могут вызвать потерю данных.
- Не получается удалить файл — операция не позволена
- chattr
- Удаление открытого файла в Linux
- Удаление открытого файла в Linux
- Подготовка
- Свободное место и свободные иноды
- Создание файлов на диске
- Эксперимент с удалением открытого файла
- Завершение эксперимента
- Выводы
Не могу удалить файл из под root’а
Проблема такая: команда
#rm -f /usr/sbin/squid
выдаёт мне
rm: cannot remove `/usr/sbin/squid’: Permission denied
при том, что выполняю её я из под root’а.
Я уже что только не пробовал (и chattr -i /usr/sbin и chattr -i /usr/sbin/squid) — никакого эффекта. Подскажите в чём может быть дело, а то squid не хочет запускаться, я хочу его переустановить, но из-за этой ошибки не могу.
Re: Не могу удалить файл из под root’а
Re: Не могу удалить файл из под root’а
Re: Не могу удалить файл из под root’а
Re: Не могу удалить файл из под root’а
Вот что даёт команда
#ls -l /usr/sbin/squid
-rwxr-xr-x 1 root root 698272 Feb 12 2006 /usr/sbin/squid
Т. е. все права у меня есть, но почему файл не удаляется.
Re: Не могу удалить файл из под root’а
Да, совсем забыл
#ls -ld /usr/sbin
drwxr-xr-x 2 root root 12288 Oct 3 14:21 /usr/sbin
Re: Не могу удалить файл из под root’а
может быть партиция замонтирована в режиме ro?
что говорит mount?
Re: Не могу удалить файл из под root’а
На самом деле вот из-за чего это мне всё нужно (я устанавливаю squid из rpm): #rpm -ivh squid-2.5.STABLE12-5.1.i386.rpm
warning: squid-2.5.STABLE12-5.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2 Preparing. ########################################### [100%] 1:squid ########################################### [100%] error: unpacking of archive failed on file /usr/sbin/squid;470329d0: cpio: open failed — Operation not permitted
На этом установка прекращается (т. е. squid не устанавливается). Пробую удалить файлы squid;470329d0 и squid из /usr/sbin, а мне говорят, что нельзя 🙁
Проверка раздела (fsck) тоже не помогла — я специально только что создал раздел, перекинул на него данные со старого и подключил новый раздел вместо старого. До того как примонтировал новый раздел без труда смог удалить с него /usr/sbin/squid, но после монтирования (и очередной попытки установки squid’а из rmp) уже не могу удалить только что созданный /usr/sbin/squid. Не хватает прав. Подскажите, что за безобразие?
Источник
Невозможно удалить файл — нет такого файла или каталога
Функциональность, которую вы собираетесь использовать, — это то, для чего было разработано приложение WingPanel. Вы можете установить его из PPA, добавив ppa: ripps818 / wingpanel в источники программного обеспечения вашей системы.
Также есть несколько полезных инструкций по установке WingPanel (или настройка панели gnome аналогично тому, как предлагалось Bubblegum): http://maketecheasier.com/wingpanel-super-sexy-space-saving-top-panel/2011/01/05
11 ответов
Глядя на ваши скриншоты, я вижу, что у вас установлена группа root. Я бы попробовал использовать chown и посмотреть, решит ли это проблему.
Замена [username] на ваше имя пользователя.
Вы получите пару ошибок.
покажи нам терминал . сделай ll | grep panorama и покажи нам это; добавьте его в свой вопрос .
Я предлагаю сделать как root rm -f panorama.jpg .
в человеке Р.М. я нашел это:
Я знаю, что это старый файл, но у меня была та же проблема, что и у вас, только с папкой, а не с файлом. Ни один из предложенных здесь методов не сработал.
Мне удалось решить проблему, создав папку в том же положении и с тем же именем, что и я, которую я не мог удалить. Папка была создана правильно и «заменила» несуществующую. Затем я просто удалил новую папку, и проблема исчезла. Просто так.
У меня была такая же проблема. Это была проблема в индексных записях раздела. Я решил это, запустив Windows, если у вас двойная загрузка, или вставьте live CD Windows XP или Windows 7, а затем выполните следующие действия:
- Поиск КОМАНДЫ ПОДСКАЖИТЕ, что: cmd верно -click -> Запуск от имени администратора.
- chkdsk /f/x D: (где D — буква вашего диска).
- Нажмите Y, если он запрашивает Y / N
- Проверьте диск на наличие файла, который вы хотите удалить. Может быть, он удален или вы можете удалить его.
Непечатные символы в именах файлов могут вызывать такие проблемы, как пробел. Попробуйте интерактивную опцию rm и скажите ‘Y’ файлу, который вы хотите удалить »
rm -i» * pan * «Обратите внимание на использование * s для сопоставления любым (даже не печатным) символам .
Может быть, был удален inode, но не запись в каталоге. Попробуйте ls -i, чтобы увидеть inode. Fsck файловая система, чтобы решить эту проблему.
Предупреждение: для использования этих инструкций потребуется debugfs . Они могут вызвать потерю данных.
Они адаптированы к исходной проблеме и могут быть точными или неточными для любых будущих посетителей этой страницы. Любая потеря данных может быть непоправимой или даже усугублена fsck .
Это может быть потерянный инод. Пожалуйста, запустите ls -li , чтобы получить список номеров инодов, затем вы можете попытаться сбросить указанный инод. Например, если ваш ls -li выглядит следующим образом:
, то номер индекса равен 4980758, как показано в списке в качестве первого столбца.
Затем вы можете попытаться сбросить индекс. Пожалуйста, прочитайте весь пост, прежде чем делать что-нибудь .
Запустите debugfs от имени пользователя root:
и введите команду open /dev/sda1 с правильным блочным устройством для вашего раздела.
Затем дайте команду, чтобы сбросить индекс, номер которого вы получили ранее:
, используя и > вокруг номера индекса.
Если он читает какой-то случайный текст, закройте терминал и откройте его снова. Запустите debugfs еще раз и снова введите команду open .
Теперь вы можете попробовать удалить файл. Это может привести к серьезному повреждению файловой системы.
Обратите внимание, что это можно сделать, даже если выяснится, что в файле никогда не было inode. Попробуйте команды по одной в порядке, указанном выше. Выйдите из debugfs и проверьте, существует ли файл. Если нет, начните снова, но следуйте следующей инструкции.
Источник
Не получается удалить файл — операция не позволена
Дистр/система-то какая? В BSD есть «супер» флаг у файлов.
Пробовал уже, то же самое.
ps: может папка bin только для чтения?
Проверил на соседнем бинарнике — нормально удалился.
Стим запущен? Может flock делает на файле или типо того?
//me не специалист, просто предполагаю
cast alpha4
Steam не запущен.
Пакет изначально устаналивался из AUR:
Потом приплыло обновление из комьюнити-репозитория:
После чего я снёс проблемный пакет, а файл так и остался.
Вон оно че. У вас в стиме можно так?!
chmod 775 /usr/bin/steam ; rm -f /usr/bin/steam
Спасибо за найденное решение 🙂
Выставление прав доступа тоже не было позволено.
Что-то я не понял, как они это сделали?
А тут не понимать надо, а знать.
A file with the `i’ attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
зы: я тоже не знал 🙂
У меня похожая проблема. chattr пишет chattr: Неприменимый к данному устройству ioctl while reading flags on brightness
А к чему ты пытаешься его применить? Почитай man там много зависит от типа fs и опций монтирования.
путь /sys/class/backlight/acpi_video0/brightness. Файловая система ext4. В файле нужно изменить значение, а он даже под рутом не редактируется/удаляется/перезаписывается.
У меня в /sys файловая система sysfs.
Я делал только один раздел под ОС, не монтируя boot, home и прочее в разные разделы. Или он в любом случае будет sysfs?
Неужели его (Файл) никак не изменить?
бгг. RTFM про chattr
такое иногда ещё в /tmp бывает на некоторых дистрах с разными прикольными флажками — ну типа, читать низзя, типа, чукчка не читатель, чукча — писатель. в ASPLinux (не к ночи помянут!) точно такое было.
Не подскажете все таки как изменить права и возможно ли это?
тут жеж уже напейсали:
chattr -i FILE тама кстате ещё флаги есть, забавно ещё a поставить.:-)
chattr: Неприменимый к данному устройству ioctl while reading flags on /sys/class/backlight/acpi_video0/brightness
chattr
дык на /sys не будет работать. на /proc ЕМНИП — тоже.
chattr: Неприменимый к данному устройству ioctl while reading flags on /sys/class/backlight/acpi_video0/brightness
это потому, что /sys/ НЕ является нормальной ФС. И файлы там тоже особые. Ты хоть видишь, ЧТО ты удаляешь? Как ты представляешь себе УДАЛЕНИЕ ЯРКОСТИ МОНИТОРА.
Если уж хочешь удалить, снеси дрова(модуль, ядро), и перезагрузись. Удалится.
Я не хочу его удалять, я хочу изменить значение яркости в файле, написано же все выше, могли бы и прочитать сначала.
Я не хочу его удалять, я хочу изменить значение яркости в файле, написано же все выше, могли бы и прочитать сначала.
да читал я — пойми ЭТО НЕ ФАЙЛ. В этом вашем линуксе всё — файлы, это совсем не значит, что ты можешь мышку удалить/заменить путём операций с /dev/mouse. Голову тоже надо иногда подключать. Процессы тоже так не удаляются, есть команда kill, для завершения процессов. И это не смотря на то, что для каждого процесса есть «каталог» в /proc/.
Мессадж «операция не позволяется» вообще не имеет отношения к правам, а появляется тогда, когда ты что-то делаешь не так. Например пытаешься писать на CD-ROM. Просто EXT4 имеет ценную фичу — она умеет отдельно для каждого файла делать «CD-ROM», в который нельзя писать, а можно только читать. Ещё она имеет CD-R, в который можно только добавлять, а стирать и удалять — нельзя. Но у тебя не EXT4, это специальные каталоги, их нет на диске. Только одна видимость. И авторы драйверов не осилили такой способ изменения яркости, либо вообще, либо ты неправильно пишешь/открываешь.
Да читал я — пойми ЭТО НЕ ФАЙЛ. Мессадж «операция не позволяется» вообще не имеет отношения к правам, а появляется тогда, когда ты что-то делаешь не так. Например пытаешься писать на CD-ROM. Просто EXT4 имеет ценную фичу — она умеет отдельно для каждого файла делать «CD-ROM», в который нельзя писать, а можно только читать. Ещё она имеет CD-R, в который можно только добавлять, а стирать и удалять — нельзя. Но у тебя не EXT4, это специальные каталоги, их нет на диске. Только одна видимость. И авторы драйверов не осилили такой способ изменения яркости, либо вообще, либо ты неправильно пишешь/открываешь.
$ su —
Пароль:
[root@aquila
]# echo 4 > >/sys/class/backlight/acpi_video0/brightness
Извините ошибся /sys/class/backlight/acpi_video0/actual_brightness
Источник
Удаление открытого файла в Linux
Есть ряд каверзных вопросов по Linux, которые вводят в ступор большинство начинающих системных администраторов Linux. Их очень любят задавать на собеседованиях бывалые админы, а в интернете про ответы на них не написал только ленивый. В топе уже наверно полтора десятилетия держится вопрос про удаление открытого файла в Linux. Тем не менее кандидаты все также из раза в раз продолжают делать круглые глаза. Максимум, что от них можно услышать — это «Иноды. Я слышал про иноды, но больше про них ничего не знаю».
Чтобы раз и навсегда внести ясность в этот вопрос и была написана эта статья.
Удаление открытого файла в Linux
Чтобы проверить как работает файловая система в Linux, проведем небольшой эксперимент.
Подготовка
Для проведения всех тестов нам необходима виртуальная машина с практически любым дистрибутивом Linux и дополнительный диск. Благо в век виртуализации это сделать проще простого. Для наглядности возьмем диск в пару гигабайт и заранее подготовим его (базовые операции с дисками рассмотрим в другой статье).
Представим, что вы впервые вошли по ssh на сервер, у вас рутовые права и ваша задача просто разобраться с дисковой подсистемой.
Свободное место и свободные иноды
Первое, что мы сделаем, это проверим диски всем знакомой командой df (лишние данные убраны из вывода):
Утилита отображает занятое на файловой системе место в блоках 1К. Этой информации в большинстве случаев хватает лишь для констатации факта о % свободного места и не стоит на этом останавливать диагностику.
Проблемы с записью новых файлов может вызвать также нехватка инодов (inodes), поэтому полезно будет их проверить той же командой, но с другим ключом:
Используется 1% места на разделе. Запоминаем вывод команд, он нам понадобится для последующего анализа.
Создание файлов на диске
Далее создадим один большой файл на нашем диске. Сделать это проще всего утилитой dd, которая поставляется по умолчанию вместе с системой (предварительно создадим пару каталогов):
И ещё создадим 10 маленьких файлов, но другим способом:
Теперь снова смотрим два вывода df:
Как видно, теперь на диске занято 75%. А что с инодами?
Количество инод изменилось на 13, хотя файлов мы создали всего 11.
Эксперимент с удалением открытого файла
Теперь посмотрим на ситуацию другой утилитой, которую также обязательно нужно использовать для диагностики. Речь о du:
Примерно занят 1ГБ.
Теперь сымитируем что-то похожее на блокировку файла (если будут предупреждения, соглашайтесь):
Команда просто открывает файл на чтение и отправляет задание в бэкграунд. Теперь удаляем файл:
После этого проверяем свободно место:
И свободные иноды:
В итоге место не освободилось, хотя файл, казалось бы, удален. Инодов используется столько же. Но может быть du покажет нам что-то другое:
Занято 8Кб. Ок, есть ещё одна утилита, которая лучше других объяснит что происходит, это lsof:
Мы посмотрели все, что хотели, можно заканчивать.
Завершение эксперимента
Сворачиваем наш эксперимент — убиваем процесс, который мы ранее запустили в фоновом режиме:
Теперь снова проверяем свободное место:
Большой файл удалился, место и иноды освободились. Смысла проверять вывод du нет, она покажет то же самое, что и в предыдущий раз.
Выводы
Что все же произошло? А произошло следующее: информация от du и df до удаления большого файла была очевидной и объяснений не требует. За исключением одного момента — почему файлов создали 11, а количество инодов увеличилось на 13? Тут все просто. Наверно все слышали выражение, что все в линуксе — файл 1 ? И каталог тоже, а их мы создали два.
Далее мы удалили файл, который открыт на чтение другим процессом. Команда rm удалила ссылку на файл, которую хранит объект каталога, но не смогла удалить файл физически с диска, поскольку файл был открыт на чтение другой программой.
Хоть файл уже и не имел имени, но все ещё имел файловый дескриптор (= инод), к которому продолжала обращаться программа. Это было также хорошо заметно по выводу lsof — файл был помечен как удаленный. Как только программу остановили, файл освободился и система смогла завершить начатое — удалить файл и зависимые структуры данных на диске окончательно.
В показаниях утилиты du также нет ничего странного, ведь она считывает все перечисленные имена файлов в каталоге и оценивает их размер. Поскольку ссылку на имя большого файла удалили, du не смогла оценить его объем, зато это смогла сделать df, ведь она оценивает реальный занятый объем на диске в блоках без привязки к именам. Вот весь секрет.
Источник