Могу ли я установить программу Linux на раздел NTFS?

Итак, я знаю, что вы можете обмениваться файлами между операционными системами с разделами NTFS, но могу ли я установить пакеты / программы / программное обеспечение linux в раздел NTFS, и они будут нормально работать в ОС Linux?

Моя ситуация:

  • У меня есть SDD с низким объемом памяти. У него есть Windows, и я разделю его на Linux. Я надеюсь, что я могу дать 20 ГБ для root Linux Arch (/) и этого было бы достаточно.

  • У меня есть жесткий диск для больших файлов и программ, сейчас здесь только большие программы для Windows, но я также хотел добавить туда и большие программы для Linux.

Я понимаю, что Linux хранит двоичные файлы в /bin папка, поэтому я не уверен, если бы я установить что-то на жестком диске, чтобы это работало.

Этот ответ подразумевает, что мне нужно создать раздел ext4 внутри жесткого диска, чтобы установить на него программы (или сохранить на нем данные о программах).

Вы можете создать раздел ext4 на жестком диске и смонтировать его на /home/[your user name]/.wine
Вы можете создать отдельный раздел Steam (ext4) на жестком диске, если хотите.

это также говорит:

Только подпрограммы "static-binary" могут быть установлены (скорее скопированы) в подпапках /home и могут работать.

Кажется, это будет ответом на мой вопрос, но я не уверен, что это значит.

2 ответа

Способ работы с разделами в Unix/Linux сильно отличается от способа Windows. В Linux большинство программ и связанных с ними файлов имеют довольно жестко определенные местоположения, установленные их авторами или упаковщиками. Как правило, двоичные файлы программы входят в /bin, /sbin, /usr/bin, или же /usr/sbin, Общие библиотеки входят в /lib или же /usr/lib, Общесистемные файлы конфигурации входят в /etc и пользовательские файлы конфигурации находятся в домашних каталогах пользователей. Файлы поддержки (графика, аудиоклипы и т. Д.) Располагаются в разных местах в зависимости от типа файла. Все это определено в стандарте иерархии файловых систем Linux (FHS).

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

Вы не предоставили мне достаточно информации, чтобы знать, сколько места вам понадобится в отдельных каталогах, но, говоря в общих чертах, большинство установок Linux для настольных компьютеров / ноутбуков занимают примерно 15-40 ГБ без учета пользовательских данных. Настоящими космонавтами в таких установках, как правило, являются большие пользовательские файлы - цифровые фотографии, коллекции MP3, .iso файлы изображений и особенно видео. Это все пользовательские файлы, которые идут в /home каталог. Таким образом, отщепление /home часто является главным приоритетом, когда вам нужно обрезать размер основного раздела Linux. Помимо этого, вы можете разделить каталоги, как /var, /tmp, и другие; но, не зная намного больше о вашей ожидаемой конфигурации, сложно сделать конкретные предложения. 20 ГБ может быть достаточно для ваших нужд, один раз /home отщепляется; но я не могу быть уверен в этом.

OTOH, некоторые используют положить много файлов в другом месте. /var Например, дерево каталогов часто бывает огромным на определенных типах серверов. Ваш вопрос подразумевает, что вы, возможно, устанавливаете программы Windows для использования с WINE, и это еще одно исключение из обычных правил - в зависимости от того, как вы конфигурируете WINE, эти двоичные файлы могут быть где угодно. (Лично я не стал бы устанавливать много больших программ для использования с WINE, но это может быть только я. ИМХО, WINE лучше всего использовать для случайных программ, и желательно для небольших, а не для нескольких больших программ. Если вам нужно для запуска нескольких больших программ Windows, я бы порекомендовал запускать их в Windows, а не в Linux.)

Все это является необходимым фоном, чтобы вы могли понять, почему ваш главный вопрос об установке программ Linux в NTFS не имеет особого смысла. Программы для Linux разбросаны таким образом, что единственный способ полностью установить большинство программ для Linux на NTFS - это использовать корень NTFS (/) файловая система, и это просто не будет работать. В принципе, вы можете избежать использования NTFS в каком-то непонятном подкаталоге; но Linux стремится настроить владельца и разрешения во многих своих каталогах, поэтому даже если вы нашли каталог, в котором вы можете использовать NTFS, он может не сохраниться при установке какого-либо нового пакета. Однако, если вы планируете устанавливать большие пакеты с использованием WINE, вы можете выделить для этого какой-то каталог, смонтировать там раздел NTFS и настроить WINE на использование этого каталога, как если бы он был C:, AFAIK, программы Windows, запускаемые из WINE, могут работать из NTFS просто отлично. Используя ваш фактический Windows C: разделение таким способом может быть нецелесообразным; WINE может внести изменения в свою конфигурацию, которые не будут хорошими. (OTOH, я не эксперт WINE, так что, возможно, есть способ сделать это достаточно безопасно. Совместное использование загрузочных разделов ОС всегда, по крайней мере, немного рискованно.)

Другой вариант, который вы могли бы рассмотреть, чтобы обойти ограниченное пространство, которое у вас есть на вашем SSD, это использовать Logical Volume Management (LVM). Этот инструмент позволяет объединять несколько разделов (физических томов или PV в языке LVM) в группы томов (VG), а затем разбивать эти VG на логические тома (LV). Одним из преимуществ является то, что полученные LV могут иметь размеры, отличающиеся от размера PV, поэтому, если у вас есть два небольших раздела, вы можете объединить их вместе и создать один LV, который охватывает оба из них. В вашем случае это было бы полезно для подгонки рута (/) файловая система, скажем, 30 ГБ на комбинации из 20 ГБ свободного места на SSD и 10 ГБ на жестком диске. Скорость доступа будет сильно варьироваться, но это может быть лучше, чем поставить рут (/) файловая система целиком на жестком диске.

Еще одним вариантом может быть использование bcache. Это метод использования SSD в качестве, по сути, очень большого кеша для жесткого диска. Я немного играл с bcache, но я не эксперт в этом. Утверждение состоит в том, что он может производить скорости, которые приближаются к скоростям SSD на гораздо больших дисках. В принципе, вы можете использовать 20 ГБ дискового пространства, которое у вас есть на SSD, в качестве кеша для большего пространства на жестком диске.

Чисто отвечая на заглавный вопрос: "Могу ли я установить программу linux на раздел ntfs?"

Да. Но не легко, и это может работать неправильно или вообще, даже если кажется, что установка прошла. Даже те программы, которые состоят только из архива, который вы раскрываете и затем вводите / path / to / where_you_put_it / some_executable, не всегда будут работать. Иногда они пишутся с предположениями о разрешениях файлов в архиве. Когда архив разворачивается в файловой системе, которая не поддерживает те же разрешения, приложение может завершиться ошибкой, и сообщения об ошибках не всегда полезны. Можешь попробовать. Иногда это будет работать.

И да, что сказал Хейннема в комментарии (который я проголосовал) - если вы хотите использовать ntfs, было бы более разумно переустановить там большинство ваших программ Win, а затем сжать ваш раздел Win. Программы Win обычно пишутся с предположением, что они будут установлены на NTFS или FAT.

Другие вопросы по тегам