Как пользоваться linux debian

Глава 1. Определения и краткий обзор

Содержание

1.1. О чём данные ЧаВо?

Здесь собраны вопросы (с ответами!) о дистрибутиве Debian (Debian GNU/Linux и других) и о проекте Debian. Там, где есть другая документация по определённому вопросу, даётся ссылка: мы не хотим цитировать здесь большие части сторонней документации. В ряде ответов предполагается наличие некоторых знаний по Unix-подобным операционным системам. Однако допуская, что знаний у читателя может быть совсем немного, мы постараемся отвечать на общие вопросы новичков как можно проще.

1.2. Что такое Debian GNU/Linux?

Debian GNU/Linux — это один из дистрибутивов операционной системы Linux с большим количеством пакетов.

самодостаточен : сейчас в Debian входит более 58000 пакетов программ. Пользователи могут выбирать нужные пакеты для установки; для этого в Debian есть специальный инструмент. Список и описания входящих в Debian пакетов можно найти на любом из серверов-зеркал Debian.

свободен для использования и дальнейшего распространения : для участия в его распространении и разработке не требуется членства или оплаты. Все пакеты, которые формально являются частью Debian GNU/Linux, свободны для дальнейшего распространения обычно на условиях универсальной общественной лицензии GNU (GNU General Public License).

В FTP-архивах Debian содержится ещё приблизительно 930 пакетов программ (в разделах non-free и contrib ), которые распространяются на специальных условиях, определённых в каждом пакете.

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

Большинство пользователей Linux работают с одним из дистрибутивов Linux, таким же как и Debian GNU/Linux. В принципе, пользователь может взять ядро Linux из Интернет или ещё откуда-нибудь и собрать его сам. Таким же образом он может найти исходный код многих приложений, собрать программы и установить их на своей системе. В случае сложных приложений это не только может отнять много времени, но и чревато ошибками. Чтобы избежать этого, пользователи часто используют операционную систему и пакеты приложений, предлагаемые одним из распространителей Linux. Разные распространители (дистрибьюторы) Linux предлагают разный набор программного обеспечения (ПО), протоколы и методы упаковки, установки и сопровождения пакетов приложений в пользовательских системах, включая инструментарий для установки и управления, документацию и другие вещи.

Debian GNU/Linux — это результат усилий добровольцев по созданию свободной, высококачественной Unix-совместимой операционной системы с полным набором приложений. Идея свободной Unix-подобной системы исходит от проекта GNU, и многие приложения Debian GNU/Linux, сделавшие дистрибутив таким удобным, были разработаны в рамках проекта GNU.

В Debian термин свободное используется в значении GNU (см. Критерии Debian по определению Свободного ПО). Когда мы говорим о свободном ПО, мы имеем в виду свободу, а не цену. Свободное ПО предполагает, что у вас имеется свобода распространять копии свободного ПО, что вы получаете не только двоичные файлы, но и исходный код, либо можете получить его, если вам это нужно, что вы можете изменять ПО или использовать части этого ПО в новых свободных программах; и что вы знаете, что можете всё это делать.

Проект Debian был создан Иэном Мёрдоком (Ian Murdock) в 1993 году при спонсорском участии проекта GNU Free Software Foundation. Сегодня, разработчики Debian считают его прямым наследником проекта GNU.

Хотя Debian GNU/Linux и сам по себе является свободным ПО, на его основе можно строить и другие дистрибутивы Linux. Предлагая надёжную, самодостаточную основу системы, Debian предоставляет пользователям Linux улучшенную совместимость, и позволяет создателям дистрибутивов Linux избежать двойной работы и сфокусироваться на вещах, отличающих их собственные дистрибутивы от прочих. Подробности об этом см. в Раздел 14.3, «Я делаю специальный дистрибутив Linux для «вертикального маркетинга». Могу я использовать Debian GNU/Linux как основу этой системы и добавлять мои собственные приложения поверх него?».

1.3. Я понял, что такое Debian, а что такое Linux?!

В двух словах, Linux — это ядро Unix-подобной операционной системы. Исходно оно разрабатывалось для машин с процессорами 386 (и более новых), а сейчас может работать и на десятке других архитектур. Ядро Linux было написано Линусом Торвальдсом (Linus Torvalds) и многими компьютерщиками со всего мира.

Кроме ядра, в «Linux»-систему обычно входит:

файловая система, соответствующая стандарту иерархии файловой системы Linux (Linux Filesystem Hierarchy Standard), http://www.pathname.com/fhs.

разнообразные Unix-утилиты, многие из которых были разработаны проектом GNU и Free Software Foundation.

Ядро Linux, файловая система, утилиты GNU, FSF и другие разрабатываются в соответствии со стандартом POSIX (IEEE 1003.1), см. Раздел 4.4, «Насколько исходный код Debian совместим с другими системами Unix?».

Читайте также:  Авторизация linux домен windows

Более подробную информацию о том, Что такое Linux, см. на сайте Linux Online.

1.4. Debian работает только с GNU/Linux?

В настоящий момент, Debian доступен только с ядром Linux, но мы уже начали предлагать ОС Debian на ядрах GNU/Hurd и BSD для разработки, серверов и рабочих станций. Однако, эти не-linux переносы пока официально не выпускались.

Первой попыткой переноса является Debian GNU/Hurd.

Hurd — это набор серверов, запущенных поверх микроядра GNU Mach. Эта комбинация составляет основу операционной системы GNU.

Дополнительную информацию о GNU/Hurd вообще можно найти на https://www.gnu.org/software/hurd, а о Debian GNU/Hurd — на https://www.debian.org/ports/hurd/.

A second effort is the port to a BSD kernel. People are working with the FreeBSD kernel.

Подробности о не-linux переносах см. на странице https://www.debian.org/ports/#nonlinux.

1.5. Чем Debian GNU/Linux отличается от других дистрибутивов Linux? Почему я должен отдать предпочтение Debian, а не какому-то другому дистрибутиву?

Вот ключевые возможности, отличающие Debian от других дистрибутивов Linux:

Как заявлено в общественном договоре, Debian всегда будет свободным на 100%. В Debian распространяется только действительно свободное программное обеспечение. Такое ПО должно отвечать критериям Debian по определению свободного ПО.

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

Система в целом или любая её часть может быть обновлена без переформатирования, без потери пользовательских настроек и (в большинстве случаев) без перезагрузки системы. В большинстве современных дистрибутивов Linux тоже есть свои системы управления пакетами; система управления пакетами Debian уникальна и хорошо продумана (см. Глава 7, Основы системы управления пакетами Debian).

Открытая модель разработки

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

Более 1343 сопровождающих, действующих по собственной инициативе, работают над более чем 58000 пакетами и улучшением Debian GNU/Linux. В большинстве случаев разработчики Debian помогают проекту не написанием новых приложений, а пакетированием существующего ПО в соответствии со стандартами проекта, отправкой сообщений о найденных ошибках разработчикам программ и предоставлением поддержки пользователям. О том, как стать таким сотрудником, см. Глава 13, Помощь проекту Debian.

Универсальная операционная система

Debian поставляется с более чем 58000 пакетами и работает на 10 архитектурах. Это намного больше, чем доступно в любом другом дистрибутиве GNU/Linux. Обзор поставляемого ПО см. в Раздел 5.1, «Какие виды приложений и средств разработки программ доступны в Debian GNU/Linux?», а описание поддерживаемых платформ см. в Раздел 4.1, «На каких архитектурах/системах работает Debian GNU/Linux?».

Система отслеживания ошибок

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

В Debian есть всестороннее описание стандартов качества — политика Debian (Debian Policy). Этот документ определяет качества и стандарты, согласно которым мы разрабатываем пакеты Debian.

Дополнительную информацию об этом можно найти на странице причин выбора Debian.

1.6. Как соотносятся проект Debian и проект GNU Free Software Foundation?

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

Проект Debian не является частью FSF, однако мы регулярно общаемся и совместно работаем над различными проектами. FSF попросила, чтобы мы называли нашу систему «Debian GNU/Linux», и мы счастливы были выполнить их просьбу.

Давняя цель FSF — разработка новой операционной системы, называемой GNU, на основе ядра Hurd. Debian работает вместе с FSF над этой системой, называемой Debian GNU/Hurd.

1.7. Как произносится слово Debian и что оно означает?

Имя проекта произносится как Дебиан, с коротким е и ударением на первом слоге. Это слово образовано из имён Debra и Ian Murdock, которые основали проект. (Кажется, словари дают несколько двусмысленную транскрипцию слова Ian (!), но Иэн предпочитает транскрипцию ee’-en.)

Источник

Глава 1. Хорошее начало — половина дела

Содержание

В этом документе описан процесс создания пакета Debian с точки зрения обычного пользователя и начинающего разработчика. Он написан простым языком и содержит работающие примеры. В этом руководстве мы пытаемся следовать старой латинской поговорке: Longum iter est per praecepta, breve et efficax perexempla! (Путь длинен, если изучать правила, но короток и эффективен, если пользоваться примерами!).

The rewrite of this tutorial document with updated contents and more practical examples is available as Guide for Debian Maintainers. Please use this new tutorial as the primary tutorial document.

This document is made available for the Debian Buster release since this offers many translations. This document will be dropped in the following releases since contents are getting outdated. [1]

Читайте также:  Жесткий диск gpt не видит windows

Одна из сильных, по сравнению с другими дистрибутивами, сторон Debian — это система управления пакетами. Несмотря на то, что для Debian уже существует очень много пакетов, может случиться так, что вам понадобится установить программу, для которой не существует соответствующего пакета. Это может заставить вас задуматься о том, как создать свой собственный пакет. Для тех, кто делает первые шаги в Linux, это сложно, но вы к ним не относитесь, если сейчас читаете этот документ 🙂 Вам понадобятся некоторые знания о программировании под Unix, но ни в коем случае вы не обязаны быть гуру [2] .

Одно можно сказать определённо: создание и сопровождение пакетов Debian занимает много времени. Несомненно, чтобы наша система работала, сопровождающие должны быть технически грамотными и прилежными.

If you need some help with packaging, please read Раздел 1.4, «Где искать помощь».

Самые новые версии этого документа всегда доступны на странице http://www.debian.org/doc/maint-guide/ и в пакете maint-guide . Переводы доступны в отдельных пакетах, например maint-guide-es . Заметим, что данный документ может быть слегка устаревшим.

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

1.1. Социальная динамика Debian

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

Все занимаются Debian на добровольной основе.

Вы не можете указывать другим что делать.

Вы сами должны быть заинтересованы что-то делать.

Движущая сила — дружественное сотрудничество.

Ваш вклад не должен перенапрягать остальных.

Ваш вклад полезен, если так посчитают остальные.

Debian — это не школа, где вы автоматически получите внимание учителей.

Вы должны быть способны учиться самостоятельно.

Внимание других добровольцев — очень дефицитный ресурс.

Debian постоянно улучшается.

От вас ожидают высококачественных пакетов.

Вы сами должны адаптироваться к изменениям.

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

автор программы (upstream author) — человек, который создал программу.

сопровождающий программы (upstream maintainer) — человек, который сопровождает программу в настоящее время.

сопровождающий (maintainer) — человек, который создал для программы пакет Debian.

поручитель (sponsor) — человек, который помогает сопровождающим помещать пакеты в официальный архив пакетов Debian (после проверки их содержимого).

наставник (mentor) — человек, который помогает новым сопровождающим в пакетировании и т.п.

разработчик Debian (DD) — человек, являющийся участником проекта Debian. У него есть право на размещение пакетов в официальном архиве пакетов Debian.

сопровождающий Debian (DM) — человек, обладающий ограниченными правами на размещение пакетов в официальном архиве пакетов Debian.

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

Заметим, что вам не нужно обязательно создавать новый пакет, чтобы стать официальным разработчиком Debian, для этого достаточно поддерживать существующие пакеты. Есть много пакетов, которые ждут хороших сопровождающих (смотрите Раздел 2.2, «Выбор программы»).

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

1.2. Программы, необходимые для разработки

Перед тем как начать, нужно убедиться, что установлены все необходимые для разработки пакеты. Обратите внимание, что приведённый ниже список не содержит пакеты, помеченные как обязательные (essential) или требуемые (required) — считается, что эти пакеты уже установлены на вашей машине.

The following packages come with the standard Debian installation, so you probably have them already (along with any additional packages they depend on). Still, you should check them with aptitude show package or with dpkg -s package .

Самый важный пакет в системе разработчика — build-essential . Его установка повлечёт за собой загрузку других пакетов, требуемых для основы среды сборки.

Кроме пакетов, требуемых для сборки любого пакета, есть пакеты, которые нужны только для некоторых пакетов; установите их, они могут пригодиться именно для вашего пакета:

autoconf , automake и autotools-dev — данные утилиты (смотрите info autoconf , info automake ) используются во многих современных программах для создания сценариев настройки и файла Makefile . В пакете autotools-dev содержатся самые новые версии некоторых файлов auto- и документация по их применению.

debhelper и dh-make — пакет dh-make необходим для создания скелета нашего будущего пакета. Для этого он будет использовать некоторые инструменты из пакета debhelper . Использовать их необязательно, но мы очень рекомендуем их начинающим разработчикам. Они сильно упрощают процесс создания и поддержки пакетов (смотрите dh_make (8) , debhelper (1) ) [3] .

The new debmake may be used as the alternative to the standard dh-make . It does more and comes with HTML documentation with extensive packaging examples in debmake-doc .

Читайте также:  Hustle castle windows 10

devscripts — данный пакет содержит сценарии, полезные для сопровождающих, но так же не являющиеся необходимыми для сборки пакетов. Стоит обратить внимание на рекомендуемые и предлагаемые им пакеты (смотрите /usr/share/doc/devscripts/README.gz ).

fakeroot — this utility lets you emulate being root, which is necessary for some parts of the build process. (See fakeroot (1) .)

file — данная программа позволяет определить тип файла (смотрите file (1) ).

gfortran — пакет содержит компилятор GNU Fortran; требуется, если программа написана на Fortran (смотрите gfortran (1) ).

git — данный пакет предоставляет популярную систему контроля версий, разработанную для быстрого и эффективного сопровождения очень больших проектов; она используется во многих известных проектах с открытым кодом, наиболее заметным из которых является ядро Linux (смотрите git (1) , руководство по git ( /usr/share/doc/git-doc/index.html )).

gnupg — a tool that enables you to digitally sign packages. This is especially important if you want to distribute packages to other people, and you will certainly be doing that when your work gets included in the Debian distribution. (See gpg (1) .)

gpc — пакет содержит компилятор GNU Pascal, который требуется при работе с программами, написанными на Pascal. Для этой задачи также хорошо подходит fp-compiler , Free Pascal Compiler (смотрите gpc (1) , ppc386 (1) ).

lintian — this is the Debian package checker, which lets you know of any common mistakes after you build the package and explains the errors found. (See lintian (1) , Lintian User’s Manual.)

patch — данная утилита изменяет исходный файл в соответствии со списком различий между файлами, полученным при помощи программы diff (смотрите patch (1) ).

patchutils — данный пакет содержит несколько утилит для работы с заплатами, например lsdiff , interdiff и filterdiff .

pbuilder — this package contains programs which are used for creating and maintaining a chroot environment. Building a Debian package in this chroot environment verifies the proper build dependency and avoids FTBFS (Fails To Build From Source) bugs. (see pbuilder (8) and pdebuild (1) )

perl — один из наиболее используемых интерпретируемых языков в Unix-системах. Его часто называют «Unix’s Swiss Army Chainsaw» (швейцарской армейской пилой) (смотрите perl (1) ).

python — ещё один из наиболее используемых интерпретируемых языков в Debian, который объединяет необычайную мощь с очень понятным синтаксисом (смотрите python (1) ).

quilt — пакет помогает управлять большими наборами заплат, отслеживая каждое сделанное изменение. Заплаты логически организуются в стек, и вы можете накладывать их, откатывать изменения, обновлять их и т.д. (смотрите quilt (1) , /usr/share/doc/quilt/quilt.pdf.gz ).

xutils-dev — пакет содержит программы, которые используются при сборке пакетов для X11, например с их помощью генерируется Makefile из набора макрофункций (смотрите imake (1) , xmkmf (1) ).

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

1.3. Документация, необходимая для разработки

Кроме этого документа также очень важно прочитать следующую документацию:

debian-policy — в руководстве по политике Debian содержится описание структуры и содержимого архива Debian, некоторых проблем при разработке операционной системы, стандарт иерархии файловой системы (FHS, в котором оговаривается расположение каждого файла и каталога) и т.д. Также (что для вас важнее всего), в пакете указаны требования, которым должен удовлетворять каждый пакет Debian для того, чтобы он мог быть включён в дистрибутив (смотрите локальные файлы /usr/share/doc/debian-policy/policy.pdf.gz и /usr/share/doc/debian-policy/fhs/fhs-3.0.pdf.gz ).

developers-reference — the Debian Developer’s Reference describes all matters not specifically about the technical details of packaging, like the structure of the archive, how to rename, orphan, or adopt packages, how to do NMUs, how to manage bugs, best packaging practices, when and where to upload, etc. (See the local copy of /usr/share/doc/developers-reference/developers-reference.pdf .)

Кроме этого документа также важно прочитать следующую документацию:

Autotools Tutorial provides a very good tutorial for the GNU Build System known as the GNU Autotools, whose most important components are Autoconf, Automake, Libtool, and gettext.

gnu-standards — в этом пакете содержатся две части документации проекта GNU: стандарты написания кода GNU и информация для сопровождающих ПО GNU . Хотя в Debian не требуется их соблюдения, они всё равно полезны для общего понимания (смотрите локальные файлы /usr/share/doc/gnu-standards/standards.pdf.gz и /usr/share/doc/gnu-standards/maintain.pdf.gz ).

Если этот документ в чём-то противоречит документам, упомянутым выше, это считается ошибкой. Отправьте сообщение об ошибке в пакете maint-guide с помощью reportbug .

The following is an alternative tutorial document that you may read along with this document:

Источник

Оцените статью