Как установить linux mint на внешний жесткий диск как полноценную ос

Как вы, наверняка, уже знаете, файловая система в Linux структурирована несколько иначе, чем в Windows. Здесь нет физических дисков — есть просто логическое дерево файловой системы с корнем наверху (да, мы знаем, что корни должны быть внизу, но это перевернутое дерево).

Создать Символическую Ссылку в Linux

Легко запомнить: В целом, синтаксис команды ln такой же, как и команд cp или mv, в частности <источник> <назначение>.

Используйте следующий синтаксис для создания символической ссылки в Linux:

$ ln -s <ИСТОЧНИК> <ИМЯ_ССЫЛКИ>

Как вы можете видеть, в создании символических ссылок нет ничего сложного.

Тем не менее, вы должны знать, что в соответствии с документацией в man, по умолчанию, каждая точка назначения (<LINK_NAME>) не должна заранее существовать.

Если путь к <ИМЯ_ССЫЛКИ> существует и это файл, вы получите ошибку «ln: failed to create symbolic link ‘<ИМЯ_ССЫЛКИ>’: File exists».

Если путь к <ИМЯ_ССЫЛКИ> это существующая директория, ссылка будет создана внутри этой директории.

Как создать символическую ссылку на любой системе?

Это интересно: Как использовать SSD правильно?

К примеру, возьмем файл изображения под названием , находящийся на обычном жёстком диске E, но я хочу перенести его на SSD (диск С). Допустим, файл находится по следующему пути: E:\, а мне нужно, чтобы он находился чисто в каталоге (С:), тогда я в командной строке пропишу следующую команду:

mklink C:\ E:\

Перед этим он должен находится на диске Е. После этого вы увидите сообщение, что символическая ссылка создана.

На диске (С:) появился файл , но он там находится не физически, это что-то типа ярлыка, а сам файл всё еще находится в папке (E:).

То же самое можно проделать и с папками. Предварительно создаем или переносим в старое место каталог с любым именем, скажем «folder» и прописываем в командной строке следующее:

mklink /D С:\folder E:\folder

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

При использовании параметров \J и \D дают одинаковый эффект.

Как создать символическую ссылку на любой системе?

Чтобы удалить символическую ссылку необходимо выполнить такую команду:

erase С:\namefile

Либо так:

del С:\namefile

Чтобы удалить символьную ссылку на каталог, выполняем команду:

rmdir C:\folder

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

Ну вроде бы всё, что нужно знать об этой функции.

Шаг Создание символических ссылок

Давайте создадим несколько ссылок. Начнем с символических, поскольку они наиболее распространены в большинстве систем. Хотя символические ссылки могут быть созданы где угодно, мы создадим их в каталоге metasploit-framework, чтобы облегчить себе запуск msfconsole.

Для начала перейдите в каталог /usr/share/metasploit-framework.

кali > cd /usr/share/metasploit-console

Шаг Создание символических ссылок

Посмотрим на содержимое этой директории.

кali> ls -l

Чтобы создать символическую или мягкую ссылку, мы воспользуемся командой ln (от слова «link») с ключом -s (символическая) и укажем имя файла, на который хотим сослаться (целевой файл). Затем зададим имя для ссылки, которую хотим создать. Вы можете использовать как относительные пути, так и абсолютные пути для связывания двух файлов.

Обычно, когда мы хотим войти в консоль Metasploit, мы вводим msfconsole, помните? Теперь давайте предположим, что мы хотим изменить это так, чтобы мы могли просто набрать в консоли metasploit и войти в консоль, вместо того чтобы постоянно помнить это неудобное слово — «msfconsole». Можно связать новый файл metasploit со старым файлом msfconsole (т.е. сделать ссылку), чтобы всякий раз, когда мы вводим в консоль metasploit, он переадресовывался на msfconsole.

Вот как можно это сделать

kali> ln -s msfconsole metasploit

Шаг Создание символических ссылок

Обратите внимание, насколько маленький размер у символического файла-ссылки metasploit. Всего лишь 12 байт, потому что это только указатель, путь к файлу, к которому он привязан.

Читайте также:  Midnight Commander: установка и настройка в Linux

Теперь, для того чтобы войти в msfconsole, мы можем просто ввести либо metasploit, либо msfconsole, и оба приведут к одному и тому же месту — консоли Metasploit Framework.

Альтернативный взгляд

Опция -y (рядом) использует другую компоновку для описания различий в файлах. Часто удобно использовать параметр -W (ширина) с видом рядом, чтобы ограничить количество отображаемых столбцов. Это позволяет избежать появления уродливых строк, которые затрудняют чтение. Здесь мы указали diff производить параллельное отображение и ограничивать вывод до 70 столбцов.

diff -y -W 70 alpha1 alpha2

Альтернативный взгляд

Первый файл в командной строке, alpha1, показан слева, а вторая строка в командной строке, alpha2, показана справа. Строки из каждого файла отображаются рядом. Рядом с этими строками в alpha2 есть символы индикатора, которые были изменены, удалены или добавлены.

  • |: Строка, которая была изменена во втором файле.
  • <: Строка, которая была удалена из второго файла.
  • >: Строка, добавленная ко второму файлу, которого нет в первом файле.

Если вы предпочитаете более компактную сводную информацию о различиях в файлах, используйте параметр —suppress-common-lines. Это заставляет diff перечислять только измененные, добавленные или удаленные строки.

Альтернативный взгляд

diff -y -W 70 —suppress-common-lines alpha1 alpha2

Символическая ссылка (еще известная как мягкая ссылка или симлинк) — это особый файл (запись) который указывает на фактическое местоположения файла или папки на диске (как ярлык в Windows).

Символические ссылки постоянно используются для линкования библиотек и часто используются для линкования файлов и папок на удаленной файловой системе примонтированной по NFS.

Команда ln — это стандартная утилита в Linux для создания ссылок.

Дельный Совет: Создаете симлинк к примонтированной NFS шаре? Уже задумывались о производительности? Проверьте скорость ЧТЕНИЯ/ЗАПИСИ на удаленной шаре из командной строки в Linux! Читать далее →

Ниже вы найдете как создавать символические ссылки на файлы и папки из командной строки в Linux.

Регистр имен

Также стоит отметить чувствительность файловой системы Linux к регистру. Файлы и будут интерпретироваться как разные файлы и могут находиться в одной директории, в отличие от ОС Windows, который не различает регистр имен. То же правило действует и на каталоги — имена в разных регистрах указывают на разные каталоги.

Назначение каждой директории регламентирует «Стандарт иерархии файловой системы» FHS (Filesystem Hierarchy Standard). Ниже опишем основные директории согласно стандарту FHS:

Регистр имен

Стандарт иерархии файловой системы

  • / — root каталог. Содержит в себе всю иерархию системы;
  • /bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);
  • /boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);
  • /dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;
  • /etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;
  • /home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;
  • /lib — содержит системные библиотеки, с которыми работают программы и модули ядра;
  • /lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;
  • /media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;
  • /mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;
  • /opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);
  • /proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;
  • /root — директория, которая содержит файлы и личные настройки суперпользователя;
  • /run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;
  • /sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;
  • /srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);
  • /sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;
  • /tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;
  • /usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;
  • /var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.
Читайте также:  Лучшие читалки для Linux

Смена владельца файла в Linux

Чтобы изменить владельца файла, вы можете использовать команду chown. Вы можете легко догадаться, что chown означает смену владельца.

Вы можете изменить владельца файла следующим образом:

chown <new_user_name> <filename>

Если вы хотите изменить пользователя и группу, вы можете использовать команду chown следующим образом:

chown <new_user_name>:<new_user_group> <filename>

Если вы просто хотите изменить группу, вы можете использовать команду chown следующим образом:

chown :<new_user_group> <filename>

или используйте команду chgrp, специально предназначенную для смены владельца группы файла или каталога. Вы можете догадаться, что chgrp обозначает группу изменений.

chgrp <new_user_group> <filename>

До сих пор в нашем примере, если вы хотите изменить владельца пользователя и группу на root, вы можете использовать команду chown следующим образом:

sudo chown root:root

Это изменит владельца файла на root как для пользователя, так и для группы.

-rw-rw—- 1 root root 457 Aug 10 11:55

Заметьте, что я должен был использовать sudo с chown? Это потому, что здесь задействован root, и чтобы иметь дело с root, вам нужны права суперпользователя.

Бонусный совет: есть ли приоритет в правах доступа к файлам?

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

—-r—rw- 1 abhi itsfoss 457 Aug 10 11:55

Теперь, если пользователь abhi попытается прочитать файл с помощью команды cat или less, сможет ли он это сделать? Ответ — нет, потому что у него нет разрешения на чтение.

Но пользователь abhi является частью группы itsfoss, и группа имеет доступ для чтения. Черт! другой имеет разрешение на чтение и запись. Это должно означать, что каждый (включая пользователя abhi) может читать и писать файл, верно? Неправильно!

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

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

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

Установка, обновление и удаление пакетов

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

apt (в Debian, Ubuntu и им подобных)

sudo apt-get install название пакета — устанавливает пакет из подключенных репозиториев. Ищется по названию и версии.

sudo apt remove название пакета — удаляет из системы установленный пакет.

sudo apt purge название пакета — удаляет установленный пакет и вместе с ним уничтожает все зависимые данные. От приложения не остается никаких следов. Такой вариант подходит, когда нужна полная переустановка пакета «с нуля».

sudo apt autoremove — автоматически выполняет уборку среди установленных пакетов, убирая ненужные остатки кода.

sudo apt-add-repository адрес репозитория — подключает к системе дополнительный репозиторий с пакетами, не вошедшими в базу репозиториев по умолчанию. Требуется для установки некоторых редких open-source-приложений.

sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo apt-upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

dnf (в Red Hat Linux, CentOS, Fedora)

sudo dnf install название пакета — устанавливает программу на выбор.

sudo dnf config-manager –add-repo адрес репозитория — подключает к системе дополнительный репозиторий.

sudo dnf upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

Читайте также:  Как установить iOS11 бета на iPhone/iPad? (+откатить обратно)

sudo dnf autoremove — разыскивает мусор среди имеющихся пакетов и в автоматическом режиме вычищает его.

pacman (в Arch Linux и Manjaro)

sudo pacman -S название пакета — устанавливает пакет на выбор.

sudo yaourt -S название пакета — устанавливает пакет на выбор из репозитория AUR.

sudo pacman -Sy — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo pacman -Syu — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo pacman -R название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo pacman -Rs название пакета — стирает не только установленное приложение, но и все зависимые от него элементы.

Как установить linux mint на внешний жесткий диск как полноценную ос

Установка Ubuntu на внешний носитель (флешку или жесткий диск) в режиме EFI

Ежегодного после Software Freedom Day проходит уже ставший традиционным Linux Install Fest, где все желающие могут получить помощь в установке дистрибутива GNU/Linux на свои ноутбуки.

Вообще говоря, процедура установки современного дистрибутива GNU/Linux вроде Ubuntu не представляет никаких сложностей, даже в том случае, если его необходимо установить рядом с Windows 8/10 в режиме UEFI и включенным Secure Boot.

Как установить linux mint на внешний жесткий диск как полноценную ос

Но что делать, если требуется поставить GNU/Linux в режиме UEFI на внешний жесткий диск, флешку или карту памяти?

Казалось бы, вставляешь внешний носитель, и устанавливаешь GNU/Linux стандартным образом.

Но, к сожалению, все не так просто. Если вы начнете устанавливать GNU/Linux в таком режиме, то после перезагрузки вы уже не сможете загрузиться с внутреннего жесткого диска при отключенном внешнем носителе.

Проблема заключается в том, что при вызове update-grub обновляется содержимое NVRAM UEFI. Туда прописывается адрес EFI файла который находится на внешнем носителе, а информация о том, как грузиться со встроенного жесткого диска удаляется. Более подробно о процессе загрузке можно почитать здесь: -bootloaders/

Зачем вообще ставить GNU/Linux на внешний носитель? Причины могут быть различны. Например, я столкнулся с проблемой, что на встроенном диске недостаточно места для установки двух ОС. Серьезно, в ноутбуке был установлен SSD объемом 32ГиБ, чего с трудом хватало даже для работы голой Windows 8.1.

Как установить linux mint на внешний жесткий диск как полноценную ос

Так же многие новички боятся ставить незнакомую ОС на свой компьютер, или не уверены, нужна ли она им вообще, а попробовать хочется. В этом случае флешка с полноценным GNU/Linux идеальный вариант. (Не просто LiveUSB, а полноценно установленная ОС, как если бы она была установлена на жесткий диск, чтобы оценить все её достоинства).

В качестве примера будем ставить на внешний диск Ubuntu

В качестве хост-системы используется Kubuntu

Потребуется следующий набор ПО:

Для начала скачаем образ Ubuntu :

Как установить linux mint на внешний жесткий диск как полноценную ос

Создадим vmdk, чтобы этот “диск” можно было подключить в VirtualBox:

Теперь приступим к созданию виртуальной машины со следующими характеристиками:

Теперь запускаем виртуальную машину, выбираем загрузочный диск, устанавливаем и настраиваем систему.

Из ньюансов: я рекомендую сделать разбивку жесткого диска следующим образом:

Почему-то после установки Ubuntu VirtualBox отказался грузить установленную систему. При повторной установке проблем не возникло. Странно. Потом нужно будет разобраться.

Как установить linux mint на внешний жесткий диск как полноценную ос

После установки необходимо немного порпавить конфигурационные файлы grub.

Для того, чтобы grub не трогал память NVRAM UEFI необходимо отредактировать файл /etc/grub.d/30_uefi-firmware следующим образом: добавить exit 0 сразу после #!/bin/sh :

Но это еще не все, по умолчанию UEFI ищет загрузочные образы не в том месте, куда их кладет grub, поэтому нам нужно создать еще один скрипт /etc/grub.d/42_custom со следующим содержанием:

и сделать его исполняемым

Вот и все! Теперь осталось обновить загрузчик и можно приступать к копированию образа на реальный диск:

Как установить linux mint на внешний жесткий диск как полноценную ос

Далее вам следует быть предельно острожным, и не перепутать буквы диска. Будьте внимательны. Так же Вам необходимо выполнять все нижеописанные команды от имени суперпользователя.

Для эксперимента возьмем внешний жесткий диск и зальем на него созданный образ:

теперь запустим GParted и выставим нужный размер разделов (При запуске GParted скорее всего ругнется, что геометрия диска /dev/sdX не совпадает с таблицей разделов. Смело жмем “Fix”)

Теперь можно подключать жесткий диск к ноутбуку смело загружаться в GNU/Linux!

В случае, если потребуется добавить своп, то можно воспользоваться следующим рецептом:

Как установить linux mint на внешний жесткий диск как полноценную ос

Создаем своп файл (от имени суперпользователя):

И добавляем в конец /etc/fstab следующую строку:

На этом, пожалуй, все. Всем добра и пингвинов!

Ссылки

Все материалы сайта, если не указано иное, распространяется под лицензией Creative Commons Attribution-ShareAlike 4.0 International License (c) Алексей Дураченко.

Как установить linux mint на внешний жесткий диск как полноценную ос

Источник