Debian

Материал из MediaWiki
Перейти к навигации Перейти к поиску

Это один из первых дистрибутивов Linux. Прославился огромным количеством пакетов, наибольшим списком поддерживаемых архитектур, повышенными требованиями к лицензиям, качественным тестированием и фразой "Debian выпускается, когда приходит время", что означает, что релиз-цикл у Debian ОЧЕНЬ долгий.

Официальный сайт

Что ставить — stable/testing/unstable?

Новичкам лучше начинать со stable, стабильный релиз имеет проверенный набор пакетов с небольшой вероятностью того, что придется встретиться с какими-либо ошибками, регулярно и в кратчайшие сроки получает обновления безопасности. С другой стороны в stable будет старая версия ядра, которая, возможно, не сможет работать с современным железом. Частично это решается использованием бекпортов.

После детального понимания дистрибутива десктопы можно обновить до testing. Тестируемая ветка отличается более новыми версиями пакетов программ, а поэтому есть вероятность того, что иногда встречаются ошибки или что-то бывает сломано, также возможны конфликты при обновлении пакетов из за меняющихся зависимостей и изменения версий программ. В случае использования testing можно (на свой страх и риск) смешивать пакеты из репозиториев testing, unstable или experimental. Для ветки stable подобным заниматься не следует.

А unstable — для экстремалов или тех, кто знает, что делает.

Jessie, Stretch, Buster, Sid — что это такое?

Это кодовые имена релизов Debian, названия берутся из мультфильма «Toy Story» компании Pixar. В каждый момент времени существует три официальные версии Debian:

  • Stable — стабильная версия, в которой версии ПО не обновляют, а только исправляют найденные ошибки.
  • Testing — версия, в которой пакеты переносятся из unstable, после предварительной заморозки и тестирования.
  • Unstable — ветка, содержащая последние версии ПО и, соответственно, n-ое количество ошибок :-).

Так же существует Oldstable (предыдущий Stable) и Experimental, который не является полноценной веткой — в нем находятся пакеты, требующие тщательного тестирования или которые повлекут серьезные изменения в дистрибутиве (например новая версия gcc или Xorg). Через определенные промежутки времени stable отправляется в утиль, а текущий testing становится новым stable.

Sid — кодовое название unstable. Этот релиз никогда не будет выпущен. (В «Toy Story» Sid Phillips — хулиганистый мальчишка, ломающий игрушки. Достаточно символичное название для нестабильной ветки)

Stretch — текущий stable, вышел 17.06.2017, Debian 9.x

Jessie — Debian 8.x, текущий oldstable, вышел 25.04.2015

Wheezy — Debian 7.x, находится в стадии долгосрочной поддержки Long Term Support (LTS), он же предыдущий oldstable (или как его еще обычно называют — oldstable)

Buster — Debian 10, планируемый выпуск, начал стадию testing после выпуска Stretch.

Кодовые названия всех релизов: buzz: 1.1, rex: 1.2, bo: 1.3.x, hamm: 2.0, slink: 2.1, potato: 2.2, woody: 3.0, sarge: 3.1, etch: 4.0, lenny: 5.0, squeeze: 6.x, wheezy: 7.x, jessie: 8.x, stretch: 9.x, buster: 10.x

Само название Debian происходит от имени создателя Ian Murdock и его жены (бывшей) Debra.<ref>http://www.debian.org/doc/manuals/project-history/ch-intro.en.html#s1.2</ref>

Вопросы по установке Debian (свободное ядро и несвободные драйвера)

В связи с переносом несвободных драйверов устройств из ядра в пакет firmware-linux-nonfree в разделе non-free у некоторых пользователей могут возникнуть проблемы с оборудованием во время установки Debian, например, из-за нехватки драйвера сетевой карты (например от Broadcom) не будет связи с интернетом.

Перед установкой Debian прочтите тут и тут для инструкций. Кратко:

  • перед установкой проверьте ваше оборудование на наличие проблем с драйверами (по ссылке выше есть список устройств);
  • скопируйте на съёмный носитель, например на CD/DVD или USB, тарболл взятый отсюда и подключите его перед установкой. Если во время установки интернет доступен, то будет предложено скачать недостающий firmware.

Также доступны неофициальные netinst-iso-образы со всеми драйверами по ссылке.

Почему так было сделано? Мифы и факты об этом есть по ссылке.

Откуда брать пакеты, отсутствующие в дистрибутиве?

Всё зависит от того, что вы хотите поставить. Большая часть необходимых пакетов для стабильного релиза обнаруживается на backports (Backports Debian Wiki). Как следует из названия, это проект, занимающийся пересборкой некоторых программ из testing для stable. Остальные пакеты, как правило, можно найти, воспользовавшись поисковиком.

В частности, заслуживает внимания репозиторий для мультимедийных программ (skype, google earth, adobe reader, различные кодеки), которые из-за проблем с патентами не включены в основной репозиторий - deb-multimedia

А вот тут собран список популярных репозиториев Debian.

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

Если вам необходимо достать старый пакет, доступен архив на snapshot.debian.org

Пример оформления sources.list

Пример для Debian Jessie. В случае с Sid (unstable) репозиторий security.debian.org нужно отключить, так как для unstable ветки не выпускаются исправления ошибок в безопасности.

Пояснение:

  • deb - бинарные пакеты, deb-src - пакеты с исходниками (если нужно пересобрать пакет на свой вкус);
  • линк репозитория;
  • jessie - релиз Дебиана, может быть как название релиза (squeeze, lenny, wheezy, sid, ...), или по-другому (oldstable, stable, testing, unstable, experimental). Текущий релиз - stable, в данный момент это Debian Jessie;
  • main - основная секция репозитория; contrib - пакеты в этой части распространяются владельцем авторских прав на условиях свободной лицензии, но зависят от несвободного программного обеспечения; non-free - лицензии пакетов в этой части содержат условия, ограничивающие использование или распространение ПО.
# Debian repository
deb http://httpredir.debian.org/debian jessie main non-free contrib http://httpredir
deb-src http://httpredir.debian.org/debian jessie main non-free contrib

# Security fixes
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

# Debian updates
deb http://httpredir.debian.org/debian jessie-updates main contrib non-free
deb-src http://httpredir.debian.org/debian jessie-updates main contrib non-free

# Backports
deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
deb-src http://httpredir.debian.org/debian jessie-backports main contrib non-free

# Proposed updates for the next point release
deb http://httpredir.debian.org/debian jessie-proposed-updates main contrib non-free
deb-src http://httpredir.debian.org/debian wheezy-proposed-updates non-free contrib main

Примечание: строки с deb-src необязательны и могут быть закомментированы для экономии трафика.

Как редактировать список автозагрузки сервисов?

Начиная с выпуска Jessie в качестве системы инициализации по умолчанию предлагается systemd. Однако поддерживаются и другие иниты, в том числе и SystemVinit. Актуальная документация находится по адресу. Следует уделять особое внимание версии в системе, systemd бурно развивается.

Поддержка сценариев sysvinit уже включена по умолчанию, так что в общем случае старые скрипты инициализации должны работать.

Для поклонников основанных на RedHat и Fedora дистрибутивов есть замечательная программа sysv-rc-conf. Установим ее:

root@linux# apt install sysv-rc-conf

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

root@linux# chmod +x /etc/init.d/foo
root@linux# chmod -x /etc/init.d/bar

Остальные могут воспользоваться "изкоробочной" утилитой update-rc.d

Не забывайте, что по умолчанию для SystemVinit в Debian использует второй уровень автозагрузки (man init, man inittab). Настройка цели загрузки в systemd задаётся при помощи утилиты systemctl.

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

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

W: GPG error: http://download.virtualbox.org lenny Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY DCF9F87B6DFBCBAE

Добавить недостающий ключ можно так:

root@linux# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys DCF9F87B6DFBCBAE
root@linux# gpg --armor --export DCF9F87B6DFBCBAE | apt-key add -
root@linux# apt-get update

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

Как быстро собрать deb пакет?

Вот так

Как подкорректировать сглаживание шрифтов в системе?

Настройка сглаживания шрифтов

Где можно получить ответы на вопросы, которых здесь нет?

Ответы на остальные вопросы можно получить в Debian FAQ, Debian Forums, Debian Q/A или в соответствующих рассылках (см. [1]).

Существует так же Debian Wiki по адресу [2], русскоязычный раздел находится здесь.

Статьи в этой wiki

Как правильно установить проприетарные драйвера nVidia/ATI?

Содержимое устарело
Информация ниже частично устарела. Вы можете проверить её и актуализировать.

{{#if: | [[Категория:{{{category}}}]] }}



Настройка драйвера nVidia

Установить драйвера nVidia можно одним из следующих способов.

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

root@linux# aptitude install nvidia-kernel-amd64 nvidia-glx nvidia-settings nvidia-vdpau-driver 

nvidia-xconfig не используем, ибо она пишет в конфиг много ненужного. Вместо этого пропишем в xorg.conf следующее:

Section "Device"
    Identifier "video"
    Driver     "nvidia"
EndSection

В большинстве случаев, этого конфига хватает для нормальной работы иксов.

Есть и альтернативный вариант: можно установить nvidia-glx и nvidia-kernel-dkms, в этом случае будут скачаны исходники и собран модуль для текущего ядра при помощи dkms. Так же этот способ подходит в том случае, если используется самосборное ядро или установлен testing или unstable дистрибутив

Еще есть старый способ сборки модуля ядра с помощью module-assistant:

root@linux# aptitude install module-assistant
root@linux# module-assistant prepare
root@linux# module-assistant update
root@linux# module-assistant auto-install nvidia-kernel-source
root@linux# nvidia-xconfig

Для поддержки аппаратного ускорения в 32-битных программах нужно установить пакет nvidia-glx-ia32.

Также в репозитории присутствуют исходники legacy драйверов для поддержки старых моделей видеокарт:

помимо исходников есть скомпилированные версии и модули DKMS.

Настройка драйвера ATI

[3] - Установка драйвера из репозитория

[4] - Установка более новой, чем в репозитории, версии

[5] - Репозиторий с драйверами для RadeonHD 2000, 3000 и 4000 серий

Быстрый (хоть и идеологически неверный) вариант

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

sgfxi это автоматический инсталлятор и конфигуратор видеодрайверов для nvidia, ati/amd, а также свободных драйверов из состава Xorg для Debian (с некоторых пор добавлена поддержка Ubuntu и Arch). При каждом запуске скрипт автоматически обновляется, что позволяет с большой долей вероятности получить работоспособные драйвера даже для самых свежих ядер.

Скачиваем и делаем исполняемым:

user@linux$ cd /usr/local/bin && wget -Nc smxi.org/sgfxi && chmod +x sgfxi

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

root@linux# init 3

Запускаем:

root@linux# sgfxi

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

Ссылки

Сноски

<references />