15 Sep 2013 17:37:28

Несколько моментов которые стоит помнить при установке Unix like OS

При установке системы время от времени появляются разные сложности, которые приходится решать, вот несколько из них


Как работает загрузчик? Общая концепция.

Бывают разные способы его организовать, но пожалуй самый распространенный заключается в следующем: на первых 512 байтах диска хранятся инструкции для процессора и разная служебная информация касаемая разделов диска. Когда компьютер включается, после прохождения стадии биоса и выбора загрузочного устройства (диск, флешка, флоппи, или что-то другое) управление передается на 1ый байт устройства и процессор начинает "есть" их одна за другой.

Обычно туда не помещается нужный объем кода (различные графические интерфейсы и другие менее ресурсоемкие вещи) и тогда там содержится ссылка на адрес который находится в другом месте жесткого диска например на разделе /dev/sda3

Собственно что получается - чтобы создать работающий загрузчик - вам нужно разбить диск на разделы (fdisk), создать на них файловую систему(mkfs.ext4),  записать в первые 440 байт (в остальных до 512 данные о разделах содержатся) бинарные инструкции для процессора (dd bs=440 count=1 if=/ of=/), установить сам загрузчик в то место на которое указывают бинарные инструкции в первых 440 байтах диска,  (например pacman -S syslinux),  пометить раздел диска с загрузчиком bootable флагом (fdisk a), он также записывает куда-то между 440 и 512 байтами и информирует процессор о том какие разделы диска являются загрузочными. Ну и последнее настроить сам загрузчик и указать пути до ядра, инитрамфс и дополнительные настройки.
Если у вас отвалился пользователь и вы не можете залогиниться

в папке /etc/passwd хранятся данные о пользователях и если вы не можете выполнить команду useradd потому что вываливается ошибка о том что вы неизвестны, скорее всего из этого файла пропали сведения о вас. Вы можете попробовать команду id и посмотреть свои uid, username, группу и прочее, если чего-то не хватает поправить passwd, при этом пароли на пользователей хранятся в /etc/shadow и если вы хотите создать рута без пароля или удалить существующий пароль то можно удалить из этого файла в строке с вашем именем кусок отвечающий за пароль и логин станет свободным

Структура системы - что есть что

сама система есть ядро - которое лежит обычно в папке boot и называется vmlinuz, также там находится initramfs, ответственный за то как будет загружено ядро, какие модули будут подключены и т.д.,  загрузчик и все,  остальное уже пользовательские программы например, службы инициализации, командный интерпретатор для обеспечения интерактивности и т.д. , Т.е. если у вас была система и она погибла, ее можно реанимировать и перенести большинство настроек, сократив время  на ее реанимацию. Можно установить поверх старой системы базовые вещи и сделать апдейт пакетов, при этом конфиги сохраняться, можно просто установить пакеты и перенести домашнюю директорию. Например в пакетном менеджере pacman -Qem можно получить со старой системы список всех установленных пакетов и запустить их на свежем дистрибутиве.

Полезные команды
 

  • mkfs.extn - создать файловую систему (отформатировать разбитый раздел)
  • fdisk - разбить диск на разделы, установить загрузочные флаги
  • mount - примонтировать устройства к конкретным папкам
  • chroot - сменить текущую систему, например если у вас есть старый рут системы на диске, вы можете сделать chroot туда и будете как будто в другой системе, при этом все команды которые вы будете выполнять там будут выполняться из под нее.
  • fsck - проверить жесткий диск на ошибки файловой системы
  • passwd, useradd, groupadd - изменить пароль, добавить пользователя\группу
  • chmod, chown - сменить доступ к файлам и папкам для групп владельца, группы, все прочих
  • ls, find, grep, sed - показать список файлов, найти файлы и другие данные, фильтровать поток вывода по регулярному выражению, потоковый редактор (regexpr)

Полезно знать что у разделов дисков есть uuid  и если у вас мобильная система и вы сталкиваетесь с тем что у вас меняется название устройства /sda3 /sdb3 то можно заложиться на него и оно будет уникально и одинаково в разных окружениях

Автоматическое монтирование дисков настраивается в файле /etc/fstab
Для выхода из консоли в графический мир нужно установить Xorg-server - прослойка кода для интерфейса к графике, и оконный менеджер (gnome, awesome etc)

Comments:

add comment