Ручная разметка диска для установки Linux.
 
Для ручной разметки диска нужно иметь представление, как будет работать система — в качестве настольнойили северной.
Структура файловой системы начинается с корня каталогов и содержит символ « / ». Для понимания основ приведён краткий список каталогов с их описанием.
 
/ — корневой каталог (root), который содержит все системные файлы и каталоги;
 
/boot —загрузочные файлы для запуска системы;
 
/bin — основные системные файлы;
 
/dev — основные файлы устройств, которые подключены к системе (например, камера, диски и т. п.);
 
/etc — общесистемные файлы конфигурации;
 
/lib — основные библиотеки и модули ядра для работы программ;
 
/opt — надстройки прикладных программ;
 
/sbin — необходимые системные исполняемые программы;
 
/srv — данные, отвечающее за сервисы;
 
/tmp — временные файлы, сохраняющиеся до перезагрузки системы;
 
/usr — вторичные системные файлы и большинство пользовательских приложений;
 
/var — каталог, в котором располагаются каталоги, хранящие журналы (логи), кэш;
также может размещаться каталог /www —для web-страниц — и другие каталоги.
 
Эти файловые каталоги могут быть по-разному применены с отдельным разделом диска, под конкретные задачи. Не стоит создавать большое количество разделов, твёрдо не представляя, для чего это нужно пользователю и особенно системе. Наиболее распространённый способ разметки диска состоит в том, что достаточно использовать корневой каталог « / » и отдельно созданный пользовательский раздел /home, в котором будет храниться вся нужная информация, учитывая возможные переустановки системы и (или) подключение этого раздела /home к другому дистрибутиву Linux.

section part 1
 
Теперь необходимо выбрать дисковую файловую систему. Все они применимы под конкретные задачи, а также имеют свою классификацию.
 
section part 2
 
Ext4 журналируемая файловая система, которая используется вLinuх. Имеет механизм записи файлов в непрерывные участки блоков, повышает производительность системы. В некоторых дистрибутивах используется по умолчанию при автоматической разметке диска (без участия пользователя).
 
Ext3 журналируемая файловая система, которая используется вLinuх. Применима во многих дистрибутивах. Предусмотрена запись некоторых данных, которая способна восстановить файловую систему при сбое компьютера.
 
Ext2 основной недостаток, в отличие от Ext3 и Ext4, она не являетсяименно журналируемой файловой системой. Однако имеет высокую производительность и скорость чтения и записи. Для SSD и флэш-карт она является основным плюсом, так как продлевает жизнь накопителя, который имеет ограничение на количество циклов записи, именно отсутствием журналирования.
 
btrfs универсальная файловая система, которая имеет структуру Б-деревьев и работает по принципу «Копирование при записи».
 
JFS журналируемая файловая система, которая сохраняет только метаданные для поддержки структуры файловой системы. В случае сбоя системы может сохранить устаревшую копию файла, которая будет пригодна к использованию.
 
XFS 64-разрядная журналируемая файловая система, является высокопроизводительной и расчитана для обработки данных более 2 терабайт. Однако в случае сбоя питания возможны потери данных во время записи.
 
/swap файл подкачки необходим в случае нехватки оперативной памяти или когда её количество менее 2 ГБ. Если в компьютере установлено свыше 4 ГБ оперативной памяти, стоит учитывать, будут ли использоваться тяжёлые ресурсоёмкие программы, где файл подкачки необходим. Также файл подкачки необходим, если система будет переведена в ждущий режим.
 
Приведём пример разметки жёсткого диска, но каждый раз стоит учитывать, что основополагающей документации по этому нет. Все системные администраторы разметки производят под свои конкретные задачи.
 
Вариант 1
 
По умолчанию в автоматическом режиме.
/ корень с файловой системой Ext4
/swap — файл подкачки, размер должен быть удвоенным размером физической оперативной памяти компьютера.
 
Вариант 2
 
/ — корень объёмом 50~70 ГБ с файловой системой Ext4 и конкретной точкой монтирования. Необходимо отметить на форматирование раздела.
/swap файл подкачки, размер должен быть удвоенным размером физической оперативной памяти компьютера.
 

Команды apt и dpkg, подходящие для Debian, Ubuntu.
apt-get update — получает обновлённые списки пакетов;

apt-get upgrade — обновляет пакеты, установленные в систему;

apt-get install package_name — устанавливает или обновляет пакет;

apt-cdrom install package_name — устанавливает или обновляет пакет с CD-диска;

apt-get remove package_name — удаляет пакет, но сохраняет файл конфигурации;

apt-get purge package_name — удаляет полностью пакет, и файлы конфигурации;

apt-get check — проверяет целостность зависимости;

apt-get clean — удаляет загруженные архивные файлы deb-пакетов;

apt-get autocleanудаляет старые загруженные архивные файлы deb-пакетов.

dpkg -i package.deb — устанавливает или обновляет deb-пакет;

dpkg -r package_name — удаляет deb-пакет из системы;

dpkg -l — показывает все пакеты, установленные в системе;

dpkg -l | grep httpdищет установленный пакет с именем httpd;

dpkg -s package_name — отображает информацию о конкретном пакете;

dpkg -L package_name — выводит список файлов, входящих в пакет, установленный в систему;

dpkg --contents package.deb — отображает список файлов, который входит в пакет, но ещё не установлен в систему;

dpkg -S /bin/ping — ищет пакет, который входит в указанный файл.

Команды yum и rpm подходящие для Fedora и RedHat.

yum install package_nameустанавливает или обновляет пакет;

yum update — обновляет все пакеты, установленные в систему;

yum update package_name — обновляет пакет;

yum remove package_name — удаляет пакет;

yum list — выводит список всех установленных пакетов;

yum search package_name —ищет пакет по его названию в репозиториях;

yum clean packagesудаляет rpm-кэш и закачанный пакет;

yum clean headers — удаляет все заголовки файлов, которые система использует для разрешения зависимостей;

yum clean allудаляет rpm-кэш и все закаченные пакеты.

rpm -ivh package.rpm устанавливает пакет с выводом сообщений и показом процесса выполнения;

rpm -ivh --nodeps package.rpm — устанавливает пакет с выводом сообщений и показом процесса выполнения без контроля зависимостей;

rpm -U package.rpm —обновляет пакет без изменений конфигурационных файлов, в случае отсутствия пакета он будет установлен;

rpm -F package.rpm — обновляет пакет, только если он установлен;

rpm -e package_name.rpm — удаляет пакет;

rpm -qa — отображает список всех пакетов, установленных в системе;

rpm -qa | grep httpd — ищет установленный пакет содержащий с именем httpd;

rpm -qi package_nameотображает информацию о конкретном пакете;

rpm -qg "System Environment/Daemons" — отображает пакеты, входящие в группу пакетов;

rpm -ql package_nameвыводит список файлов, входящих в пакет;

rpm -qc package_nameвыводит список конфигурационных файлов, входящих в пакет;

rpm -q package_name --whatrequires — выводит список необходимых пакетов для установки конкретного пакета с зависимостям;

rpm -q package_name --whatprovidesпоказывает совместимость для обеспечения данного rpm-пакета;

rpm -q package_name --scripts — отображает запускаемые скрипты при установке или удалении пакета;

rpm -q package_name --changelog — выводит историю версий пакета;

rpm -qf /etc/httpd/conf/httpd.conf — проверяет, какому пакету принадлежит указанный файл; путь к файлу необходимо задать полностью;

rpm -qp package.rpm -lотображает список файлов, которые ещё не установлены в систему;

rpm --import /media/cdrom/RPM-GPG-KEYимпортирует публичный ключ в цифровую подпись;

rpm --checksig package.rpm — проверяет подпись пакета;

rpm -qa gpg-pubkey — проверяет целостность установленного пакета;

rpm -V package_name — проверяет размер, права, тип, имя владельца, группу, MD5-сумму и дату последнего изменения пакета;

rpm -Vaпроверяет содержимое всех пакетов, установленных в систему; следует выполнять с осторожностью!

rpm -Vp package.rpm — проверяет пакет, который ещё не установлен в систему;

rpm2cpio package.rpm | cpio --extract --make-directories *bin* — извлекает из пакета файлы, содержащие в своём имени bin;

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm — устанавливает пакет, собранный из исходных кодов;

rpmbuild --rebuild package_name.src.rpm — собирает пакет из исходных кодов.

 

Этот небольшой материал поможет быстро настроить раздачу интернета от первого Linux-компьютера ко второму компьютеру.
К примеру, имеется сервер на базе Debian Linux с двумя сетевыми картами. В первый разъём подключён интернет. Второй разъём будет настроен для раздачи интернета и связи со вторым компьютером.

Необходимо изменить и скорректировать файл interfaces, в котором хранится запись сетевых настроек. Открываем файл interfaces, который расположен в каталоге /etc/network/interfaces. По умолчанию видим такие строки:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

Входящий интернет подключён к разъёму eth0. Для второй сетевой карты необходимо добавить строки:

auto eth1
iface eth1 inet static

и статический адрес, чтобы локальный компьютер мог соединиться с ведущим компьютером-сервером на базе Debian Linux. Далее укажем IP-адрес сервера и маску сети:

address 192.168.0.1
netmask 255.255.255.0

Чтобы всё работало, необходимо разрешить пропуск пакетов внутри сети. Нужно после строки face eth1 inet static указать путь к файлу конфигурации iptablespost-up iptables-restore < /etc/iptables.up.rules”, чтобы подгрузить настройки. А в iptabless разрешить пропускать сетевые пакеты в локальную сеть.

Результат настроек будет выглядеть так:

auto lo
iface lo inet loopback
post-up iptables-restore < /etc/iptables.up.rules
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

Сохраняем и перезапускаем интерфейс командой:

ifdown eth1
ifup eth1

и применим правило iptables, разрешив пакетам двигаться в локальную сеть.
echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf; sysctl -p
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE
iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags RST,SYN SYN -j TCPMSS --clamp-mss-to-pmtu

Теперь сохраним настройки iptables:

iptables-save >/etc/iptables.up.rules

На этом этапе настройка завершена. Однако локальные устройства не смогут автоматически получать IP- адреса, так как отсутствует DNS и DHCP для раздачи IP-адресов внутри сети. Все адреса в локальных сетях можно прописать вручную, достаточно указать адрес шлюза 192.168.0.1 (первого компьютера) и маску сети, а также IP-адрес локального компьютера в диапазаоне 192.168.0.2 до 192.168.0.24.
Результат как выглядит в операционной системе windows:

IP-адрес (локального компьютера): 192.168.0.2
Маска подсети: 255.255.255.0
Основной шлюз (IP-адрес локального сервера): 192.168.0.1