Руководство для debian

Содержание

Установка Debian
Обновление дистрибутива
Установка программ
Java
Начало работы
Настройка времени и даты
Архивы
Структура (что где лежит)
Графическая оболочка и программы в ней
Xfce4
Wi-fi
SSH
FTP
Смена кодировки
Пользователи — администрирование
Shell (Командная оболочка)
Железо
Монтирование дисков
Монтирование с правами доступа
Автоматическое монтирование
Mplayer
Завершение работы
Статьи про Debian

Мой дневник пользователя Debian, в котором я методом проб, ошибок и консультаций
с товарищами решаю проблемы по мере поступления можно почитать

здесь

Установка Debian

Предположим, что ваша ОС до установки Debian это

Windows

Перед установкой Debian нужно предварительно

переразделить жесткий диск
.

Существует несколько программ, которые легко сделают это из-под винды:
частично бесплатная

Easeus

, платные, но более известные Acronis Disk Director или Partition Magic.

Они могут создавать разделы видимые как из-под Windows, так и из-под Linux.

Для начала нужно создать логический диск
в дополнение к тому, на котором установлена Windows.

Указанные выше программы в состоянии отделить кусок
незанятого пространства с Вашего системного диска. Например, если у вас изначально есть
только Диск C: — нужно создать Диск D:

Далее считаю, что чистый диск нужного размера у вас уже создан.

На этом диске создаем три раздела:

Номер

раздела

Условное название

Размер

Цель создания

Файловая система

1

Файл подкачки

Размер

рекомендуют

делать вдвое больше чем ваша оперативная память

Вторичное хранилище для хранения неактивных фрагментов из
ОЗУ

SWAP

2 Debian Гигов 10-20. Не мелочитесь
Раздел
непосредственно в котором и будет установлена Debian
Файловая система обычно одна из:

ext4

ext3

ext2

ReiserFS

Reiser4

Труъ-Линуксоиды могут устроить срач и холивар на тему какая лучше, но обычным пользователям не
стоит заморачиваться — ставьте ext4.

3

Общий раздел Всё оставшееся место на диске
Раздел для хранения информации которая будет доступна и из-под Windows из-под Debian Файловая система
FAT32. Будет видна из обеих ОС изначально.
или
NTFS.
Возможно потребуется установить для неё драйвер.

После того как разделы готовы, нужен дистрибутив Debian.
Важно сразу же правильно выбрать архитектуру:

  • amd64 — для 64-х разрядной система
  • i386 — для 32-х разрядной

Есть различные типы дистрибутивов, я обычно использую netinstall

отсюда

netinstall подходит тем, кто хочет установить базовую систему, и потом
добавлять нужные пакеты самостоятельно

Если вы хотите установить всё сразу — тогда скачайте DVD образ

отсюда

Ещё один способ, который мне очень понравился — установка с
сайта

При установке для диска который вы выделите под саму
Debian нужно будет выбрать точку монтирования /

Аналог администратора в Windows это пользователь root в Debian.
Сделайте пароль посложнее (например QWERTY) чтобы
хакеры не начали захват вашего будущего сервера (прецедент был☺).

N.B. Если у вас 2 и больше сетевых карт, Debian предложит сконфигурировать одну
из них при установке.

Если вы знаете, к
которой в данный момент подключен сетевой шнур — конфигурируйте её.

Советую обратить внимание на все предложенные названия.

Подробности читайте в статье

«Настройка сети в Linux»

Установка программ

Самый простой способ установки — из репозитория.

Загрузкой обновлений и прочих радостей руководит т.н. пакетный менеджер
APT.
(команды выглядят как apt-get и aptitude, они чем-то отличаются)

Файл со списком адресов, откуда apt-get может качать обновления лежит в директории

/etc/apt/

И называется

sources.list

wiki

Открыть файл можно минимум двумя способами:

Перейти в директорию /etc/apt/

cd /etc/apt

Чтобы открыть файл

vi sources.list

Либо сразу использовать

vi

, указав полный путь до файла

vi /etc/apt/sources.list

nano это текстовый редактор некий аналог блокнота в винде.

Установить программу из репозитория

apt-get install имя_программы

Удалить

apt-get remove имя_программы

Вместо remove можно использовать purge — это более сильное удаление.

Если из репозитория установить не получается есть два пути:
добавить нужный адрес в

sources.list

или скачать программу из интернета. При скачивании также возможны варианты:

Если скачан .deb пакет, нужно перейти в директорию с ним (или дописать её в команду)

dpkg -i имя_пакета.deb

apt-get install имя_пакета

Установка из исходников

Подробно

здесь

— советую изучить этот вопрос, чтобы потом не мучаться.

Коротко: если скачаны исходники нужно поместить их в папку /usr/src
перейти в папку с исходниками и набрать

./configure

make
make install

Пользоваться make install лучше уже имея опыт в Linux

Если у вас уже установлено

графическое окружение

(оно же иксы, оно же GUI), не лишним будет иметь
в виду, что существует как минимум два набора библиотек Qt — для
KDE
и
GTK
— для Gnome, Xfce4 и др.

Поэтому при выборе программы, которую вы хотите установить — поинтересуйтесь
(например, зайдите на
её официальный сайт, или страницу в wikipedia) на основе какой библиотеки эта
программа создана — проще говоря с каким окружение ей будет проще работать.

Пример: я поставил Xfce4, а к нему Ktorrent —
это нелогично, обычно ставят Transmission, в качестве видеопроигрывателя я
выбрал xine (apt-get install
gxine) — это правильно.

Также стоит иметь в виду, что разные программы могут требовать для своей
установки некоторых предварительных действий, желательно перед
установкой сделать поисковый запрос «как установить Имя_Программы Версия_Debian»

При установке программ из исходников часто требуется предварительная установка

gcc

и linux-headers

apt-get install linux-$(uname -r)

apt-get install gcc

Из-под графической оболочки можно запустить synaptic и устанавливать пакеты оттуда.

Можно устанавливать программы «вручную». Например, скачать skype с сайта выполнить

dpkg -i skype

Скорее всего появится сообщение о неразрешённых зависимостях со списком пакетов.

Нужно через поисковик
найти эти пакеты на сайте debian.org скачать и снова выполнить dpkg -i могут появиться новые неразрешённые
зависимости, так что процесс может затянуться, но иногда он работает.

При обновлении пакетного менеджера, т.е. после команды

apt-get update

Может появиться ошибка

W: GPG error: http://dl.google.com stable Release: The following signatures couldn’t
be verified because the public key is not available: NO_PUBKEY A040830F7FAC5991

Добавить publickey можно следующим способом

sudo apt-key adv —recv-keys —keyserver keyserver.ubuntu.com A040830F7FAC5991

Если появляется ошибка

E: Could not get lock /var/lib/dpkg/lock — open (11: Resource temporarily unavailable)

E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

Значит запущен другой пакетный менеджер, например, synaptic. Нужно его закрыть.

Установка Java

Java много где нужна. Например без java не установится

SOAP UI

apt-get install default-jre

Начало работы

После установки система должна перезагрузиться. За загрузку отвечает

Grub2

про него стоит прочитать отдельно. Но если всё работает с этим можно повременить.

После перезагрузки вы попадаете в так называемую оболочку — shell.

Самая популярная оболочка — это

bash

Нужно изучить основные команды cd, ls, mkdir, mount … это можно сделать в статье

«Основы bash»

В учебниках и пособиях есть правило: если перед командой стоит # то она от root если @ то от простого пользователя.

Оталкиваюсь от того, что всё установлено по-минимуму и вы видите чёрный экран где написано что-то вроде

root@Name:~#

Выполните команду

cd /

Нажмите Enter и напишите

ls

Вы увидите список папок, которые лежат в корневой директории. Корневая папка обозначается как

/

Если установка были из netinstall образа, то Debian почти голый. К нему нужно добавлять из интернета различные дополнения
так называемые пакеты и программы.

Возможная проблема на данном этапе — отсутствие интернета. Например, при установке есть риск
указать не тот сетевой интефейс выбор обычно между
eth0 и eth1

Можно настроить

/etc/network/interfaces

allow-hotplug eth0
iface eth0 inet dhcp
address 192.168.0.107
netmask 255.255.255.0
gateway 192.168.0.1

После редактирования обновите сетевое подключение

/etc/init.d/networking restart

Если не помогло — попробуйте выбрать при загрузке другую сетевую карту eth1 вместо eth0

Если интернет работает — советую первым делом сделать

aptitude update

aptitude upgrade

И тоже самое с apt-get. Теоретически это должно помочь обновить пакетные менеджеры. Я как шаман с бубнами делаю
это регулярно. При апгрейде всей системы нужно будет снова выбрать языки и прочее

Чтобы узнать версию ядра нужно набрать

uname -a

Моё ядро debian 2.6.32-5 Его как раз и нужно было обновить.

На всякий случай советую добавить в

/etc/apt/source.list

deb http://ftp.ru.debian.org/debian/ squeeze main contrib non-free
deb http://ftp.ru.debian.org/debian/ testing main contrib non-free

Возможно для работы вам пригодиться Midnight Commander

apt-get install mc

И архиваторы

apt-get install zip unzip p7zip bzip2

Можно попробовать сделать русский язык в консоли (если его нет)

apt-get install console-cyrillic console-terminus

Если компьютер зависнет. Для перезагрузки можно воспользоваться сочетанием клавиш

при нажатом Alt + PrtScr последовательно нажать


R E I S U B

Звуком в Debian заведует alsamixer

aptitude install alsa-utils alsa-base alsa-tools

Что-то должно скачаться установиться.

Введите команду

alsamixer

Там будет несколько столбиков. Иногда проблемы со звуком решаются увеличением высоты столбцов (стрелками вверх).
Иногда нужно заменять нули под столбцами буквами М и наоборот.

Графическая оболочка

Установка графической оболочки (иксов) на примере gdm3:

apt-get install

gdm3

При запуске графического интерфейса можно совершать выбор оболочки с помощью клавиши

F1

Попасть в графическую оболочку (иксы) в первый раз:

startx

Выбирайте «Использовать настройки по умолчанию»

Вернуться обратно в консоль:

Ctrl + Alt + F1

Выйти из консоли в иксы:

Alt + F7

Перезапустить X-server можно командой

/etc/init.d/
gdm3
restart

Выключения иксов

/etc/init.d/
gdm3 stop

Включить икс-сервер

/etc/init.d/
gdm3
start

Установка полезных обычному пользователю программ:

Браузер iceweasel.
Предварительно советую прописать в

/etc/apt/sources.list

строку

deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

Собственно сам браузер:

apt-get install iceweasel

ktorrent обычно в архиве .tar.bz2 , он распаковывается с помощью:

tar -xvjf

Когда имеем файл с расширением .deb

dpkg -i
apt-get install ktorrent

При установке может вылезти сообщение от разработчиков — нажимаем q

Ещё один момент, который является полной неожиданностью для новичков —
необходимость т.н. монтирования дисков.

В

Windows

обычно все диски видны сразу (ключевое слово — обычно).
Для того чтобы получить доступ ко всем
логическим дискам, за исключением системного нужно указать системе к
какой папке этот диск нужно прикрепить.
Т.е. написать (под root)

fdisk -l

Появится список ваших дисков и если вам понятно какой хотите использовать ввести нужно что-то похожее на

mount /dev/sda5 /mnt/w7free

Так я прикрепляю диск sda5 с файловой системой
NTFS
(напоминаю, что он шел под номером «3)» в списке выше)

Подробнее этот процесс описан здесь

Чтобы обрабатывать изображения и делать скриншоты нужно установить программу
Gimp

apt-get install the gimp

Ещё одна возможная проблема — неправильная установка времени. Поменять часовой пояс можно с помощью команды

dpkg-reconfigure tzdata

Настройка времени и даты

Временная зона под Debian устанавливается через символическую ссылку.

Файл

/etc/localtime

должен смотреть на файл настройки временной зоны в директорию

/usr/share/zoneinfo

чем указывается в какой временной зоне вы находитесь.

Например: я живу в России (время Московское) я должен сделать ссылку

/etc/localtime

на файл

/usr/lib/zoneinfo/Europe/Moscow

Для этого нужна команда:

rm -f /etc/localtime
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Чтобы узнать какие временные зоны доступны — посмотрите их в директории

/usr/share/zoneinfo:

cd /usr/share/zoneinfo

ls

И выберите более подходящую для Вас…

Если же время установилось не правильное, значит у Вас стоит неправильное время в BIOS.
Для проверки время в BIOS, воспользуемся командой:

hwclock

2021-09-08 11:25:17.289911+02:00

Теперь мы знаем какое время установлено в BIOS, но нам надо его исправить.
Правим время в системе:

date MMDDhhmmCCYY.ss

Описание параметров команды date:

MM — две цифры текущего месяца (пример: январь=01);

DD — две цифры текущей даты (если текущий календарный день 1, то пишется 01);

hh — две цифры обозначающие час;

mm — две цифры обозначающие минуты;

CCYY — четыре цифры года;

ss — две цифры секунд.

Также можно вводить «date MMDDhhmmCCYY»
без секунд, тогда секунды выставляются на ноль.

Ну и теперь вносим новое установленное время в БИОС:

hwclock —systohc

Архивы

Пример: добавить все .jpg файлы из директории в архив

tar czf archive.tar.gz *.jpg

tar.gz

tar xvzf имя_архива.tar.gz

tar.bz2

tar xvjf имя_архива.tar.bz2

Чтобы распаковать архив в определённую директорию воспользуйтесь опцией
-C или опцией —directory

tar -xf archive.tar -C /target/directory

tar -xf archive.tar.gz —directory /target/directory

apt-get install unrar

затем

unrar имя_архива.rar

apt-get install unzip

затем

unzip имя_архива.zip

Если эти способы не помогли можно попробовать поставить p7zip. Под иксами можно поставить peazip. В крайнем случае, можно
воспользоваться on-line архиваторами, например
wobzip

Смена кодировки

Предположим у вас есть файл

файл.html

в неправильной кодировке.

Менять кодировку файлов можно следующим способом:

cat файл.html | iconv -f cp1251 -t utf-8 > новый.html

В одну сторону. Потом открываем, редактируем, закрываем.

cat новый.html | iconv -f utf-8 -t cp1251 > файл.html

Как вариант можно использовать
convmv

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

«Сайт в неверной кодировке»

Настройка xfce4

Чтобы жить стало немного веселее можно сделать пару манипуляций с панелью. Заходим в

Настройки → Панель → Элементы

и добавляем то, что нужно. Можно поменять часы на часы с датой. Добавить регулятор громкости.

Чтобы добавить уровень заряда батареи для ноутбука и апплет раскладки клавиатуры нужно скачать апплет из репозитария:

apt-get install xfce4-battery-plugin

apt-get install xfce4-xkb-plugin

Чтобы увеличить шрифт в эмуляторе терминала xfce4 нужно нажать Ctrl и удерживая его сделать клик правой кнопкой
мыши на терминале — появится интуитивно понятное меню.

Перезапустить

X-server

(предварительно уйдя в консоль Ctrl + Atl + F1) можно командой

/etc/init.d/gdm restart

или

/etc/init.d/gdm3 restart

или

/etc/init.d/kdm restart

Для выключения нужно писать не restart а stop, для запуска start

Клавиатура

Раскладка и другие настройки клавиатуры лежат в файле
/etc/default/keyboard

Инструкция по добавлению языка

здесь

Пользователи

Чтобы создать пользователя user1 нужно ввести команду

adduser user1

Если Вы получили сообщение

bash: adduser: command not found

прочитайте решение

здесь

Если этот пользователь вам надоест его можно удалить командой

deluser user1

Если вы забудете пароль пользователя, то из-под root его можно будет поменять командой

passwd user1

Список пользователей лежит в файле /etc/passwd чтобы его открыть вводим

cat /etc/passwd

Узнать в каких группах состоит пользователь user1

groups user1

Добавить пользователя user1 в группу group1

usermod -G group1 user1

Добавить пользователя sinij и в группу group1 и в группу bks_fans

usermod -G group1,bks_fans sinij

Изменить основную группу пользователя user1 на group2
(по умолчанию обычно группа называется так же как пользователь)

usermod -g group2 user1

Узнать список всех групп

cat /etc/group

Чтобы получить не весь список, а только обычные пользовательские группы

cat /etc/group | grep 1[0-9][0-9][0-9]

Про grep и другие команды можно прочитать
здесь

Поменять группу к которой принадлежит директория
/home/movies на users

chgrp -R users /home/movies

Подключение по SSH

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

Нужно создать на ПК нового пользователя, назовем его sinij

adduser sinij

Придумываем пароль посложнее, например,
QWERTY 9dkjvA!#4jdLs

Теперь нужно установить ssh на обоих компах — если его ещё нет

apt-get install ssh

Проверить — работает ли ssh

service ssh status

Остановить / запустить / перезапустить ssh

/etc/init.d/ssh stop
/etc/init.d/ssh start
/etc/init.d/ssh restart

Узнаем ip стационарного ПК (ip_ПК) с помощью

ifconfig

Если ifconfig выдаёт ошибку

ifconfig command not found debian

можно либо воспользоваться командой

ip addresses

Либо установить ifconfig

Чтобы подключиться к ПК на ноутбуке вводим в терминал

ssh sinij@ip_ПК

Если подключиться удалось, то можно начинать перемещаться по папкам удаленного ПК.

Чтобы отключиться от соединения нужно набрать что-то из списка:

exit
logout
ctrl + D

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

/etc/ssh/sshd_config

— на сервере и

/etc/ssh/ssh_config

/etc/ssh/sshd_config

желательно изменить порт по умолчанию на любой свободный

#Port 22
Port 2222

Логиниться по паролю, можно, если в /etc/ssh/sshd_config
раскомментирована строчка

PasswordAuthentication yes

это менее безопасный способ, чем логин по ключу, поэтому обычно вместо
yes указывают no

Редактируем файл

/home/username/.bashrc

# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
PS1=’${debian_chroot:+($debian_chroot)}h:w$ ‘
# umask 022

# You may uncomment the following lines if you want `ls’ to be colorized:
# export LS_OPTIONS=’—color=auto’
# eval «`dircolors`»
# alias ls=’ls $LS_OPTIONS’
# alias ll=’ls $LS_OPTIONS -l’
# alias l=’ls $LS_OPTIONS -lA’
#

# Some more alias to avoid making mistakes:
# alias rm=’rm -i’
# alias cp=’cp -i’
# alias mv=’mv -i’
alias ll=’ls -laF’
alias ec=’nano /root/.bashrc’
alias es=’nano /etc/ssh/sshd_config’
alias eg=’nano /etc/group’
alias ep=’nano /etc/passwd’
alias ea=’nano /var/log/auth.log’
alias ps=’ps -ax|grep ss’
alias ss=’/usr/sbin/ssh’

Wi-fi

Сперва можно попробовать

apt-get install wireless-tools

Для xfce4 подходит wicd

apt-get install wicd

После того, как Wicd установился он должен появиться среди пунктов меню
«Интернет». Если не появляется — нужно перезапустить иксы. Возможно придется
делать reboot

В углу экрана должны появиться значок подключения. Если значков несколько,
значит установлено ещё что-то, например network-manager-gnome.
На всякий случай можно сделать.

apt-get remove network-manager-gnome

И потом

reboot

Один из значков должен пропасть. Навожу курсор на второй
выбираю «Подключиться». — Беспроводные сети не найдены —

По совету с lor я прописал в поле
Wireless interface значение wlan0. Сети должны появиться.

wicd apt-get remove wicd

apt-get autoremove
apt-get remove network-manager

apt-get autoremove
reboot

Затем переустановить нужное.

Железо

Получить информацию о железе


dmesg

Получить информацию о

CPU

cat /proc/cpuinfo

или

dmesg | grep CPU

Узнать разрядность

RAM

dmesg | grep «RAM width»

Узнать размер оперативной памяти

tac /proc/meminfo | grep MemTotal

Список устройств на

PCI

шине

lspci -k

Получить список примонтированных дисков и их размер можно командой df

df -ht ext4

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 454G 3.6G 427G 1% /

Флаг h — объём в human-readable виде

t ext4 — показать только диски с файловой системой типа ext4

Монтирование дисков

Подготовка

Нужно создать папку к которой примонтируется диск. Например, для диска

/mnt/w7free

mkdir /mnt/w7free

Или для флешки

mkdir /mnt/flashcard

Шаг 1.

Перед тем как монтировать диск нужо сначала понять какие диски подключены к компьютеру.

Есть несколько способов сделать это: lsblk, ls/dev/sd*, fdisk -l и другие

Получить список всех устройств, включая не примонтированные

lsblk | grep sd

sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 461.4G 0 part /
└─sda3 8:3 0 3.9G 0 part [SWAP]
sdb 8:0 0 100.0G 0 disk
└─sdb1 8:1 0 512M 0 part /home

Существуют также диски
NVM (Non-Volatile Memory)
которые начинаются на nvm.

Их придётся смотреть другой командой — либо воспльзуйтесь

df

lsblk | grep nvm

nvme0n1 259:0 0 477G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
├─nvme0n1p2 259:2 0 976.6M 0 part /boot
└─nvme0n1p3 259:3 0 475.5G 0 part
└─nvme0n1p3_crypt 253:0 0 475.5G 0 crypt /

Реальные физические диски получают буквы a,
b и так далее. То есть sda это первый диск, sdb — второй и так далее.

Виртуальные разделы получают цифры. Диск sda поделен на три части а sdb состоит целиком из sdb1

Следующие два способа я делал на другом компьютере.

Второй способ — ls/dev/sd* и ls /dev/nvm*

ls /dev/sd*

/dev/sda /dev/sda2 /dev/sda5 /dev/sdb1 /dev/sdb5 /dev/sdb7

/dev/sda1 /dev/sda3 /dev/sdb /dev/sdb2 /dev/sdb6 /dev/sdb8

И для NVM дисков

ls /dev/nvm*

/dev/nvme0 /dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3

Третий способ — fdisk -l, возможно нужно ввести sudo fdisk -l

debian:/home/andrey# fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x63e54f64

Device Boot Start End Blocks Id System

/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT

/dev/sda2 206848 100558847 50176000 7 HPFS/NTFS/exFAT

/dev/sda3 100558848 1953521663 926481408 f W95 Ext’d (LBA)

/dev/sda5 100560896 1953521663 926480384 7 HPFS/NTFS/exFAT

Disk /dev/sdb: 500.1 GB, 500107862016 bytes

255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xbbc1fe9a

Device Boot Start End Blocks Id System

/dev/sdb1 * 63 41785064 20892501 83 Linux

/dev/sdb2 41785126 976768064 467491469+ f W95 Ext’d (LBA)

/dev/sdb5 41785128 54283634 6249253+ 82 Linux swap / Solaris

/dev/sdb6 54283698 521887589 233801946 83 Linux
/dev/sdb7 521887653 585826289 31969318+ b W95 FAT32
/dev/sdb8 585826353 976768064 195470856 7 HPFS/NTFS/exFAT

Из этих данных можно сделать вывод о том, что физически жестких дисков видно два: sda и sdb, один из них на 1 Тб а другой
на 500 Гб. Предположим, что примонтировать нужно диск sda5 — можно

переходить к шагу 2

Шаг 2 (для флэш карты)

Физическая установка флешки в USB порт.

Шаг 3 (для флэш карты)

Снова используем команду

ls /dev/sd*

или

fdisk -l

Все новое по сравнению с предыдущим разом и есть ваша флешка. Причем, если появилось, например,
sdb и sdb1, то sdb — это флешка в целом (не знаю как это понять), а sdb1
— обычно и есть раздел, который нужно будет монтировать.

Шаг 4

Монтирование образа.

Само слово «монтирование» может смутить начинающего пользователя. Смысл всей манипуляции —
показать системе как связать какой-то из видимых дисков с какой-то папкой.

mount /dev/sda5 /mnt/w7free

Для флэшкарты

Предположим, что новый диск который мы нашли в Шаге 3. называется
sdс1

mount /dev/sdс1 /mnt/flashcard

Если нужно указать файловую систему, то пишем, например

mount -t vfat /dev/sdb /mnt/flashcard

где vfat — это указание файловой системы (fat),

-t это от слова type тип.

Автоматическое монтирование при загрузке

Чтобы не монтировать диски каждый раз вручную можно прописать этот процесс в файл

/etc/fstab

Сперва нужно узнать постоянный номер диска, который вы хотите примонтировать

ls -l /dev/disk/by-uuid

andrey@debian:~$ ls -l /dev/disk/by-uuid
итого 0
lrwxrwxrwx 1 root root 10 Апр 1 12:26 28F45727F456F712 -> ../../sda1

lrwxrwxrwx 1 root root 10 Апр 1 12:26 2ff64169-2a42-4134-bb7d-785d2cb7ac26 -> ../../sdb1

lrwxrwxrwx 1 root root 10 Апр 1 12:26 3AE8F3DBE8F3937D -> ../../sda2

lrwxrwxrwx 1 root root 10 Апр 1 12:26 3E8904579F5AA793 -> ../../sda5

lrwxrwxrwx 1 root root 10 Апр 1 12:26 BB76478F1B670CB0 -> ../../sdb8

lrwxrwxrwx 1 root root 10 Апр 1 12:26 DEFB-25FE -> ../../sdb7

lrwxrwxrwx 1 root root 10 Апр 1 12:26 e7b2f181-26ae-4a22-9c9a-10a6dc22daee -> ../../sdb5

lrwxrwxrwx 1 root root 10 Апр 1 12:26 eafb05d0-15c7-41a5-9709-318bb2c618b7 -> ../../sdb6

3E8904579F5AA793 — вот номер диска sda5, который нужно монтировать.

Открываем /etc/fstab

nano /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=2ff64169-2a42-4134-bb7d-785d2cb7ac26 / ext4 errors=remount-ro 0 1
# /home was on /dev/sda6 during installation
UUID=eafb05d0-15c7-41a5-9709-318bb2c618b7 /home ext4 defaults 0 2
# swap was on /dev/sda5 during installation
UUID=e7b2f181-26ae-4a22-9c9a-10a6dc22daee none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

И дописываем внизу строчки

#win7 disk NTFS - это комментарий, чтобы проще было ориентироваться.

UUID=3E8904579F5AA793 /mnt/w7free ntfs defaults,cp1251,umask=000 0 0

Монтирование с правами доступа

Если стоит задача сделать монтируемый диск доступный, например, только пользователю andrey
id пользователя у которого 1000
и группе admins id группы 1111,
и условия доступа к файлам вы хотите указать не 777 а, например 770

mount -t ntfs -o rw, uid=1000, gid=1111, fmask=0007, dmask=0117 /dev/sda5 /mnt/w7free/

где fmask это число, которое вычитается из 777 для доступа к файлам, а dmask — это как fmask только
dmask
для директорий.

Ссылки

Linux mount

Зайти на сайт по ftp

mc

Запустится midnight commander

F9

затем нужно найти FTP в верхнем меню. Адрес пишется следующим образом

login:password@hostname

В графической оболочке можно установить например filezilla.

Как создать файл в Linux

cat > filename.filenameextension

Структура

Программы

/usr/bin

Документация

/usr/share/doc

Конфигурационные файлы

/etc

Файлы конфигурации сети

Файл Описание

/etc/aliases
База данных почтовых псевдонимов.

Формат файла:

псевдоним пользователь

Системой используется не этот файл а файл
/etc/aliases.db
, который создаётся программой
newaliases по содержимому файла
/etc/aliases.

После обновления
/etc/aliases нужно
выполнить # newaliases

/etc/hosts.conf Содержит параметры разрешения доменных имен.
Например, директва order hosts
, bind означает, что сначала поиск IP-адреса по доменному имени будет произведен в файле

/etc/hosts
,
а затем уже будет обращение к DNS-серверу, заданному в файле

/etc/resolv.conf

Директива multi on означает, что одному доменному имени могут соответствовать несколько IP-адресов

/etc/hosts В этом файле можно прописать IP-адреса и имена узлов локальной сети
, но обычно здесь указывается только IP-адрес узла localhost (127.0.0.1), потому что сейчас даже в
небольшой локальной сети устанавливается собственный DNS-сервер
/etc/hosts.allow Содержит IP-адреса узлов, которым разрешен доступ к сервисам данного узла
/etc/hosts.deny IP-адреса узлов, которым запрещен доступ к сервисам данного узла
/etc/iftab Таблица интерфейсов, т.е. соответствие имен интерфейсов и их MAC-адресов
/etc/motd Задает сообщение дня (Message of the day). Данный файл используется многими
сетевыми сервисами (напримерб FTP-и SSH-сервисами), которые при регистрации пользователя могут
выводить сообщение из этого файла
/etc/resolv.conf Задаёт IP-адреса серверов DNS. Формат файла прост:

nameserver IP-адрес

Всего можно указать четыре DNS-сервера

/etc/services База данных сервисов, задающая соответствие символьного имени
сервиса (напрмер, pop3) и номера порта (110/tcp, tcp — это наименование протокола)
/etc/xinetd.conf Конфигурация суперсервера xinetd, предназначенного для запуска
сетевых сервисов, которые не работают в автономном режиме

# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: andrey

Обновление дистрибутива

Выполнить команды отслеживая ошибки:

aptitude -f install
aptitude update
aptitude install apt aptitude dpkg
aptitude dist-upgrade
aptitude full-upgrade

Запись загрузочного usb диска

dd if=/home/andreyolegovichru/Downloads/image.iso of=/dev/sdb1 bs=1M

 Где послеif= — пишем путь до образа, например,
/home/andrei/Downloads/debian-7.1.0-amd64-DVD-1.iso а
/dev/sbd1 — это ваш usb диск.

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

fdisk -l

Затем вставить usb диск и выполнить эту команду повторно. Появится пара новых
строк, это и есть
ваш диск. При использовании dd нужно указать общую часть этих двух строк,
т.е. если было sdb и sbd1 нужно оставить sbd.

Mplayer (просмотр видео)

Клавиша Результат
ВЛЕВО — 10 сек назад
ВПРАВО — 10 сек вперед
ВВЕРХ — 60 сек вперед
ВНИЗ — 60 сек назад
9 — Уменьшить громкость
0 — Увеличить громкость
{ — Уменьшить скорость воспроизведения
} — Увеличить скорость воспроизведения
SPACE (пробел) — Пауза
F — Полный экран

Первая проблема, которая может возникнуть — ненастоящий fullscreen.
Картинка остается маленькой, а все свободное
место занимает чёрный фон. Мне помог запуск mplayer с ключом

-vo sdl

Если нужно посмотреть видео на языке оригинала, да ещё и с субтитрами (в наше время скачать можно и не такое)
потребуется кое-какая информация о видеофайле.
Поэтому первое что мы делаем это узнаем какие дорожки поддерживает наше видео:

mplayer -vo null -ao null -frames 0 -v file_name | grep aid
mplayer -vo null -ao null -frames 0 -v file_name | grep sid

После того как узнали возможные связки, а их у нас 2, используем их, а если быть точным то одну из них.
Для начала 1ая в которой мы указываем -aid (ID аудио) -sid (ID субтитров):

mplayer -aid 1 -sid 1 file_name

или 2ая в которой указываем напрямую -alang (язык аудио) или -slang (язык субтитров):

mplayer -alang eng -slang eng file_name

Shell (Командная оболочка)

Список доступных оболочек

cat /etc/shells

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

echo $SHELL

Смена

chsh

или

# usermod -s /bin/bash username

Если после смены оболочки возники проблемы, например, не зайти под root. Можно загрузиться в recovery mod
и сделать там # usermod -s /bin/bash root и # usermod -s /bin/bash username

Команды для работы с текстовыми файлами

Команда head

Вы можете воспользоваться командой
head если вам нужно взглянуть только на начало файла. Команда выглядит так:

head <filename>

Команда Head
может быть полезна, но так как она показывает только первых несколько строк,
вы не узнаете насколько велик сам файл. По умолчанию, вы можете просмотреть
первых десять строк файла, хотя вы можете изменить это число, выполнив следующую команду:

head -20
<filename>

Команда tail

Обратное head
действие выполняет tail
. С помощью tail
вы можете просмотреть последние десять строк файла.

Команда grep

Команда grep используется для поиска в файле заданных текстовых строк.
Например, если вы хотите найти все упоминания слова «DEBUG» в файле
reader.ini, выполните:

grep DEBUG reader.ini

Вы увидите все строки этого файла, в которых нашлось слово «DEBUG».

Не забывайте о регистре

Если не указано обратное,
grep ищет с
учётом регистра.
Это означает что поиск
Debug отличается от поиска debug.
Среди множества параметров
grep
есть
-i,
который указывает, что поиск должен выполняться без учёта регистра символов.
Прочитайте страницу man по
grep
man чтобы узнать больше об этой команде.

Перенаправление ввода/вывода и каналы

Вы можете использовать каналы и перенаправление вывода когда хотите
сохранить и/или напечатать информацию для последующего использования.

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

Чтобы напечатать информацию, например, касающуюся
слова «Debug» в файле
sneakers.txt, введите:

grep Debug sneakers.txt | lpr

Знаки подстановки и регулярные выражения

Как быть если вы забыли имя файла, который вам нужен? Воспользовавшись знаками подстановки или регулярными выражениями, вы можете выполнять с файлом или файлами действия, не зная его(их) полного имени. Просто введите всё что знаете, и замените остальное знаком *.

Дополнительная информация о знаках подстановки и регулярных выражениях

Чтобы узнать больше о знаках подстановки
и регулярных выражениях, обратитесь к странице руководства, посвященной
bash (man bash).
Вспомните о том, что вы можете сохранить полученную информацию в текстовом файле,
выполнив команду

man bash | col -b > bash.txt

Затем вы можете открыть и прочитать файл с помощью

less или pico
(pico bash.txt)

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

Зная, что файл называется «sneak____.txt,» просто введите:

ls sneak*.txt

и вот полное имя файла:

sneakers.txt

Скорее всего при поиске вы чаще будете использовать знак умножения (
*). При поиске с этим знаком найдется всё, соответствующее заданному шаблону.
Даже выполнив:

ls *.txt

или:

ls sn*

Вы найдёте файл
sneakers.txt
и все остальные, имена которых начинаются
с «sn». Это позволяет максимально расширить область поиска.

Одним из способов уменьшения области поиска, является использование знака вопроса
(?). Также как знак умножения,
? помогает находить файл, удовлетворяющий условию поиска.

Однако ?
используется для замены всего одного символа, поэтому если вы ищете
sneaker?.txt, в результате вы найдете файл
sneakers.txt, и/или
sneakerz.txt
, если такой файл существует.

В случае, если знак умножения входит в имя файла, как могло бы быть, если файл
sneakers.txt назывался бы
sneak*.txt,
вам понадобятся регулярные выражения.

Регулярные выражения более сложны, чем прямолинейные знаки вопроса и умножения.

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

Если файл называется
sneak*.txt, введите:

sneak*.txt

Ниже приведён краткий список знаков подстановки и регулярных выражений:

  • *
    — Соответствует любому количеству любых символов
  • ?
    — Соответствует одному любому символу в строке (например,
    sneaker?.txt)
  • *
    — Соответствует символу *
  • ?
    — Соответствует символу ?
  • )
    — Соответствует символу )

Завершение работы

# halt
# poweroff
# shutdown
# shutdown 18:00
# shutdown -h now

Перезагрузка

reboot
reboot -f (форсированная)

Похожие статьи

Debian Linux
Установка Debian
Настройка сети в Debian
Firewall
Дата и время
X Window System Debian
Определить тип иксов
Загрузчик Grub2
Запись загрузочной флешки
Загрузка в безопасном режиме
PATH
FAQ
Ошибки

install-debian-11-minimal-server-000.png

Debian — один из самых старых и популярных Linux-дистрибутивов общего применения, одинаково подходящего для создания как сервера, так и рабочей станции. Но сегодня мы поговорим именно о серверном применении, где Debian ценится, в первую очередь, за высочайшую стабильность и консервативность. В данной статье мы пошагово расскажем, как установить и настроить Debian 11 в минимальной серверной конфигурации, которую потом можно будет использовать как основу для любых серверных решений на базе этой системы.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Для установки мы будем использовать образ Netinstall, который сейчас предлагается к скачиванию по умолчанию и предполагает наличие доступа к интернет во время установки. Однако, вопреки распространенному мнению, вы можете выполнить с его помощью минимальную установку системы, даже не имея доступа к сети. Все образа Debian являются гибридными, они могут быть записаны как на оптический носитель, так и на USB-флеш накопители.

Начало установки

После того, как вы загрузились с установочного носителя, вас встречает меню, в котором вы можете выбрать варианты установщика: текстовый или графический. Мы будем использовать текстовый режим, поэтому выбираем второй пункт — Install.

install-debian-11-minimal-server-001.pngЗатем следует выполнить ряд настроек будущей системы, которыми не следует пренебрегать. Начнем с выбора языка установки, в соответствие с которым будут сделаны языковые и региональные настройки системы.

install-debian-11-minimal-server-002.pngУкажите сочетание клавиш для переключения раскладки, по умолчанию предлагается стандартный Alt + Shift.

install-debian-11-minimal-server-003.pngВ дальнейшем установщик попытается настроить сеть и если в вашей сети есть работающий DHCP-сервер, то сетевые настройки будут получены автоматически, иначе вы можете ввести их руками или продолжить установку без сети, в этом случае будет доступна только минимальная установка.

install-debian-11-minimal-server-004.pngСледующий важный шаг — настройка пользователей. Debian предлагает несколько вариантов: с активным пользователем root или через sudo, когда учетная запись суперпользователя отключена и административные права получает созданный при установке пользователь (как в Ubuntu). Если исходить из соображение безопасности, то второй вариант лучше, но вы можете настроить систему по собственному усмотрению.

Сделать это просто: если вы укажете пароль root, то суперпользователь будет включен, а созданная далее учетная запись получит обычные права, утилита sudo установлена не будет. Если оставить пароль root пустым, то учетная запись суперпользователя будет отключена, установлена утилита sudo и созданный на следующем шаге пользователь получит административные права.

При отсутствии сети доступен только первый вариант (с активной учетной записью root).

install-debian-11-minimal-server-005.pngПосле настройки учетной записи суперпользователя вам будет предложено создать обычную учетную запись, никаких проблем с этим возникнуть не должно, достаточно указать желаемое имя и пароль.

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

install-debian-11-minimal-server-006.pngНа этом начальный этап установки завершен.

Разметка дискового пространства

Пожалуй, разметка дисков — это самый важный этап процесса установки, с принятыми на этом этапе решениями вам потом придется жить все время существования системы, так как изменить многие из них без переустановки не удастся. Сразу начнем с того, что, если вы не знаете как именно разметить диск — размечайте его самым простым образом, в большинстве случаев отдельного раздела будет достаточно. Тоже самое касается и выбора файловой системы — ext4 успешно закрывает большинство сценариев, не следует использовать иные файловые системы если вы не имеете опыта работы с ними и не знаете зачем они вам нужны.

Автоматическая разметка

Если вы поднимаете очередной сервер для рядовых задач с единственным диском, то автоматическая разметка является неплохим вариантом. На выбор предлагаются: простая разметка, разметка с LVM и LVM с шифрованием, и, хотя LVM весьма мощный инструмент, во многих случаях он будет избыточен и достаточно простой разметки.

install-debian-11-minimal-server-007.pngДля всех представленных вариантов предлагается три схемы разметки: все файлы в одном разделе, выделение /home и выделение /home, /var и /tmp. Для сервера подходит только первый вариант, тогда как второй предпочтителен для рабочих станций. Третий, кроме как недоразумением назвать нельзя. Автоматически бить диск на несколько разделов, не имея четкого понимания причин такого разделения — глупо. А имея понимание и представление проще настроить сразу как надо вручную. Поэтому безальтернативно выбираем Все файлы в одном разделе.

install-debian-11-minimal-server-008.pngВ этом случае система выполнит классическую разбивку: корневой раздел в начале диска и раздел подкачки в его конце.

install-debian-11-minimal-server-009.pngДля UEFI-систем добавится ESP-раздел c EFI-загрузчиком в самом начале диска, затем корневой и подкачка.

install-debian-11-minimal-server-010.pngНа этом этапе вы можете либо поправить схему разметки, либо оставить все как есть и перейти к следующему этапу нажав Сохранить разметку и записать изменения на диск.

Ручная разметка

Автоматическая разметка — это хорошо, вы получите заведомо рабочий результат без лишних действий, но это будет не самый оптимальный вариант. Поэтому можно разметить диск вручную и сразу так, как нужно. Если вы используете SSD, то мы советуем отказаться от стандартной схемы разметки и перенести раздел подкачки в начало диска. Почему?

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

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

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

При использовании EFI не забывайте, что первым должен идти ESP-раздел.

Перейдем к практике, на первом экране разметки дисков выбираем метод Вручную, затем выберите из списка нужный диск и нажмите Enter:

install-debian-11-minimal-server-011.pngБудет предложено создать новую таблицу разделов, соглашаемся с этим. Мы рекомендуем создавать новую таблицу разделов каждый раз при новой установке.

install-debian-11-minimal-server-012.pngТеперь на нашем диске появится пункт Свободное пространство, переходим на него и снова нажимаем Enter, будет предложено создать новый раздел.

install-debian-11-minimal-server-013.png

Если у вас UEFI-система, то сначала создаем раздел размером не менее 500 МБ:

install-debian-11-minimal-server-014.pngУказываем его местоположение в начале диска:

install-debian-11-minimal-server-015.pngИ выбираем тип Системный раздел EFI, метка «загрузочный» будет включена автоматически.

install-debian-11-minimal-server-016.pngЗатем точно также создаете раздел подкачки нужного размера:

install-debian-11-minimal-server-017.pngИ корневой, на все оставшееся место. По умолчанию предлагается файловая система ext4, советуем ее оставить, если нет действительных оснований использования другой файловой системы и понимания всех плюсов и минусов ее использования.

install-debian-11-minimal-server-018.pngВ итоге вы должны получить следующий вариант разметки:

install-debian-11-minimal-server-019.pngВ MBR-системах у вас будет просто раздел подкачки и корневой раздел.

Настройка LVM

Ручная настройка LVM — достаточно сложный процесс, требующий определенных знаний и выходящий за рамки данной статьи, поэтому мы будем рассматривать автоматическую настройку и сопутствующие этому особенности, для ручной настройки LVM следует обратиться к нашей статье:

LVM для начинающих. Часть 2. Основы управления томами

Важной особенностью LVM-разметки является то, что загрузчик (раздел /boot) должен находиться за ее пределами, в UEFI-системах также за пределами LVM следует располагать и ESP-раздел. Таким образом выбрав автоматическую разметку LVM и схему Все файлы в одном разделе мы получим следующую схему:

install-debian-11-minimal-server-020.pngКак мы говорили выше, система автоматически создала ESP и /boot разделы размером по 500 МБ каждый, при этом ESP раздел должен располагаться первым. Запомните эту особенность на случай ручной настройки LVM в последующем. Также обращаем ваше внимание, что для современных ядер минимальный размер /boot раздела должен быть не менее 500 МБ, встречающиеся рекомендации в 256 МБ следует считать устаревшими.

Что касается самой LVM-разметки, то создана единственная группа томов (VG) — debian-vg, внутри которой расположены два логических тома (LV): root и swap_1. Расположение логических томов на диске роли не играет, так как LVM позволяет гибко управлять пространством томов, не оглядываясь на физическую конфигурацию дисковой подсистемы.

Настройка программного RAID

Программный RAID широко используется для обеспечения отказоустойчивости дисковой подсистемы и поэтому его настройку нельзя обойти стороной. Как и с LVM, при настройке программного RAID имеются некоторые особенности. В UEFI-системах ESP-разделы также следует располагать за пределами RIAD-массивов, однако на этом особенности настройки программного RAID не заканчиваются, и мы советуем обратиться к нашей статье:

Настраиваем программный RAID на UEFI-системах в Debian и Ubuntu

Отдельного разговора также заслуживает раздел подкачки. Мы, конечно, можем объединить его в RAID, но вот толку от этого немного, своп не содержит никаких критических данных, которым требуется отказоустойчивость, поэтому более разумно оставить разделы подкачки на каждом диске, не создавая из них массив. Этим вы получите в два раза больший объем пространств подкачки и более высокое быстродействие, так как будет отсутствовать пенальти на запись и современные системы умеют работать с несколькими пространствами подкачки параллельно.

Что касается схемы разметки, то мы точно также советуем размещать раздел подкачки перед корневым, в UEFI-системах самым первым должен быть ESP-раздел.

Основной залог успешного создания программного RAID-массива — это одинаковая разметка для входящих в его состав томов. Поэтому план действий будет следующий. Создаем на обоих дисках новую таблицу разделов.

install-debian-11-minimal-server-021.png

Затем размечаем согласно принятой схемы, основное внимание уделяем одинаковым размерам разделов. В итоге мы должны получить на каждом диске два одинаковых раздела подкачки и два раздела для RAID, система предложит по умолчанию отформатировать в ext4 и смонтировать как корень и /home, на самом деле это не имеет никакого значения, главное — полная идентичность разметки. В UEFI-системах к ним еще добавится два ESP-раздела, которые должны располагаться самыми первыми.

install-debian-11-minimal-server-022.pngТеперь переходим в раздел Настройка программного RAID и выбираем пункт Создать MD-устройство.

install-debian-11-minimal-server-023.pngЗатем выбираем тип RAID, в современных условиях практический смысл имеют RAID 1 и RAID 10, в нашем случае мы можем собрать из двух дисков только RAID 1 (зеркало).

install-debian-11-minimal-server-024.pngПосле чего указываем устройства, из которых мы будем собирать RAID-массив. Обратите внимание, что программный RAID строится по схеме один массив — один раздел. Поэтому если вы применяете разметку отличную от все файлы в одном разделе, то заранее создайте нужное количество разделов на каждом диске.

install-debian-11-minimal-server-025.pngТеперь созданные нами ранее разделы на каждом из дисков будут представлены как Linux RAID, а в списке дисков появится новое RAID-устройство. Создаем на нем раздел с нужной файловой системой и точкой монтирования в корень.

install-debian-11-minimal-server-026.pngА общая схема разметки будет выглядеть следующим образом:

install-debian-11-minimal-server-027.pngНа этом завершим тему разметки дисков и двинемся дальше.

Завершение установки

Если считать установкой системы именно копирование файлов на диск, то все это время мы занимались подготовкой и только по завершение разметки на диск была скопирована базовая система. После чего нам снова придется ответить на ряд вопросов. В первую очередь нам предложит выбрать зеркало репозиториев Debian, по соображениям быстродействия следует выбирать сервера расположенные как можно ближе к физическому размещению сервера. Скажем, если сервер в датацентре в условной Германии, то следует отдать предпочтение немецким серверам. Если не знаете, какое зеркало выбрать — оставьте значение по умолчанию.

install-debian-11-minimal-server-028.pngПосле выбора зеркала система скачает и обновит списки пакетов, а также ряд ключевых элементов системы, после чего вам будет предложено выбрать компоненты для установки. Оставляем только SSH-сервер и Стандартные системные утилиты.

install-debian-11-minimal-server-029.pngТеперь нажимаем на кнопку продолжить и ждем окончания процесса установки, так как пакеты скачиваются из сети общее время сильно зависит от скорости интернет-соединения.

install-debian-11-minimal-server-030.pngВ завершение будет предложено установить загрузчик GRUB, соглашаемся с этим предложением.

install-debian-11-minimal-server-031.pngПри этом можно заметить, что программа установки позволяет выбрать только один диск и если вы используете программный RAID, то на втором диске у вас загрузчика не будет. Это не то, чтобы плохо, установить загрузчик можно и позднее, но также просто об этом и забыть. Поэтому сначала установим загрузчик на первый диск.

install-debian-11-minimal-server-032.pngА в следующем окне вместо предложения перезагрузить систему нажмем кнопку Вернуться.

install-debian-11-minimal-server-033.pngПеред вами появится следующее меню, в котором выбираем пункт Установка системного загрузчика GRUB:

install-debian-11-minimal-server-034.pngПосле чего установите загрузчик на второй диск.

install-debian-11-minimal-server-035.pngНа этом установка завершена, можете перезагружать систему.

Вход в систему, повышение прав

Так как мы уже установили пакет OpenSSH-сервера, то можем войти в систему как локально, так и удаленно. Второй способ безусловно удобнее, даже если сервер стоит у вас под боком, потому как SSH-консоль можно держать открытой на рабочем месте вместе с другими приложениями, скажем, браузером и копировать в нее нужные команды.

Первая особенность, с которой столкнется начинающий администратор — невозможность зайти под пользователем root через SSH, это связано с настройками безопасности, и мы не видим веских причин разрешать такой вход. Лучше всего сразу приучаться делать правильно. Поэтому войдите в систему под обычным пользователем.

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

su -

После чего укажите пароль суперпользователя. Ключ (-l, —login) вызывает оболочку регистрации входа пользователя, что эквивалентно непосредственному входу пользователя в систему. При этом будет изменен домашний каталог и применены все настройки рабочей среды суперпользователя (маска, переменные окружения и т.д.).

Если root выключен, то выполните команду:

sudo -s 

И введите пароль пользователя, под которым вошли в систему. Ключ -s аналогичен ключу команды su и позволяет открыть оболочку как будто бы при интерактивном входе суперпользователя в систему (со сменой домашнего каталога, переменных окружения и т.д.).

Настройка сети

На этапе установки мы уже получали сетевые настройки, но они были автоматические, теперь же настала пора присвоить нашему серверу статический IP-адрес. Прежде всего посмотрим, какие сетевые интерфейсы существуют и какие у них адреса, для этого выполните команду:

ip a

install-debian-11-minimal-server-036.pngКак видим, у нас есть интерфейс локальной петли и сетевой адаптер ens33, который получил динамический адрес 192.168.233.130, допустим мы хотим присвоить ему статический адрес 192.168.233.81. Для этого откроем на редактирование файл /etc/network/interfaces:

nano  /etc/network/interfaces

install-debian-11-minimal-server-037.pngИ приведем блок, относящийся к адаптеру ens33 к следующему виду:

allow-hotplug ens33
iface ens33 inet static
address 192.168.233.81
netmask 255.255.255.0
gateway 192.168.233.2
dns-nameservers 192.168.233.2

Набор опций понятен без дополнительных пояснений, мы указали адрес, маску сети, шлюз и DNS-сервера. Если их несколько, то указываем через пробел.

Сохраняем файл нажатием Ctrl + x.

Перезагружаем компьютер:

reboot

Теперь можем присоединиться к нему по новому адресу.

Настройка репозиториев

По умолчанию в Debian подключен только репозиторий main, содержащий только свободное ПО, соответствующее критериям FSF (Free Software Foundation, Фонд свободного ПО), но существуют еще два репозитория: non-free — бесплатно распространяемое ПО, не соответствующее критериям свободного ПО, contrib — программное обеспечение содержащее несвободные компоненты или требующие проприетарного ПО, например, Oracle Java.

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

sed -i "s/main/main contrib non-free/g" /etc/apt/sources.list

install-debian-11-minimal-server-038.png

После чего не забудьте выполнить обновление списка пакетов:

apt update

После чего можно выполнить обновление системы:

apt full-upgrade 

Или установить дополнительное ПО, обычно мы устанавливаем двухпанельный менеджер Midnight Commander и диспетчер задач Htop:

apt install mc htop

Настройка брандмауэра iptables

В Debian 11 в качестве брандмауэра установлен пакет nftables, это более мощное и продвинутое ПО, но требующее отдельного изучения. Если вы не готовы с ним работать, то можно вернуть привычный iptables и продолжать его использование. При этом на самом деле будет продолжать работать nftables, но в режиме совместимости с iptables.

Установим необходимые пакеты:

apt install iptables iptables-persistent

Теперь в порядке перечисленном ниже выполним следующие команды:

iptables -A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ens33 -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -i ens33 -p icmp -j ACCEPT
iptables -A INPUT -i ens33 -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -i ens33 -j DROP

Тем самым мы создадим минимальную конфигурацию брандмауэра. Первое правило разрешает уже установленные и связанные с ними соединения. Второе блокирует пакеты, не являющиеся первым пакетом соединения и не относящиеся к другим соединениям. Затем мы разрешаем соединения по протоколу ICMP (ping, PMTUD) и SSH-соединения (порт TCP 22). Затем полностью блокируем все остальные входящие соединения.

Проверяем, что все работает и сервер остается доступным по сети, после чего сохраняем правила командой:

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

Благодаря пакету iptables-persistent сохранённые правила теперь будут автоматически восстанавливаться при загрузке системы. Для их изменения удобнее всего вносить правки в файл /etc/iptables/rules.v4.

install-debian-11-minimal-server-039.pngРедактируя файл следует придерживаться следующих правил: первыми всегда должны идти два правила, выделенные нами желтым, а последним — запрещающее. выделенное красным. Все остальные правила должны размещаться между ними, при этом учитывайте, что правила проверяются в порядке их перечисления в файле и после срабатывания правила прохождение пакета через брандмауэр прекращается. Поэтому размещайте более частные правила выше более общих, в противном случае они никогда не сработают.

После сохранения изменений загрузите правила командой:

iptables-restore < /etc/iptables/rules.v4

Посмотреть действующие правила и их счетчики можно командой:

iptables -L -vn

install-debian-11-minimal-server-040.pngНе пренебрегайте настройкой брандмауэра даже если ваш сервер находится внутри периметра и не имеет непосредственного выхода во внешнюю сеть. Безопасности много не бывает!

Установка sudo и отключение учетной записи root

Если вы первоначально включили учетную запись суперпользователя, а теперь хотите ее выключить и далее работать через sudo, то следует выполнить ряд простых действий. Во-первых, установим пакет sudo:

apt install sudo

Затем добавим нужного пользователя в группу sudo:

usermod -a -G sudo andrey

В нашем случае это пользователь andrey. Затем выйдите из системы и войдите в нее снова, или просто перезагрузитесь. Проверьте, что указанный пользователь может повышать свои права при помощи sudo и только затем отключите учетную запись суперпользователя.

passwd -l root

Еще раз повторим, данная схема используется по умолчанию в Ubuntu и представляется нам более безопасной, нежели наличие активной учетной записи root.

Установка нового ядра

В Debian 11 используется достаточно актуальное ядро с длительным сроком поддержки 5.10 LTS, выпущенное 13.12.2020 года. Однако бывают ситуации, когда для поддержки оборудования или каких-то дополнительных возможностей требуется более свежее ядро. В этом случае потребуется установка более свежей версии. Ничего страшного в этом нет, но мы не рекомендуем устанавливать новые версии ядер без насущной на то необходимости. Хотя это Linux и здесь каждый сам кузнец собственного счастья.

Есть много способов обновить ядро, но мы рассмотрим самый безопасный — с использованием репозитория Backports. Он предоставляет пакеты из testing (в основном) и unstable (в некоторых случаях, например, для обновления безопасности) версий Debian, адаптированных для работы в стабильном (stable) выпуске.

Прежде всего подключим репозиторий:

echo "deb http://deb.debian.org/debian bullseye-backports main contrib non-free" > /etc/apt/sources.list.d/bullseye-backports.list

И обновим список пакетов:

apt update

Затем перейдем к собственно обновлению. В системе существует метапакет linux-image-amd64, указывающий на последнюю версию ядра. Выполним:

apt policy linux-image-amd64

install-debian-11-minimal-server-041.pngКак можем увидеть, доступны ядра 5.10 и 5.18, но так как репозиторий Backports имеет более низкий приоритет (100 против 500), то автоматического обновления ядра не произойдет и для его установки нужно будет выполнить команду:

apt install linux-image-amd64 -t bullseye-backports

Но ядро 5.18 не является ядром с длительным сроком поддержки и если вы сторонник разумной консервативности, то стоит сначала посмотреть полный набор доступных к установке ядер:

apt-cache search linux-image

В выводе команды мы без труда найдем пакеты последней LTS-версии 5.15.

install-debian-11-minimal-server-042.png

Выбираем нужный нам пакет и устанавливаем его командой:

apt install linux-image-5.15.0-0.bpo.3-amd64 -t bullseye-backports

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

install-debian-11-minimal-server-043.png

Заключение

В данном материале мы постарались коротко изложить все основные аспекты установки современной системы Debian для серверного применения, позволяющие разумно подойти к этому вопросу и получить на выходе полностью работающую систему, удовлетворяющую предъявленным требованиям. Но это только начало большого пути, и мы рекомендуем для дальнейшей настройки использовать материалы нашего сайта, как наиболее проверенные и совместимые с полученной в результате начальной настройки конфигурацией.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Содержание

1. Проект Debian
1.1. Что такое Debian?
1.2. Основополагающие документы
1.3. Внутреннее устройство Проекта Debian
1.4. Следите за новостями Debian
1.5. Роль дистрибутивов
1.6. Жизненный цикл выпуска

2. Представляя тематическое исследование
2.1. Быстро растущие потребности
2.2. Генеральный план
2.3. Почему дистрибутив GNU/Linux?
2.4. Почему дистрибутив Debian?
2.5. Почему Debian Jessie?

3. Анализ существующей установки и миграция
3.1. Сосуществование в гетерогенных

4. Установка
4.1. Способы Установки
4.2. Установка, Шаг за Шагом
4.3. After the First Boot

5. Пакетная система: Инструменты и основные принципы
5.1. Структура двоичных пакетов
5.2. Метаинформация пакета
5.3. Структура исходного пакета
5.4. Работа с пакетами при помощи dpkg
5.5. Сосуществование с другими пакетными системами

7. Решение проблем и поиск необходимой информации
7.1. Источники документации
7.2. Общие процедуры

8. Базовая конфигурация: Сеть, Аккаунты, Печать…
8.1. Configuring the System for Another Language
8.2. Настройка Сети
8.3. Setting the Hostname and Configuring the Name Service
8.4. User and Group Databases
8.5. Creating Accounts
8.6. Shell Environment
8.7. Printer Configuration
8.8. Configuring the Bootloader
8.9. Other Configurations: Time Synchronization, Logs, Sharing Access…
8.10. Compiling a Kernel
8.11. Installing a Kernel

9. Unix Services
9.1. System Boot
9.2. Remote Login
9.3. Managing Rights
9.4. Administration Interfaces
9.5. syslog System Events
9.6. The inetd Super-Server
9.7. Scheduling Tasks with cron and atd
9.8. Scheduling Asynchronous Tasks: anacron
9.9. Quotas
9.10. Backup
9.11. Hot Plugging: hotplug
9.12. Power Management: Advanced Configuration and Power Interface (ACPI)

10. Network Infrastructure
10.1. Gateway
10.2. Virtual Private Network
10.3. Quality of Service
10.4. Dynamic Routing
10.5. IPv6
10.6. Domain Name Servers (DNS)
10.7. DHCP
10.8. Network Diagnosis Tools

11. Сетевые сервисы: Postfix, Apache, NFS, Samba, Squid, LDAP, SIP, XMPP, TURN
11.1. Почтовый сервер
11.2. Web Server (HTTP)
11.3. FTP File Server
11.4. NFS File Server
11.5. Setting Up Windows Shares with Samba
11.6. HTTP/FTP Proxy
11.7. LDAP Directory
11.8. Real-Time Communication Services

12. Углублённое администрирование
12.1. RAID и LVM
12.2. Виртуализация
12.3. Автоматизированная установка
12.4. Мониторинг

13. Рабочая станция
13.1. Настройка сервера X11
13.2. Настройка графического интерфейса
13.3. Графические рабочие столы
13.4. Электронная почта
13.5. Веб-браузеры
13.6. Разработка
13.7. Совместная работа
13.8. Офисные пакеты
13.9. Эмуляция Windows: Wine
13.10. Real-Time Communications software

14. Безопасность
14.1. Определение политики безопасности
14.2. Сетевой экран или Фильтрация пакетов
14.3. Supervision: Prevention, Detection, Deterrence
14.4. Introduction to AppArmor
14.5. Introduction to SELinux
14.6. Other Security-Related Considerations
14.7. Dealing with a Compromised Machine

15. Создание пакета Debian
15.1. Пересборка пакета из его исходного кода
15.2. Сборка вашего первого пакета
15.3. Создание репозитория пакетов для APT
15.4. Как стать сопровождающим пакета

16. Conclusion: Debian’s Future
16.1. Upcoming Developments
16.2. Debian’s Future
16.3. Future of this Book
A. Производные дистрибутивы
A.1. Перепись и сотрудничество
A.2. Ubuntu
A.3. Linux Mint
A.4. Knoppix
A.5. Aptosid and Siduction
A.6. Grml
A.7. Tails
A.8. Kali Linux
A.9. Devuan
A.10. Tanglu
A.11. DoudouLinux
A.12. Raspbian
A.13. И многие другие
B. Короткий Коррективный Курс
B.1. Shell и Базовые команды
B.2. Организация Иерархии Файловой системы
B.3. Внутренняя Работа Компьютера: Различные Уровни Сложности
B.4. Некоторые Выполняемые Ядром Задачи
B.5. Пространство пользователя

Настольная книга администратора Debian — Это книга-справочник, повествующая о дистрибутиве Debian от первичной установки до настройки сервисов.

Скачать (pdf, epub, mobi)

2006 г.

Справочник по Debian

[ назад ]
[ Содержание ]
[ 1 ]
[ 2 ]
[ 3 ]
[ 4 ]
[ 5 ]
[ 6 ]
[ 7 ]
[ 8 ]
[ 9 ]
[ 10 ]
[ 11 ]
[ 12 ]
[ 13 ]
[ 14 ]
[ 15 ]
[ A ]
[ вперед ]

Osamu Aoki, перевод Ильи В. Головко, qref.sourceforge.net

Глава 2 — Основы Debian

Эта секция обеспечивает основную информацию по системе Debian для
пользователей. За авторитетной информацией обращайтесь к документам:

  • Руководство по политике Debian
  • Руководство по созданию пакетов в Debian
  • Справочник Debian-разработчика
  • Руководство начинающего Debian-мейнтейнера

ссылки на которые приведены в References, раздел 15.1.

Если вы ищете менее детализированные описания (в форме HOW-TO), переходите к
главе Управление пакетами в Debian, Глава 6
или другие соответствующие главы.

Эта статья основана на документах, взятых из «Debian FAQ», тщательным
образом реорганизованного в форму введения для обычного администратора системы
Debian.

2.1 Архивы Debian

2.1.1 Структура каталогов

Программное обеспечение, сформированное в debian-пакеты, доступно в одной из
нескольких древовидных структур каталогов на каждом зеркальном сайте Debian
Debian mirror site по
протоколам FTP или HTTP.

Следующие каталоги могут быть найдены на каждом зеркале Debian в каталоге
debian:

dists/:
Этот каталог содержит «дистрибутивы» и используется для канонического
пути для доступа к имеющимся (в настоящее время) пакетам в релизах и
пре-релизах Debian. Некоторые старые пакеты и файлы Packages.gz
могут быть до сих пор и здесь.
pool/:
Это новое физическое расположение всех пакетов релизов и пре-релизов Debian.
tools/:
DOS-утилиты для создания загрузочных дискет, разбиения вашего жесткого диска,
сжатия/распаковки файлов и загрузки Linux.
doc/:
Это основная документация по Debian, такая как FAQ, инструкции по системе
оповещения об ошибках и т.д.
indices/:
The Maintainers file and the override files.
project/:
материалы, в основном, для разработчиков. Это:

project/experimental/:
Этот каталог содержит пакеты и инструменты, которые находятся в разработке или
даже в альфа-тестировании. Пользователи не должны использовать эти пакеты, так
как они могут быть опасны и вредны даже для достаточно опытных.
project/orphaned/:
Здесь находятся пакеты, которые ‘осиротели’ (т.е. остались без мейнтейнера) и
были изъяты из дистрибутива.
2.1.2 Дистрибутивы Debian

Обычно существует три дистрибутива Debian в каталоге dists. Это
дистрибутив stable, дистрибутив testing и дистрибутив
unstable. Иногда может быть еще и frozen. Каждый
дистрибутив определяется как символическая ссылка на реальный каталог под
кодовым именем в каталоге dists.

2.1.3 Дистрибутив stable

Пакеты stable дистрибутива Debian Sarge (3.1r0) записываются в
каталог stable (символическая ссылка на каталог
sarge/):

  • stable/main/: Этот каталог содержит пакеты, которые формально
    составляют самый свежий релиз системы Debian.

    Эти пакеты полностью отвечают Рекомендациям об
    открытом ПО в Debian (DFSG)
    (смотрите также файл
    /usr/share/doc/debian/social-contract.txt из пакета
    debian-doc) и являются полностью свободными к использованию и
    распространению.

  • stable/non-free/: Этот каталог содержит пакеты, распространение
    которых ограничено требованиями ряда копирайтов.

    Например, некоторые пакеты имеют лицензию, которая запрещает коммерческую
    дистрибуцию. Другие могут распространяться в составе дистрибутива, но в
    действительности являются shareware и несвободным ПО. Лицензия каждого из этих
    пакетов должна быть изучена и учтена перед тем, как пакет будет включен в
    дистрибутив на CDROM и т.д.

  • stable/contrib/: Этот каталог содержит пакеты, которые сами по
    себе являются свободными (отвечают DFSG) и могут свободно
    распространяться
    , но неким образом зависят от
    несвободного пакета из non-free секции.

Теперь, в дополнение к выше указанным расположениям пакетов, пакеты физически
располагаются в каталоге pool (Каталог
pool, раздел 2.1.10).

Текущее состояние по найденным ошибкам в stable дистрибутиве
отображается на странице Stable
Problems
.

2.1.4 Дистрибутив testing

Пакеты для дистрибутива testing, Debian Etch, записываются в
testing каталог (символическая ссылка на etch/) после
того, как они пройдут некоторое тестирование в unstable.
Физически пакеты располагаются в каталоге pool‘ (Каталог pool, раздел 2.1.10). В каталоге
testing/ также имеются подкаталоги main,
contrib и non-free, которые выполняют те же функции,
что и в дистрибутиве stable/.

Для всех архитектур, под которые собираются пакеты дистрибутива
testing, обеспечивается синхронность версий, также эти пакеты не
должны иметь зависимостей, которые могли бы привести к невозможности их
удалить, и должны иметь меньше критических ошибок, чем версия, находящаяся
сейчас в unstable. Таким образом, мы надеемся, что
testing всегда близок, чтобы стать кандидатом в релиз.
Подробности о механизме тестирования смотрите в документе http://www.debian.org/devel/testing.

Самое последнее состояние дистрибутива testing публикуется на этих
сайтах:

  • update
    excuses
  • проблемы
    testing
  • критические
    ошибки
  • ошибки в базовой
    системе
  • ошибки в
    стандартных пакетах и пакетах задач
  • замечания по другим ошибкам и их
    исправлениям
2.1.5 Дистрибутив unstable

Пакеты для unstable дистрибутива, который всегда имеет кодовое имя
«Sid», сохраняются в каталоге unstable (символическая
ссылка на sid/) сразу после того, как их закачают в Debian-архив и
они находятся там до их перемещения в testing/. Сами пакеты
размещаются в каталоге pool (Каталог
pool, раздел 2.1.10). В каталоге unstable также
существуют подкаталоги main, contrib и
non-free, которые выполняют те же функции, что и в дистрибутиве
stable/. Дистрибутив unstable содержит снимок
разрабатываемой в настоящий момент системы. Вы можете использовать и
тестировать эти пакеты, осознавая состояние их готовности. Преимущество от
использования дистрибутива unstable в том, что вы всегда
используете самое последнее ПО из проекта Debian — оно является и самым
нестабильным.

Текущее состояние ошибок в дистрибутиве unstable отображается на
странице Unstable
Problems
.

2.1.6 Дистрибутив frozen

Когда дистрибутив testing достаточно созреет, он замораживается,
означая тем самым, что новый код более не принимается, а только исправления
ошибок, если таковые необходимы. Также, создается новое тестируемое дерево в
каталоге dists c новым кодовым названием. Замороженный
дистрибутив проходит в течение нескольких месяцев фазу тестирования с
нерегулярными обновлениями и глубокими заморозками, называемыми тест-циклами.
(Недавний процесс создания релиза Woody не создавал символическую ссылку
frozen, таким образом frozen не был дистрибутивом, а
являлся просто стадией разработки дистрибутива ‘testing’.)

Мы ведем запись ошибок в замороженном дистрибутиве, которые могут задержать
какой-либо пакет от прохождения его в релиз или ошибок, которые могут задержать
весь релиз от выхода. В момент, когда количество ошибок понизится до
максимально приемлемого значения, frozen становится стабильным, он
выпускается, а предыдущий стабильный дистрибутив становится
obsolete (устаревшим)( и переносится в архив).

2.1.7 Кодовые имена дистрибутивов Debian

Реальные имена каталогов в каталоге dists, такие как
sarge/ и etch/ являются просто кодовыми именами.
Когда дистрибутив Debian находится в стадии разработки, он не имеет номера
версии, зато имеет кодовое имя. Такое назначение кодовых имен упрощает
зеркалирование дистрибутива Debian(если реальное имя каталога
unstable менялось бы на stable/ (дистрибутив стал
стабильным — прим. переводчика), то пришлось бы скачивать повторно большое
количество файлов).

В настоящее время stable/ — это символическая ссылка на каталог
sarge/, а testing/ — ссылка на etch/.
Это означает, что Sarge является текущим стабильным дистрибутивом,
а Etch находится в стадии тестирования.

unstable/ — это постоянная символическая ссылка на каталог
sid/, так как Sid является всегда нестабильным дистрибутивом.

2.1.8 Кодовые имена прошлого

Вот кодовые имена, которые уже использовались: «Buzz» для релиза
1.1,»Rex» для релиза 1.2, «Bo» для релизов 1.3.x,
«Hamm» для релиза 2.0, «Slink» для релиза 2.1 и
«Potato» для релиза 2.2.

2.1.9 Источник кодовых имен

Имена дистрибутивов до сих пор были именами персонажей из фильма Toy
Story
от студии Pixar.

  • Buzz (Buzz Lightyear) был космонавтом
  • Rex был тиранозавром,
  • Bo (Bo Peep) была девочкой, ухаживающей за овечкой,
  • Hamm был piggy bank
  • Slink (Slinky Dog) был игрушечной собакой,
  • Sarge был предводителем армии людей Зеленого Пластика,
  • Potato был, конечно, мистером Картошечья Голова,
  • Woody был ковбоем,
  • Sid был парнем по-соседству, который сломал игрушки.
2.1.10 Каталог pool

Исторически пакеты хранились в каталоге дистрибутива, для которого они были
созданы. Сам каталог дистрибутива находился в каталоге dists.
Это вызывало различного рода проблемы, в том числе и большой расход пропускной
способности канала на зеркалирующих серверах, когда производились большие
изменения.

Теперь пакеты хранятся в большом «пуле», структурированном в
соответствии с именем исходного пакета. Чтобы сделать пул управляемым, он
поделен на секции (main, contrib, и
non-free) и далее по первым буквам имени исходного пакета. Эти
каталоги содержат несколько файлов: бинарные пакеты для каждой архитектуры и
пакеты с исходными текстами, на основе которых эти бинарные пакеты были
собраны.

Вы можете выяснить, где размещается каждый пакет, выполнив команду типа
apt-cache showsrc имя_моего_пакета и посмотрев на
строку «Directory:». Например, пакеты apache хранятся в
pool/main/a/apache/. Так как существует очень большое количество
пакетов библиотек lib*, то они обрабатываются несколько иначе.
Например, пакеты libpaper хранятся в
pool/main/libp/libpaper/.

Каталоги dists все еще используются индексными файлами для
программ типа apt. Также, на момент написания этого документа,
старые дистрибутивы еще не сконвертированы использовать пулы, и поэтому в поле
Directory заголовка пакета Вы увидите пути, содержащие имена дистрибутивов типа
potato или woody.

Обычно Вам не нужно беспокоиться об этом, так как новая программа
apt и, вероятно, старые dpkg-ftp (смотрите Способы обновления системы Debian, раздел 2.3.1)
обработают это без проблем. Если Вам нужно больше информации, смотрите
RFC:
Реализация пула пакетов
.

2.1.11 Историческая справка относительно Sid

Когда не существовало современного Sid, организация сайта с архивом Debian
имела одни большой недостаток: существовало предположение, что когда
создавалась архитектура в текущем unstable/, она могла быть также
выпущена, когда сам дистрибутив переходил в фазу релиза или
stable. Для множество архитектур это было неверным, что приводило
к необходимости переноса соответствующих каталогов в момент релиза (в
unstable — прим. пер.). Такие перемещения были непрактичными
из-за повышенного расхода пропускной способности канала.

Администраторы архива решали эту проблему в течение нескольких лет путем
помещения бинарных файлов для архитектур, которая не готова к выпуску, в
специальный каталог, называемый sid. Когда такая архитектура
входила в фазу релиза, то в первое время существовала ссылка из текущего
stable/ на sid/, and from then on they were created
inside the unstable/tree as usual. Это расположение вводило в
заблуждение пользователей.

С приходом пула пакетов (смотрите Каталог pool,
раздел 2.1.10) в процессе разработки дистрибутива Woody, бинарные пакеты
начали хранить в каноническом месте пула вне зависимости от дистрибутива, и
таким образом выпуск дистрибутива больше не вызывает повышенного расхода
пропускной способности канала на зеркалах (существует, однако,a lot of
gradual bandwidth consumption throughout the development process
).

2.1.12 Пакеты, закаченные в incoming/

Закаченные пакеты, находящиеся в http://incoming.debian.org/
проходят проверку для гарантии того, что они в действительности отправлены
разработчиком Debian (в противном случае, т.е. случае закачки пакета лицом, не
являющимся мейнтейнером — закачка NMU, пакет помещается в под-каталог
DELAYED). Один раз в день пакеты из incoming/
перемещаются в unstable/.

В крайних случаях Вы можете пожелать установить пакеты из
incoming/ до того, как они достигнут unstable/.

2.1.13 Доступ к старым пакетам

В то время, как самые последние дистрибутивы Debain хранятся в каталоге
debian на каждом зеркале Debian, архивы старых
дистрибутивов типа Slink хранятся по адресу http://archive.debian.org/ или в
каталоге debian-archive на каждом зеркале Debian.

Пакеты старых testing и unstable дистрибутивов могут
быть найдены по адресу http://snapshot.debian.net/.

2.1.14 Секции архитектрур

Внутри каждого основного дерева каталогов (dists/stable/main,
dists/stable/contrib, dists/stable/non-free,
dists/unstable/main/, и пр.), бинарные пакеты размещаются в
под-каталогах, чьи имена обозначают архитектуру процессора, под которую эти
пакеты были собраны.

  • binary-all/ — для архитектурно-независимых пакетов. Сюда
    относятся, например, скрипты на языке Perl, документация.
  • binary-platform/ — для пакетов, которые могут
    исполняться на определенной аппаратной платформе.

Обратите внимание, что бинарные пакеты дистрибутивов testing и
unstable теперь размещаются не в описанных каталогах, а каталоге
верхнего уровня pool. Индексные файлы типа (Packages
и Packages.gz) тем не менее хранятся для обратной совместимости.

В каждом дистрибутиве для поддерживаемых аппаратных архитектур существуют
Release Notes. Их можно найти на странице Release Notes соответствующего
дистрибутива: stable и
testing.

2.1.15 Исходный код

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

Обычно исходный код располагается в каталогах source, находящиеся
по-соседству с каталогами архитектур, или, с недавнего времени, в каталоге
pool (смотрите Каталог pool,
раздел 2.1.10). Чтобы получить исходный код пакета, не вникая в структуру
архива Debian, используйте команду apt-get source
mypackagename
.

Некоторые пакеты, например pine, доступны только в виде исходных
текстов из-за ограничений лицензии. (Недавно был представлен пакет
pine-tracker для облегчения установки Pine.) Процедуры, описанные
в Портирование пакета в систему на базе
stable, раздел 6.4.10 и Packaging, раздел 13.9 описывают
способы ручной сборки пакетов.

Исходный код для пакетов из каталогов contrib и
non-free, может отсутствовать, так как пакеты из этих каталогов
формально не являются часть системы Debian.

2.2 Система управления пакетами в Debian

2.2.1 Обзор пакетов Debian

Пакеты, как правило, содержат все необходимые файлы для реализации какого-либо
набора команд или возможностей. Существует два типа пакетов Debian:

  • Бинарные пакеты, которые содержат исполняемые и
    конфигурационные файлы, страницы руководств в формате man/info, информацию о
    копирайтах и другую документацию. Эти пакеты распространяются в специальном
    архивном формате Debian (смотрите Формат Debian пакета,
    раздел 2.2.2) и обычно выделяются наличием .deb расширения
    файлов. Бинарные пакеты могут быть распакованы при помощи утилиты Debian
    dpkg; подробности приведены в ее man-странице.
  • Пакеты с исходным текстом, которые состоят из
    .dsc файла, описывающего пакет (включая имена далее идущих
    файлов), файла .orig.tar.gz, который содержит немодифицированный
    исходный код в формате tar и упакованный программой gzip, и обычно файл
    .diff.gz, который содержит изменения исходного текста, специфичные
    для Debian. Утилита dpkg-source упаковывает и распаковывает
    пакеты Debian с исходными текстами; подробности смотрите в ее man-странице.

Установка программного обеспечения при помощи пакетной системы использует так
называемые «зависимости», которые тщательно спроектированы
мейнтейнерами пакета. Эти зависимости задокументированы в файле
control, связанным с каждым пакетом. Например, пакет, содержащий
компилятор GNU C (gcc) «зависит» от пакета
binutils, который включает в себя компоновщик и транслятор. Если
пользователь попытается установить gcc без предварительной
установки binutils, система управления пакетами (dpkg) выведет
сообщение об ошибке, что также необходима установка binutils, и
прервет установку gcc. (Однако, это поведение может быть изменено
по требованию пользователя; смотрите dpkg(8).) Дополнительные
подробности смотрите Зависимости пакетов, раздел 2.2.8
ниже.

Инструменты для работы с пакетами Debian можно использовать для того, чтобы:

  • манипулировать и управлять пакетами или их частями,
  • помочь пользователю разбить пакеты, которые нужно передать на носителях
    ограниченного размера (флоппи-диски),
  • помочь разработчикам в создании архивов пакетов,
  • помочь пользователям в установке пакетов, размещающихся на удаленном сайте
    архива Debian.
2.2.2 Формат Debian пакета

«Пакет» Debian или архивный файл Debian содержит исполняемые файлы,
библиотеки и документацию, ассоциированные с некоторым программмным комплектом
или набором связанных программ. Обычно архивный файл Debian имеет имя файла с
расширением .deb. [1]

Внутренние подробности этого формата бинарного пакета Debian описывются на
deb(5) man-странице. Так как внутренний формат может изменяться
(от релиза к релизу Debian), всегда используйте страницу
dpkg-deb(8) для манипулирования .deb файлами.

До дистрибутива Sarge включительно со всеми архивными файлами Debian можно
работать стандартными командами Unix типа ar и tar,
даже когда не доступны команды dpkg.

2.2.3 Соглашение об именах файлов Debian-пакетов

Имена файлов пакетов Debian подчиняются следующему соглашению:

     foo_НомерВерсии-номерDebianРевизии.deb

где foo является именем пакета. Для проверки можно определить имя
пакета, связанное с некоторым архивным файлом (.deb file) одним из
следующих способов:

  • Изучить файл «Packages» в каталоге дистрибутива на архивном сайте
    Debian. Этот файл содержит записи, описывающие каждый пакет; первое поле в них
    — это формальное имя пакета.
  • Использовать команду dpkg —info foo_VVV-RRR.deb (где
    VVV и RRR — номера версии и ревизии запрашиваемого
    пакета, соответственно). Команда отображает, помимо других данных, имя пакета,
    соответствующее изучаемому архивному файлу.

Компонент VVV — это номер версии, указанный разработчиком программы
(upstream developer). Не существует стандарта о нумерации версий, поэтому они
могут иметь различные форматы типа «19990513» или
«1.3.8pre1».

Компонент RRR — это ревизионный номер Debian, который указывается
разработчиком Debian (или частным пользователем, если он пожелал собрать пакет
самостоятельно). Этот номер соответствует уровню ревизии пакета Debian,
поэтому новый ревизионный номер обычно означает изменения в Debian makefile
(debian/rules), файле Debian control
(debian/control), скриптах установки или удаления
(debian/p*), или конфигурационных файлах, используемых в пакете.

2.2.4 Сохранение текущей конфигурации

Сохранение файлов настройки реализуется через механизм «conffiles»
системы Debian. Файлы настройки (обычно размещаемые в /etc/)
указываются в файле conffiles системы пакетов Debian. Cистема
управления пакетами гарантирует, что при обновлении пакета эти файлы не будут
перезаписаны.

When it is possible to configure the system without modifying files that belong
to various Debian packages, it is usually a good idea not to modify them even
if they are «conffiles». This ensures faster and smoother upgrade
operations.

Чтобы точно определить, какие файлы будут сохранены при обновлении пакета,
выполните:

     dpkg --status package

и смотрите под строкой «Conffiles:».

Подробности, связанные с содержимым Debian-файла conffiles,
представлены в руководстве по политике Debian, секция 11.7 (смотрите References, раздел 15.1).

2.2.5 Скрипты сопровождения Debian

Скрипты сопровождения Debian это исполняемые скрипты, автоматически выполняемые
перед или после установки пакета. Вместе с файлом control, эти
файлы являются частью секции «control» архивного файла Debian.

В частности, такими файлами являются:

preinst
Этот скрипт выполняется до распаковки пакета, к которому он принадлежит, из
архивного файла Debian (.deb). Многие «preinst» скрипты
останвливают сервисы обновляемых пакетов до окончания установки или обновления
(с последующим успешным выполнением скрипта «postinst»).
postinst
Этот скрипт обычно завершает конфигурирование пакета после его распаковки из
архивного файла Debian (.deb). Часто скрипт «postinst»
запрашивает у пользователя некоторую информацию и/или предупреждает
пользователя что, если он принимает значения по умолчанию, то нужно будет не
забыть переконфигурировать пакет, как это требуется. Многие скрипты
«postinst» затем выполняют команды, необходимые для запуска или
перезапуска сервиса после установки или обновления пакета.
prerm
Этот скрипт обычно останавливает какие-либо демоны (сервисы — прим.
переводчика), связанные с пакетом. Он выполняется перед удалением файлов
пакета.
postrm
Этот скрипт обычно модифицирует ссылки или другие файлы, связанные с пакетом,
и/или удаляет файлы, созданные им. (Смотрите также Виртуальные пакеты, раздел 2.2.7.)

В настоящее время все control-файлы могут быть найдены в каталоге
/var/lib/dpkg/info. Файлы, относящиеся к пакету foo
начинаются с имени «foo» и, соответственно, имеют расширение файла
типа «preinst», «postinst», и так далее. Файл
foo.list в этом каталоге описывет все файлы, установленные с
пакетом foo. (Заметьте, что месторасположение этих файлов
является внутренней особенностью программы dpkg, и поэтому может
меняться.)

2.2.6 Приоритеты пакетов

В помощь системе управления пакетами каждому пакету Debian мейнтейнерами
дистрибутива назначается приоритет priority. Приоритеты
бывают:

  • Required (требующиеся) пакеты, которые необходимы для
    правильного функционирования системы.

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

  • Important (важные) пакеты должны быть найдены на любой
    Unix-подобной системе.

    Пакеты с таким приоритетом — это остальные пакеты, без которых система не будет
    нормально работать или не будет удобной. Сюда не относятся
    пакеты типа Emacs, X11, TeX или любые другие крупные приложения. Эти пакеты
    составляют минимальную инфраструктуру.

  • Standard (стандартные) пакеты являются стандратными на любой
    Linux системе, включая разумно небольшую, но не ограниченную систему текстового
    режима.

    Это то, что устанавливается по умолчанию, если пользователь ничего не выбрал.
    «Standard» не включает многих крупных приложений, но уже включает
    Emacs (Это больше часть инфрастурктуры, чем приложение.) и разумное
    подмножество систем Tex и LaTeX (разумное настолько, чтобы не требовать X11).

  • Optional (опциональные) пакеты включает все те, которые вы
    можете захотеть установить, даже если с ними не знакомы, и если не имеете
    специальных требований.

    Это включает X11, полностью TeX и множество приложений.

  • Extra пакеты, которые или конфликтуют с другими более высокими
    приоритетами, несут малую пользу для пользователей, с ними незнакомыми, или
    имеют специальные требования, делающие их неподходящими к «Optional».

Пожалуйста, заметьте разницу между «Priority: required»,
«Section: base» и «Essential: yes» в описании пакета.
«Section: base» означает, что пакет устанавливается перед чем бы то
нибыло на новой системе. Большинство пакетов с «Section: base» имеют
приоритет «Priority: required» или «Priority: important», и
многие из них помечены как «Essential: yes». «Essential:
yes» означает, что при удалении этого пакета из системы необходимо указать
дополнительную форсирующую опцию системе управления пакетами dpkg.
Например, пакеты libc6, mawk и makedev
являются пакетами с приоритетом «Priority: required» из секции
«Section: base», но не являются «Essential: yes».

2.2.7 Виртуальные пакеты

Виртуальный пакет — это общее имя, употребляемое к любому из пакетов некой
группы, все пакеты из которой обеспечивают подобную базовую функциональность.
Например, пакеты tin и trn являются программами для
чтения news-конференций, и любая из них должна, следовательно, удовлетворять
зависимость программы, требующей для нормального своего функционирования
установленной программы чтения news-конференций. Эти пакеты, таким образом,
обеcпечивают «виртуальный пакет», называемый
news-reader.

Подобным образом, оба пакета exim и sendmail
обеспечивают функциональность почтового транспортного агента. Следовательно,
они предоставляют виртуальный пакет mail-transport-agent. Если
один из них установлен, то любая программа, зависящая от наличия установленного
почтового транспортного агента будет удовлетворена существованием этого
виртуального пакета.

Debian имеет такой механизм, что если в системе установлено более одного
пакета, предоставляющего виртуальный пакет, то системный администратор может
установить один из них, как предпочитаемый. Для этого используется команда
update-alternatives, описываемая далее Alternative commands, раздел
6.5.3.

2.2.8 Зависимости пакетов

Система пакетов в Debian имеет ряд «зависимостей» пакетов, которые
предназначены для того, чтобы показать (одним признаком) уровень, на котором
программа A может работать независимо от существования программы B в данной
системе:

  • Пакет A зависит (depends) от пакета B, если пакет B безусловно
    должен быть установлен для выполнения пакета A. В некоторых случаях, пакет A
    зависит не только от пакета B, а еще и от конкретной версии пакета B. В этом
    случае зависимость от версии пакета означает нижний предел, в том смысле, что
    пакет А зависит от любой версии пакета B, не старее указанной версии.
  • Пакет A рекомендует (recommends) пакет B, если мейнтейнер
    пакета решил, что большинство пользователей не захотят иметь пакет А без
    функциональности, предоставляемой пакетом B.
  • Пакет A предлагает (suggests) пакет B, если пакет B содержит
    файлы, относящиеся к (или обычно улучшающие) функциональности пакета A.
  • Пакет А конфликтует (conflicts) с пакетом B, когда пакет A не
    будет работать, если пакет B установлен в системе. Более частый случай
    конфликта, когда пакет A содержит файлы, которые являются улучшением тех, что
    находятся в пакете B. Статус «конфликтует» часто комбинируется с
    «заменяет».
  • Пакет A заменяет (replaces) пакет B, когда установленные файлы
    пакета B удаляются и, в некоторых случаях перезаписываются файлами пакета A.
  • Пакет A обеспечивает (provides) пакет B, когда все файлы и
    функциональность пакета B включается в состав пакета A. Этот механизм
    предоставляет для пользователей с ограниченным дисковым пространством способ
    получить только реально нужную им часть пакета A.

Более подробную информацию об использовании каждого из этих терминов можно
найти в Руководстве по созданию пакетов и в Руководстве по
политике
.

Заметьте, что программа dselect имеет более тонко настроенный
контроль над пакетами, указываемыми зависимостями вида
рекомендует и предлагает, нежели программа
apt-get, которая просто вытаскивает все пакеты, указанные в
зависимости зависит и не трогает все пакеты, указанные в
зависимостях пакета рекомендует и предлагает.
Обе программы в современном виде используют за основу систему APT.

2.2.9 Значение «pre-depends»

«Pre-depends» — специальный вид зависимости. В случае обычного
пакета программа dpkg распаковывает архивный файл пакета (т.е.,
файл .deb) вне зависимости от существования в системе файлов, от
которых зависит данный пакет. Распаковка же, по существу, означает, что
программа dpkg извлечет из архива .deb файлы,
подлежащие установке на Вашу файловую систему и разместит их на своих местах.
Если данный пакет зависит (depends) от наличия неких других
пакетов на Вашей системе, то программа dpkg откажется завершить
установку (выполняя действие «configure») до тех пор, пока требуемые
пакеты не будут установлены.

Однако, существуют некоторые пакеты, даже распаковка которых при помощи
программы dpkg будет отменена, пока не будут разрешены
определенные зависимости. Считается, что такие пакеты критично зависят
(«pre-depend») (а как еще перевести «pre-depends? — прим.
переводчика) от присутствия некоторых других пакета(ов). Проект Debian
предоставил этот механизм, чтобы поддержать безопасное обновление систем с
формата a.out на ELF формат, когда был критичен
порядок, в котором пакеты распаковываются. Бывают еще другие
ситуации крупных обновлений, где этот метод полезен, например, в случае пакетов
с приоритетом «Required» и их зависимостями от libc.

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

2.2.10 Статус пакета

Статус пакета может быть «unknown» (неизвестный), «install»
(установить), «remove» (удалить), «purge» (очистить) или
«hold» (удержать). Эти предписывающие флаги показывают то, что
пользователь желает сделать с пакетом (делая свой выбор в секции
«Select» программы dselect, или прямо вызывая программу
dpkg).

Смысл эти значений:

  • unknown (неизвестный) — пользователь никогда не показывал свою
    потребность в пакете.
  • install (установить) — пользователь желает, чтобы пакет был
    установлен или обновлен.
  • remove (удалить) — пользователь желает, чтобы пакет был
    удален, но не желает удалять никакие конфигурационные файлы.
  • purge (очистить) — пользователь желает, чтобы пакет был
    полностью удален, включая его конфигурационные файлы.
  • hold (удержать) — пользователь желает, чтобы этот пакет не
    обрабатывался, т.е. он хочет сохранить его текущую версию с его текущим
    состоянием, каким бы оно не было.
2.2.11 Удержание пакетов от обновления

Существует два механизма для удержания пакета от обновления: через программу
dpkg или, начиная с Woody, через систему APT.

В случае с dpkg, сначала экспортируем список выбора пакетов:

     dpkg --get-selections * > selections.txt

Затем отредактируем получившийся файл selections.txt,
изменив строку, содержащую пакет, который хотим удержать, например
libc6, следующим образом:

     libc6                       install

заменяем на:

     libc6                       hold

Сохраням файл и перезагружаем его в базу данных dpkg таким
способом:

     dpkg --set-selections < selections.txt

Или, если вы знаете имя пакета для удержания, просто выполните:

     echo libc6 hold | dpkg --set-selections

Эта процедура удерживает пакеты в процессе установки каждого пакета.

Тот же самый эффект можно получить, используя программу dselect.
Просто войдите на экран [S]elect, найдите пакет, который желаете удержать в его
настоящем состоянии и нажмите клавишу `=’ (или `H’). Изменения войдут в силу
сразу после выхода из экрана [S]elect.

Система APT в дистрибутиве Woody имеет новый альтернативный механизм для
удержания пакетов во время процесcа выборки архива, используя
Pin-Priority. Смотрите man-страницу
apt_preferences(5), а также http://www.debian.org/doc/manuals/apt-howto/
или пакет apt-howto; глава Обзор файла
/etc/apt/preferences, раздел 6.2.8 тоже содержит краткое
объяснение.

2.2.12 Пакеты с исходным текстом

Пакеты с исходным текстом располагаются в каталоге source, либо Вы
можете скачать их вручную или использовать APT

     apt-get source foo

чтобы их получить (смотрите man-страницу apt-get(8), чтобы
настроить APT для этого).

2.2.13 Сборка бинарного пакета из пакета с исходным текстом

Чтобы скомпилировать исходный текст пакета foo, Вам
нужны будут все следующие файлы — foo_*.dsc,
foo_*.tar.gz и foo_*.diff.gz
(заметьте, что не существует файла .diff.gz для самого пакета
Debian).

Как только Вы их получите, и если у Вас установлен пакет dpkg-dev,
команда

     $ dpkg-source -x foo_версия-ревизия.dsc

распакует пакет с исходным текстом в каталог под именем
foo-версия.

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

     $ cd foo-версия
     $ su -c "apt-get update ; apt-get install fakeroot"
     $ dpkg-buildpackage -rfakeroot -us -uc

Далее,

     # su -c "dpkg -i ../foo_версия-ревизия_архитектура.deb"

чтобы установить только что собранный бинарный пакет. Смотрите Портирование пакета в систему на базе
stable, раздел 6.4.10.

2.2.14 Создание новых пакетов Debian

За детальной информацией по созданию новых пакетов читайте Руководство
новым мейнтейнерам (New Maintainers’ Guide)
, имеющееся в пакете
maint-guide или по адресу http://www.debian.org/doc/manuals/maint-guide/.

2.3 Обновление системы Debian

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

Вам также нужно изучить документ Release Notes, который описывает подробности
конкретных обновлений, размещающийся на всех компакт-дисках с Debian, или по
адресам http://www.debian.org/releases/stable/releasenotes
и http://www.debian.org/releases/testing/releasenotes.

Практическое руководство по обновлению представлено в Управление пакетами в Debian, Глава 6. Эта
секция лишь описывает основные принципы.

2.3.1 Способы обновления системы Debian

Всегда можно просто, используя анонимный доступ по FTP или через программу
wget зайти в архив Debian, внимательно изучить каталоги, найти
желаемый файл, скачать его, и, наконец, установить его при помощи программы
dpkg. (Заметьте, что программа dpkg установит файлы
обновления на свое место даже на работающей системе.) Иногда, однако,
обновленный пакет потребует установки новой обновленной версии еще одного
пакета, и пока он не будет установлен, установка не будет завершена.

Много людей сочли, что этот ручной способ расходует массу времени, так как
Debian развивается очень быстро — обычно каждую неделю закачивается
множество новых пакетов. И их число увеличивается перед новым главным релизом.
Чтобы иметь дело с таким потоком, пользователи предпочитают использовать
автоматизированную программу для обновления. Для этого существует несколько
специальных инструментов управления пакетами.

2.3.2 Обзор инструментов управления пакетами

Система управления пакетами в Debian имеет две цели: манипулирование собственно
файлами пакетов и выборка файлов пакетов из архива Debian. Программа
dpkg выполняет первую задачу, система APT and программа
dselect последнюю.

2.3.3 Программа dpkg

Это основная программа для манипулирования файлами пакетов; за полным описанием
обращайтесь к man-странице dpkg(8).

Программа dpkg идет вместе с несколькими простыми дополнительными
программами:

  • dpkg-deb: Манипулирует файлами .deb.
    dpkg-deb(1)
  • dpkg-ftp: Старая команда для выборки файлов пакетов.
    dpkg-ftp(1)
  • dpkg-mountable: Старая команда для выборки файлов пакетов.
    dpkg-mountable(1)
  • dpkg-split: Разбивает большой пакет на более мелкие файлы.
    dpkg-split(1)

Программы dpkg-ftp и dpkg-mountable были замещены
введением системы APT.

2.3.4 Система APT

Система APT (Улучшенный инструмент для работы с пакетами) представляет собой
улучшенный интерфейс к системе управления пакетами в Debian, и состоит из
нескольких программ, обычно начинающихся со префикса «apt-«.
Программы apt-get, apt-cache и apt-cdrom
— это инструменты командой строки для манипулирования пакетами. Они также
функционируют как пользовательские программы-платформы (back end) для других
инструментов, таких как dselect и aptitude.

Для дополнительной информации установите пакет apt и прочтите
соответствующие man-страницы: apt-get(8),
apt-cache(8), apt-cdrom(8), apt.conf(5),
sources.list(5), apt_preferences(5) (Woody), а также
/usr/share/doc/apt/guide.html/index.html.

Альтернативным источником информации является страница APT HOWTO. Она
может быть установлена из пакета apt-howto, файл
/usr/share/doc/Debian/apt-howto/.

Команды apt-get upgrade и apt-get dist-upgrade
обновляют только пакеты, описываемые как «Depends:» и просматривают
все пакеты с зависимостями «Recommends:» и «Suggests:».
Чтобы избежать этого, используйте программу dselect.

2.3.5 Программа dselect

Это программа представляет собой управляемый с помощью меню интерфейс к системе
управления пакетами в Debian. Она особенно полезна в первых установках или
крупномасштабных обновлениях. Смотрите Программа dselect, раздел
6.2.3.

Для дополнительной информации установите пакет install-doc и
изучите файл /usr/share/doc/install-doc/dselect-beginner.en.html
или страницу по адресу dselect
Documentation for Beginners
.

2.3.6 Обновление работающей системы

Ядро (файловая система) в Debian системах поддерживает замену файлов даже во
время их использования.

Мы также предоставляем программу, называемую start-stop-daemon,
которая используется для запуска демонов на этапе загрузки или для их останова,
когда изменяется уровень исполнения ядра (например, при переходе из
многопользовательского в однопользовательский режим или в состояние
«останов» /halt/). Та же программа используется установочными
скриптами, когда новый пакет содержит устанавливаемый демон, для остановки
работающих демонов и их рестарта, если это необходимо.

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

2.3.7 Скаченные и кэшированные архивные файлы .deb

Если Вы вручную скачали файлы пакетов на Ваш жесткий диск (что, кстати,
совершенно не нужно; смотрите описание программ dpkg-ftp или APT
выше), то после установки пакетов Вы можете удалить файлы .deb из
системы.

Если же используется система APT, то эти файлы кэшируются в каталоге
/var/cache/apt/archives. Вы можете стереть их после установки
(командой apt-get clean) или скопировать их в каталог
/var/cache/apt/archives другой машины с целью экономии входящего
трафика при последующих установках.

2.3.8 Журналирование (record-keeping) процесса обновления

Программа dpkg хранит записи о пакетах, которые были распакованы,
сконфигурированы, удалены, и/или очищены, но не хранит (в настоящее время)
журнал действий пользователя на терминале во время работы с пакетами.

Самый простой путь исправить это — это запускать сессию программы
dpkg, dselect, apt-get, и пр. c
программой script(1).

2.4 Процесс загрузки Debian

2.4.1 Программа init

Как и все Unix-подобные операционные системы, Debian загружается, выполняя
программу init. Конфигурационный файл для init
(/etc/inittab) указывает, что первый скрипт, который должен быть
выполнен, — это скрипт /etc/init.d/rcS. Данный скрипт запускает
все скрипты из каталога /etc/rcS.d/ по порядку (как перевести by
sourcing ? — прим. перев.) или порождая подчиненные процессы (в зависимости
от расширения имени файла) с целью инициализации системы, как то проверка и
монтирование файловых систем, загрузка модулей, запуск сетевых сервисов,
установка системных часов и пр. Далее (для совместимости) этот скрипт
выполняет файлы из каталога /etc/rc.boot/ (кроме тех, что имеют
`.’ в имени файла). Любые скрипты из последнего каталога обычно
предназначаются для использования системным администратором, и применение их в
пакетах не допускается. За дополнительной информацией обращайтесь к System initialization, раздел 9.1 или
странице System run
levels and init.d scripts
Руководства по политике Debian.

2.4.2 Уровни выполнения

По окончании процесса загрузки программа init выполняет все
стартовые скрипты в каталоге, определяемым уровнем выполенения по умолчанию
(это уровень выполнения задается элементом id в файле
/etc/inittab). Как и большинство System V — совместимых
Unix-систем, Линукс имеет 7 уровней выполнения:

  • 0 (останов системы),
  • 1 (однопользовательский режим),
  • 2 — 5 (различные многопользовательские режимы), и
  • 6 (перезагрузка системы).

Системы Debian идут с id=2, который показывает, что при входе в
многопользовательский режим уровень выполнения по умолчанию — второй, и поэтому
требуется выполнить скрипты из каталога /etc/rc2.d/.

Скрипты в любом из каталогов /etc/rcN.d/, по сути,
являются символическими ссылками на скрипты из каталога
/etc/init.d/. Однако, сами имена файлов в каждом
/etc/rcN.d/ каталоге определяют
способ, которым будут запущены скрипты из
/etc/init.d/. Конкретнее, перед входом в любой уровень исполнения
сначала запускаются все скрипты, начинающиеся с буквы `K’; данные скрипты
останавливают сервисы. Далее выполняются все скрипты, начинающиеся в буквы
`S’; эти скрипты запускают сервисы. Двузначное число после буквы `K’ или `S’
показывает порядок, в котором выполняются скрипты. Скрипты с меньшим номером
выполняются первыми.

Это способ работает, так как все скрипты из каталога /etc/init.d/
принимают аргумент с одним из возможных значений «start»,
«stop», «reload», «restart» или
«force-reload», и выполняют задачу, соответствующую значению данного
аргумента. Эти скрипты могут также использоваться после загрузки системы для
управления различными процессами.

Например, следующая команда с аргументом «reload»

     # /etc/init.d/sendmail reload

посылает демону sendmail сигнал, побуждающий его перечитать конфигурационный
файл.

2.4.3 Настройка процесса загрузки

Debian не использует свойственный BSD каталог rc.local для
настройки процесса загрузки; вместо этого он предоставляет следующий механизм.

Предположим, системе нужно на этапе загрузки или при входе в определенный
(System V) уровень выполнения исполнить скрипт foo. Тогда
системный администратор должен сделать:

  1. Разместить скрипт foo в каталоге /etc/init.d/.
  1. Выполнить Debian-команду update-rc.d с соответствующими
    аргументами, чтобы создать символические ссылки между каталогами
    rc?.d (задаваемый в командой строке) и файлом
    /etc/init.d/foo. Здесь ? — это номер от 0 до 6,
    который соответствует одному из System V уровней выполнения.
  1. Перезагрузить систему.

Команда update-rc.d установит ссылки между файлами в каталоге
rc?.d и скриптом из /etc/init.d/. Каждая
ссылка будет начинаться с `S’ или `K’ с последующим номером и именем скрипта.
Когда система входит в уровень выполнения N, из каталога
/etc/rcN.d/ скрипты, начинающиеся с `K’, запускаются с
аргументом stop, а потом оттуда же скрипты, начинающиеся с `S’,
запускаются с аргументом start.

Например, можно настроить, чтобы скрипт foo выполнялся при
загрузке, разместив его в каталог /etc/init.d/ и установив ссылки
при помощи команды update-rc.d foo defaults 19. Аргумент
defaults ссылается на уровни выполнения по умолчанию, которые
могут быть от 2 до 5. Аргумент 19 обеспечивает, что скрипт
foo вызывается до любых других с номером 20 или больше.

2.5 Поддержание многообразия программного обеспечения

Debian предлагает несколько путей удовлетворения любых потребностей системного
администратора без нарушений в системе:

  • dpkg-divert, смотрите The dpkg-divert command,
    раздел 6.5.1.
  • equivs, смотрите The
    equivs package, раздел 6.5.2.
  • update-alternative, смотрите Alternative commands, раздел
    6.5.3.
  • make-kpkg поддерживает множество системных загрузчиков. Смотрите
    страницы make-kpkg(1) и Debian standard method, раздел
    7.1.1.

Любые файлы в каталоге /usr/local/ принадлежат системному
администратору и Debian их не трогает. Большинство (или все) файлы в каталоге
/etc являются конфигурационными файлами и Debian их
не будет перезаписывать при обновлениях, пока системный администратор явным
образом этого не запросит.

2.6 Интернационализация

Система Debian интернациональна и обеспечивает отображение и ввод символов на
многих языках как в консоли, так в системе X Window. Множество документов,
man-страницы и системные сообщения переведены на многие языки, и их (языков)
число растет. В процессе установки Debian просит пользователя выбрать язык
инсталляции ( и даже иногда его местную вариацию).

Если Ваша установленная система не поддерживает все нужные Вам языковые
особенности, или Вам нужно изменить язык или установить другую раскладку
клавиатуры для Вашего языка, смотрите Localization, раздел 9.7.

2.7 Debian и ядро

Смотрите The Linux kernel under Debian, Глава
7.

2.7.1 Компиляция ядра, полученного не из Debian

Необходимо понимать политку Debian в отношении заголовочных файлов (headers).

Библиотеки языка C в Debian собраны с самым свежим стабильным
релизом заголовков ядра.

Например, релиз Debian 1.2 использовал версию заголовков 5.4.13. Эта практика
отличается от той, что в пакетах исходных текстов ядра Linux, распространяемых
на всех FTP-архивах Linux, где используются самые свежие версии заголовочных
файлов. Заголовочные файлы ядра распространяются вместе с ядром и находятся в
каталоге /usr/include/linux/include/.

Если Вам нужно скомпилировать программу с более новыми заголовочными файлами,
чем те, что предоставляются пакетом libc6-dev, то Вы должны
добавить опцию -I/usr/src/linux/include/ к Вашей командной строке
при компиляции. Например, это важно при сборке пакета демона автомонтирования
(пакет amd). Когда новые ядра изменяют некоторые внутренние
особенности работы с NFS, программе amd нужно знать об этом. Это
и требует включения самых последних заголовочных файлов.

2.7.2 Инструменты для построения ядер, настроенных пользователем

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

     # make-kpkg kernel_image

в каталоге верхнего уровня исходных текстов ядра. При помощи следующей команды
можно получить справку:

     # make-kpkg --help

также доступную на man-странице make-kpkg(8) и The Linux kernel under Debian, Глава 7.

Пользователи должны кроме этого скачать исходный код наиболее свежего ядра (или
же ядра, которое им требуется) с любого предпочитаемого ими архивного сайта
Linux в случае недоступности пакета kernel-source-версия (где
версия обозначает версию ядра). Загрузочный скипт
initrd в Debian требует специального патча к ядру, называющийся
initrd; смотрите http://bugs.debian.org/149236.

Подробные инструкции по использованию пакета kernel-package даны в
файле /usr/share/doc/kernel-package/README.gz.

2.7.3 Альтернативные системные загрузчики

Для использования альтернативных системных загрузчиков вроде grub
или loadlin, скопируйте скомпилированное ядро bzimage
в требуемое конкретным загрузчиком место (например, в /boot/grub
или на раздел MS-DOS).

2.7.4 Загрузочные дискеты, настроенные пользователем

Задача создания загрузочных дискет, настроенных под потребности пользователя,
весьма упрощается при использовании пакета boot-floppies, обычно
находящегося в секции admin архива Debian. Скрипты командного
интерпертатора в этом пакете производят загрузочные дискеты в формате программы
syslinux. Они представляют собой дискеты в формате MS-DOS с
главной загрузочной записью, измененной таким образом, что они непосредственно
загружают Linux (или другую операционную систему, определенную в файле
syslinux.cfg на дискете). Другие скрипты этого пакета производят
аварийные корневые диски, а также могут сделать копию базовых дисков.

Вы найдете больше информации об этом в файле
/usr/doc/boot-floppies/README после установки пакета
boot-floppies.

2.7.5 Специальное положение о том, как работать с модулями

Пакет modconf в Debian предоставляет скрипт командного
интерпретатора (/usr/sbin/modconf), который можно использовать для
настройки конфигурации модулей. Этот скрипт имеет меню-интерфейс, через
который пользователь опрашивается об особенностях загружаемых драйверов
устройств в системе. Указанная пользователем информация используется для
настройки файла /etc/modules.conf (который содержит список алиасов
и другие аргументы, используемые в сочетании с различными модулями), при этом
анализируются файлы из каталога /etc/modutils/ и файл
/etc/modules (содержащий список модулей, требуемых своей загрузки
при старте системы).

Подобно файлам Configure.help, призванным помочь в создании
пользовательских ядер, пакет modconf поставляется с набором файлов
справки (в каталоге /usr/lib/modules_help/), которые предоставляют
подробную информацию о соответствующих аргументах каждого модуля. Примеры
смотрите в The modularized 2.4
kernel, раздел 7.2.

2.7.6 Удаление из системы старого пакета с ядром

Скрипт kernel-image-NNN.prerm (запускаемый перед
удалением пакета с ядром — прим. переводчика) проверяет на совпадение ядро,
которое сейчас работает, с ядром, которое Вы пытаетесь удалить из системы.
Таким образом, Вы можете безопасно удалять ненужные пакеты с ядром, используя
данную команду:

     dpkg --purge --force-remove-essential kernel-image-NNN

(Конечно же, замените NNN на номер версии и ревизии Вашего ядра.)

[ назад ]
[ Содержание ]
[ 1 ]
[ 2 ]
[ 3 ]
[ 4 ]
[ 5 ]
[ 6 ]
[ 7 ]
[ 8 ]
[ 9 ]
[ 10 ]
[ 11 ]
[ 12 ]
[ 13 ]
[ 14 ]
[ 15 ]
[ A ]
[ вперед ]

Понравилась статья? Поделить с друзьями:
  • Лекарство индап инструкция по применению цена
  • Руководства avr семейства mega
  • Экватор таблетки от давления инструкция по применению дозировка взрослым
  • Ирифрин глазные капли инструкция по применению взрослым от чего помогает
  • Как скинуть фото со смартфона на ноутбук инструкция для чайников