Путаница с использованием диска: в домашнем разделе Linux на SSD отсутствует 10G

Porque la 'ejecutabilidad' de un archivo es una propiedad de la entrada del archivo en los sistemas UNIX, no del tipo de archivo como lo es en Windows.

En resumen, lsenumerará un archivo como ejecutable si alguno de los propietarios, el grupo o todos tienen permisos de ejecución para el archivo. No importa cuál sea el tipo de archivo, solo cuáles son los permisos. Este comportamiento brinda dos beneficios significativos:

  1. No tiene que hacer nada especial para manejar nuevos formatos ejecutables.Esto es particularmente útil para los lenguajes de secuencias de comandos, donde simplemente puede incrustar el intérprete con una línea #!en la parte superior del archivo. El kernel no tiene que saber que los archivos .pyson ​​ejecutables, porque los permisos así lo indican. Esto también, cuando se combina con el soporte binfmt_miscen Linux, hace posible hacer cosas realmente interesantes, como tratar los programas de la consola de Windows como binarios nativos si tiene Wine instalado.
  2. Le permite decir que ciertos archivos que técnicamente son código de máquina no pueden o no deben ejecutarse. Esto también se usa principalmente con lenguajes de secuencias de comandos, donde no es inusual tener bibliotecas que son indistinguibles en términos de formato de archivo de ejecutables. Entonces, usando el ejemplo de Python anterior, le permite decir que las personas no deberían poder ejecutar módulos arbitrarios desde la biblioteca estándar de Python directamente, aunque tengan una extensión .py.

Sin embargo, todo esto se desmorona si está atascado tratando con sistemas de archivos que no admiten permisos POSIX, como FAT (o NTFS si no tiene asignaciones de usuario -configuradas )]. Si el sistema de archivos no almacena permisos POSIX, entonces el sistema operativo tiene que simularlos. En Linux, el valor predeterminado es tener permisos de lectura, escritura y ejecución establecidos para todos, de modo que los usuarios puedan hacer lo que quieran con los archivos. Sin esto, no podría ejecutar scripts o archivos binarios desde una unidad flash USB, porque el kernel no le permite modificar los permisos en dichos sistemas de archivos por archivo -.

En su caso particular, gitalmacena los atributos que ve en los archivos cuando se confirman, y probablemente ocurrió la confirmación original del archivo README.md (o una de las confirmaciones posteriores )en un sistema Windows, donde estas cosas se manejan de manera muy diferente y, por lo tanto, gitsolo almacena los permisos como acceso completo para todos, de manera similar a cómo Linux maneja los sistemas de archivos sin soporte de permisos.

15
30.06.2019, 04:46
2 ответа

Если файловая система ext4, существуют зарезервированные блоки, в основном для облегчения обработки и предотвращения фрагментации, доступные только пользователю root. Для этого параметра его можно изменить в реальном времени с помощьюtune2fs(не все параметры могут быть обработаны таким образом, когда файловая система смонтирована):

-m reserved-blocks-percentage

Set the percentage of the filesystem which may only be allocated by privileged processes. Reserving some number of filesystem blocks for use by privileged processes is done to avoid filesystem fragmentation, and to allow system daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem. Normally, the default percentage of reserved blocks is 5%.

Итак, если вы хотите уменьшить резервирование до 1% (~2 ГБ )и получить доступ к ~8 ГБ свободного места, вы можете сделать это:

sudo tune2fs -m 1 /dev/nvme0n1p8

Обратите внимание, :опция -mфактически принимает десятичное число в качестве параметра. Вы можете использовать -m 0.1, чтобы зарезервировать только около ~200 МБ (и получить доступ к большинству из ранее недоступных 10 ГБ ). Вы также можете использовать опцию -rдля резервирования напрямую по блокам. Вероятно, не рекомендуется иметь 0 зарезервированных блоков.

22
27.01.2020, 19:49

Удаленные файлы также могут способствовать «отсутствию места»

lsof | grep deleted | grep /home

возвращает этот вывод для меня

chrome    11181           criggie   15u      REG              254,0   
4194304  50651663 /home/criggie/.config/google-chrome/BrowserMetrics/BrowserMetrics-5D0236AF-2BAD.pma (deleted)

Это показывает, что Chrome с PID 11181 открыл этот файл BrowserMetrics, а затем удалил его, но дескриптор файла все еще остается открытым. Это означает, что файл невидим в списке каталогов, но по-прежнему занимает место на диске.

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

Чего я не вижу, так это размера дискового пространства, используемого этим файлом.

10
27.01.2020, 19:49

Теги

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