debian обучение для начинающих

Глава 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]

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

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

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

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, для этого достаточно поддерживать существующие пакеты. Есть много пакетов, которые ждут хороших сопровождающих (смотрите Раздел 2.2, «Выбор программы»).

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

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

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

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

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

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

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

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

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

python — ещё один из наиболее используемых интерпретируемых языков в Debian, который объединяет необычайную мощь с очень понятным синтаксисом (смотрите python (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 ).

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

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.

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

Источник

Пользовательские руководства Debian

Часто задаваемые вопросы про Debian GNU/Linux.

Авторы:Susan G. Kleinmann, Sven Rudolph, Santiago Vila, Josip Rodin, Javier Fernández-Sanguino Peña
Сопровождающий:Javier Fernández-Sanguino Peña
Состояние:готов
Доступность:Пакет Debian debian-faq

Наиболее свежий исходный код XML доступен из репозитория Git.

Инструкции по установке дистрибутива Debian GNU/Linux. Руководство описывает процесс установки с использованием системы установки Debian. Эта система впервые выпущена в версии Sarge (Debian GNU/Linux 3.1).
Добавочная информация, относящаяся к установке, может быть найдена в FAQ по системе установки Debian и на страницах wiki системы установки Debian.

Авторы:Debian Installer team
Сопровождающий:Debian Installer team
Состояние:Руководство пока не доработано. Ведётся активная работа над текущим и будущими выпусками. Помощь приветствуется, особенно текст руководства в части архитектур, отличных от x86, и перевод руководства на другие языки. Для связи: debian-boot@lists.debian.org.
Доступность:Пакет Debian installation-guide

Наиболее свежий исходный код XML доступен из репозитория Git.

Этот документ содержит информацию об изменениях в текущем дистрибутиве Debian GNU/Linux и полную информацию об обновлении системы со старых выпусков Debian.

Авторы:Adam Di Carlo, Bob Hilliard, Josip Rodin, Anne Bezemer, Rob Bradford, Frans Pop, Andreas Barth, Javier Fernández-Sanguino Peña, Steve Langasek
Состояние:Активно разрабатывается при подготовке выпусков Debian. Свяжитесь с debian-doc@lists.debian.org для дополнительной информации. Сообщения о проблемах и заплатах должны быть отправлены как ошибки псевдопакета release-notes.
Доступность:Версия для текущего выпуска
Доступна на полных официальных компакт-дисках и дисках DVD в директории /doc/release-notes/.

Наиболее свежий исходный код XML доступен из репозитория Git.

Этот краткий справочник для новичков в Debian GNU/Linux на одной странице содержит самые важные команды, используемые при работе с системами Debian GNU/Linux. Требуется базовое знание компьютеров, понятий файлов, каталогов и командной строки.

Авторы:W. Martin Borgert
Сопровождающий:W. Martin Borgert
Состояние:Опубликован, активно разрабатывается
Доступность:Пакет Debian debian-refcard

Наиболее свежий исходный код XML доступен из репозитория Git.

Справочник администратора Debian содержит базовые знания, необходимые всякому, кто желает стать эффективным и независимым администратором Debian GNU/Linux.

Авторы:Raphaël Hertzog, Roland Mas
Состояние:Опубликован; активно разрабатывается
Доступность:Пакет Debian debian-handbook

Наиболее свежий исходный код XML доступен из репозитория Git.

Наиболее свежий исходный код XML доступен из репозитория Git.

Это руководство посвящено безопасности операционной системы Debian GNU/Linux и проекта Debian. Оно начинается с процесса укрепления безопасности системы, формируемой установкой по умолчанию (как автоматической, так и ручной), описывает некоторые общие задачи настройки безопасной пользовательской и сетевой среды. Далее документ содержит информацию о существующих инструментах обеспечения безопасности, мерах, которые надо предпринять до и после взлома, а также описывает процесс обеспечения безопасности Командой безопасности Debian. Документ включает пошаговое руководство по укреплению безопасности и приложение с подробной информацией о настройке брандмауэра и системы обнаружения вторжения.

Авторы:Alexander Reelsen, Javier Fernández-Sanguino Peña
Сопровождающий:Javier Fernández-Sanguino Peña
Состояние:Опубликован; активно разрабатывается, небольшие изменения. Некоторые части могут быть недостаточно актуальны.
Доступность:Пакет Debian harden-doc

Наиболее свежий исходный код XML доступен из репозитория Git.

Руководство по менеджеру пакетов aptitude с полным справочником команд.

Авторы:Daniel Burrows
Состояние:Опубликован; активно разрабатывается
Доступность:Пакет Debian aptitude-doc

Наиболее свежий исходный код XML доступен из репозитория Git.

Данная документация предоставляет обзор того, как использовать менеджер пакетов APT.

Авторы:Jason Gunthorpe
Состояние:Опубликован; слегка устарел
Доступность:Пакет Debian apt-doc

Наиболее свежий исходный код XML доступен из репозитория Git.

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

Авторы:Jason Gunthorpe
Состояние:Опубликован; слегка устарел
Доступность:Пакет Debian apt-doc

Наиболее свежий исходный код XML доступен из репозитория Git.

Цель данного ЧаВО в том, чтобы разработчик или пользователь смог отыскать ответы на различные вопросы касательно Java и Debian. В частности, здесь рассмотрены вопросы лицензирования и пакеты, необходимые для того, чтобы создать среду для разработки на языке Java.

Авторы:Javier Fernández-Sanguino Peña, Torsten Werner, Niels Thykier, Sylvestre Ledru
Состояние:Опубликован; в активной разработке, хотя некоторые части могут быть неактуальны.
Доступность:Пакет Debian java-common

Наиболее свежий исходный код SGML доступен из репозитория Git.

Руководство сопровождающего Debian Hamradio описывает политику и наилучшие практики команды Debian Hamradio.

Авторы:Iain R. Learmonth
Состояние:Опубликован; в активной разработке.
Доступность:Пакет Debian hamradio-maintguide

Наиболее свежий исходный код restructuredText доступен из репозитория Git.

Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в публичный список рассылки по адресу debian-www@lists.debian.org. Об ошибках в русском переводе сообщайте в русскоязычный список рассылки debian-l10n-russian@lists.debian.org. Прочую контактную информацию см. на странице Как с нами связаться. Также доступен исходный код сайта.

Последнее изменение: Втр, 14 Сен 2021, 19:25:06 UTC Последняя сборка: Вск, 10 Окт 2021, 05:17:49 UTC
Авторские права © 1997-2021 SPI и другие; См. условия лицензии
Debian является зарегистрированным товарным знаком компании Software in the Public Interest, Inc. (Программное обеспечение в интересах общества)

Источник

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

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

Быстрый старт

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

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

В заключение, распечатайте и держите недалеко Памятку по Debian GNU/Linux со списком большинства важных команд для системы Debian.

Ниже перечислена дополнительная документация.

Типы документации

Большинство документации, включённой в Debian, была написана для GNU/Linux в целом. Существует также некоторая документация, написанная специально для Debian. Эти документы идут в следующих основных категориях:

Руководства

Руководства подобны книгам, потому что они исчерпывающе описывают главные темы.

Руководства, созданные специально для Debian

Руководства пользователя

Руководства разработчика

Различные руководства

Полный список руководств Debian и другой документации вы можете найти на веб-страницах Проекта документации Debian.

Кроме того, несколько предназначенных для пользователей руководств по Debian GNU/Linux, изданы в виде печатных книг.

HOWTO

ЧаВО означает часто задаваемые вопросы. ЧаВО — это документ, который содержит различные часто возникающие вопросы и ответы на них.

Ответы на вопросы, относящиеся конкретно к Debian, можно найти в ЧаВО по Debian. Существует также отдельный документ ЧаВО по образам CD и DVD Debian.

Другие, более короткие документы

Следующие документы содержат краткие быстрые инструкции:

справочные страницы (manual pages) Все программы в Unix традиционно документируются с помощью справочных страниц, доступ к справочным страницам сделан через команду man. Обычно они не предназначены для новичков. Вы можете искать и читать справочные страницы, которые есть в Debian, на https://manpages.debian.org/. файлы info Множество программ GNU вместо справочных страниц документируется с помощью файлов info. Эти файлы содержат подробную информацию о самой программе, параметрах запуска и примерах использования, и доступны через команду info. различные файлы README Файлы read me (прочти меня) также часто встречаются — это просто текстовые файлы, которые описывают единственную тему, обычно пакет. Вы можете найти множество их в подкаталогах /usr/share/doc/. В этом каталоге каждый пакет программного обеспечения имеет подкаталог с его собственными файлами read me, и, кроме того, может содержать примеры файлов настроек. Однако, для больших программ, документация обычно предоставляется в отдельном пакете (с таким же именем, как и оригинальный пакет, но заканчивающемся на -doc). Краткие справочники на карточках

Краткие справочники на карточках — очень короткие изложения некоторых (под)систем. Обычно такие справочники описывают наиболее часто используемые команды на одном листе бумаги. Некоторые справочники могут быть найдены на:

Памятка по Debian GNU/Linux Эта памятка может быть распечатана на одной странице, предоставляет собой список большинства важных команд и является хорошим справочником для новых пользователей Debian, которые хотят ознакомиться с ним ближе. В основном для неё необходимы базовые знания о компьютере, файлах, каталогах и командной строке. Новые пользователи могут начать с чтения Справочника Debian.

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

Источник

Debian Server для новичка

Как-то обеспокоился наличием собственного FTP-сервака. Тем более под это дело «на помойку» был отдан комп этак десятилетней давности. Так как я человек хоть и виндовый, но начинал с чистого ДОСа (про книжки тов. Фигурнова кто помнит?), то я решил сделать все на линуксе. В линуксе я был ноль полный. Еще и усложнил задачу — только консоль, никаких исков (как же — это ж линукс). Дистрибутивом был выбран Debian. Так получилось, что надобность в 2Тб личном хранилице отпала через год и комп был отдан в хорошие руки, а хард пристроен в нужное место. Но был накоплен неплохой опыт стопроцентного новичка. Какие только глупые ошибки я не совершал поначалу! И хабр читал, между прочим, пока разбирался с проблемами. Поэтому эту свою дебютную (первую) статью на хабре я посвящаю тем, кто хочет заняться линуксом с нуля и эта статья призвана для плавного ввода «в тему», являясь, по сути, фильтрацией и систематизацией всего того, что я нашел на просторах интернета. Ранее я этот материал уже публиковал, но, думаю, на хабре он тоже будет полезен.

Что и как хотим получить в результате:
— консольная установка ОС с флешки;
— навыки консольного управление;
— создание собственного репозитория;
— обеспечение удаленного доступа по протоколу FTP/SFTP;
— обеспечение удаленного управления по протоколу SSH;
— дистанционное включение сервера, находящегося за маршрутизатором;
— создание условий работы веб-сервера (в идеале связка nginx+apache).

В инете куча всяких пошаговых инструкций. Порой там бывают досадные ошибки, а если еще линуксоид и сопливый еще покамест, то можно пару часов потратить только на то, что бы понять, что не нужна лишняя палочка или точечка — в линуксе важно все! Нижеизложенное делается для практических целей поставленных задач — не надо воспринимать все как серьезную инструкцию для создания серьезного сервера. Тем более в процессе «восстановления опыта» могут и ошибки тоже быть и у меня…

Итак, имеется пустой комп с подключенной периферией. Для начала нужно установить саму ОС. Имеется так же образы всех дисков Debian 6.0.0 stable. От лазерных носителей я давно отказался, т.е. для установки нужно изготовить загрузочную флешку. Флешка нашлась на 2Gb. После поисков оказалось, что изготовить можно, но из самой линуксовой среды. Пришлось установить с образа первого диска дебиан на виртуальную машину (подключаем образ к виртуалке в качестве виртуального CD-ROM и установка выполняется «честно» как бы с лазерного диска). Устанавливал «оптом» — т.е. и GUI тоже (в 6 версии был только GNOME). Тем не менее, после того, как все сделалось, грузим деабиан, подключаем флешку к виртуалке и открываем консоль.

Видим что-то типа этого:

Это значит, что флешка определилась в системе.

Скачиваем файл boot.img.gz (debian.org) для нужной архитектуры (в моем случае i386) и копируем его в какую-нибудь директори. Далее выполняем команду из этой директории:

# zcat boot.img.gz > /dev/sdc

Теперь надо вытащить и воткнуть обратно USB флешку, чтобы новая структура/таблица разделов распозналась. Это обновит таблицу разделов, хранимую udev. Для проверки выполняем следующие команды:

# mkdir /mnt
# mount /dev/sdс /mnt/
# ls /mnt

и видим инсталляционные файлы, такие как syslinux.cfg, setup.exe, и так далее. Значит все нормально — флешку примонтировали.

Далее скачиваем ISO образ netinstall (debian.org) размером 150-180MB для соответствующей архитектуры (в моем случае i386). Netinstall устанвливает базовую систему, сеть не нужна. Копируем этот образ в какую-нибудь директорию и из этой директории выполняем и отмонтируем флешку:

# cp debian-6.0.1a-i386-netinst /mnt
# umount /dev/sdс

Уф. Теперь при себе есть всегда флешка для установки.

Теперь втыкаем флешку в наш импровизированный сервак, через BIOS выбираем загрузку с флешки и штатно устанавливаем Debian. При установке ничего особого я не обнаружил: выбираем установку с графическим интерфейсом и далее диалоговый режим. Разметить файловую систему можно автоматом — на первый раз сойдет. После установки и перезагрузки, а так же входа в систему мы будем радостно лицезреть черный экран с приглашением командной строки — базовая установка выполнена!

Далее необходимо настоить доступ и управление по протоколу SSH. Так же, что бы особо не париться с консолью нужно бы установить mc (Midnight Commander) — аналог nc (Norton Commander) в DOS или tc (TotalCommander) в Windows. Но для установки нужно скопировать из сети пакет и установить его. Сети же нет. В то же время практически весь хоть сколько-то нужный софт есть на дисках Debian 6.0.0 stable (дисков, кажется, 6). Но я отказался от работы с дисками. Можно настроить сеть и воспользоваться официальным сетевым репозиторием — способ проще некуда. Однако это решение не для нас — нужна широкая автономность на первом этапе. Да и с каких пор мы идем по легкому пути — знакомство носит все же больше исследовательский характер. Значит нужно сделать свой локальный репозиторий.

Придется опять еще раз вернуться в виртульную машину. Входим в консоль под root’ом (на сервере мы в будущем настроим sudo, что бы по каждой ерунде не светить root’а). Создаем директории:

# mkdir debian/pool
# mkdir debian/pool/contrib
# mkdir debian/pool/main

В эти директории копируем содержимое одноименных директорий со всех дисков. Получится одна папочка объемом этак с 30Гб. После того, как содержимое всех дисков скопировано, создаём директории для хранения информации об находящихся в репозитарии пакетах:

Далее все команды выполняются исходя из текущего каталога debian — за его пределы никуда не выходим! Собираем списки пакетов:

# apt-ftparchive packages pool/main/ > dists/stable/main/binary-i386/Packages
# apt-ftparchive packages pool/contrib/ > dists/stable/contrib/binary-i386/Packages

Создаём файлы Release:

# apt-ftparchive release pool/contrib/ > dists/stable/contrib/binary-i386/Release
# apt-ftparchive release pool/main/ > dists/stable/main/binary-i386/Release
# cd /debian/pool/dists/stable
# apt-ftparchive release. > Release

Теперь папку /debian можно скопировать на жесткий диск и при желании подключать и организовывать локальные репозитории в других системах. Что и делаем — копируем папку на съемных USB-хард.

2) подключение… заходим на сервер под root’ом

Подключаем USB-хард к серверу. Далее соображаем как определился хард:

Правим файл /etc/apt/sources.list — комментим все репозитории и прописываем наш:

deb file:/debian/ stable contrib main

Тут надо сделать краткое отступление. Как поправить файл, если одна консоль? Для этого есть редактор vi:

# cd /etc/apt
# sudo vi sources.list

Далее делаем что нужно: передвигаем курсор в нужную позицию и жмем «i». Это режим ввода. Делаем что нужно. Сделали и жмем ESC для возврата в командный режим. Далее — все по новой. После того как все завершено жмем последовательность «ESC: w! Enter» — это команда возврата с сохранением изменений. Страшно? После установки mc жизнь упростится…

# apt-get update
# apt-cache gencaches

Готово наше локальное хранилище!

Теперь наконец-то добрались до SSH вплотную почти.

1) не всю же жизнь под root’ом работать…

Но сначала немного облегчим себе жизнь — настроим sudo. Sudo — система позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Проще говоря user сможет выполнять действия, которые изначально предполагалось выполнять только от root’а.

Заходим на сервер под root’ом и открываем файл /etc/sudoers. Используем опять же редактор vi:

# cd /etc
# vi sudoers

И под ней дописываем:

Выходим с сохранением. Готово! Теперь можно заходить под user’ом, но при выполнении критических команд просто перед командой добавлять «sudo». В первый раз система запросит текущий пароль для идентификации. Выходим из системы и заходим под user’ом. Пароль от root’а можно отныне записать на бумажке — пользоваться будем сильно редко, можно и забыть)

2) замучила консоль и vi…

# sudo apt-get install mc

После установки введя команду

Теперь можно радоваться и забыть про команды mkdir, cp, ls, cd, а так же консольное управление в vi. Править файлы теперь можно по F4. Ностальгия по 2000ым — тогда я на 386ом только нортом и пользовался…

# sudo apt-get install ssh

После успешной установки нужно добавить в конец файла /etc/ssh/sshd_config строку для ограничения доступа:

AllowUsers root, user

Далее идем по указанному пути и правим файл. После правки проблем с сохранением не будет — mc запущен под root’ом же. После правки нужно обновить сервис ssh — выходим в консоль и выполняем рестарт сервиса:

# sudo /etc/init.d/ssh restart

— Четыре

Для последнего штриха перед переходом на удаленное управление нужно только настроить сеть. У меня ситуация простая: комп подключен к маршрутизатору проводом. Так как на маршрутизаторе включен DHCP, то интернет получим от него автоматом.

Настройки сетевых интерфейсов хранятся в файле: /etc/network/interfaces

Вот пример рабочего содержимого файла:

Запускаем mc через sudo и правим этот файл в соответствии с теми сетевыми настройками, которые справедливы для вашей сети.

Настройка имени сервера и хостов находятся: /etc/hostname, /etc/hosts
Если наш сервер называется «debian», то проверяем:
В hostname значится только:

А в host первые строчки:

127.0.0.1 localhost debian
10.0.0.10 debian.localhost debian

После всего этого гасим компьютер:

2) удаленное управление…

Отключаем все кабели, тянем наш сервер в самый дальний угол и подключаем его в розетку и к сети. При этом надо заранее позаботится что бы на этапе загрузки BIOS не ждал нажатия кнопки с названием «any» после того как он с удивлением обнаружит, что клавиатура и мышь не обнаруживаются. Нажимаем кнопку питания и возвращаемся к рабочему компьютеру. На этом компе у меня винда. Как же теперь подключиться к серверу?

Есть такая программа putty. Добыть ее можно в интернете. После ее запуска во вкладке «Session» прописываем IP адрес нашего сервера, в качестве порта оставляем значение 22 (это стандартный порт для Shell). Проверяем, что во вкладке «Translation» выставлено UTF-8, что бы неогрести крякозяблев при отображении кириллицы. Возвращаемся в «Session» и открываем канал: «Open». После соединения нас попросят подтвердить создание ключей соединения с нами — подтверждаем. Вводит логин: user. Далее вводим пароль — пароль при вводе не отображается, т.е. это нормально. После соединения видим приглашение сервера и родную консоль, только не на всем мониторе, а в маленьком окошке, которое можно и подрястянуть мышкой. Это значит «Ура, товарищи!».

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

# sudo apt-get install samba

Теперь редактируем файл /etc/samba/smb.conf. Вот пример рабочего содержимого:

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

После всего этого дела создаем указанные каталоги:

# mkdir /ftp
# mkdir /ftp/pub

И разбираемся с правами на эти папки:

В таком случае доступ будет осуществлен к папке ftp, но в ней изменить ничего нельзя будет. А вот в папке pub — делаем что угодно. Естественно, можно все упростить выкинув папочку pub и поправив права для ftp…

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

# sudo /etc/init.d/samba restart

— Шесть

Теперь пора выпустить нашего малыша в сеть )))

Для начала неплохо было бы сделать сетевой файловый доступ и управление из любой точки сети. Но что мы имеем по топологии?
У нас должен быть выход в интернет с статичным реальный IP-адресом. Т.е. доступ из вне должен осуществляться напрямую, а не через коммутацию сетей провайдера. Например, пользователи сети Рамнет все сидят за большим NAT’ом, т.к. выходят в сеть через несколько пулов. Это значит, что IP выданный при регистрации вовсе и не совпадает с тем IP, который «отпечатывается», например, при посещении сайтов. Реальный IP — это однозначно тот IP, который прописан в сетевых настройках драйвера сетевой платы. Узнать реальный IP или нет можно воспользовавшись каким-нибудь сетевым сервисом в интернете, который показывает ваш IP-адрес. Допустим у нас имеется реальный IP.
Далее, если сетевой провод напрямую заведен на сервер, то проблем особых уже и нет — сервер уже в сети. А если стоит какое-то маршрутизирующее устройство (маршрутизатор, или промежуточный разветвитель-коммутатор на базе того же линукса)? В таком случае мы оказываемся уже за своим NAT’ом, который нужно немного настроить: осуществить проброс портов. Для каждой сетевой службы на машине имеется свой порт: SSH — 22, FTP — 21. Т.е., маршрутизатор нужно настроить так, что бы при обращении к порту по нашему реальному IP осуществлялось обращение именно к серверу по этому порту. Если наш сервер имеет адрес 10.0.0.10, а провайдером выдан реальный IP 172.122.34.89, то в маршрутизаторе необходимо выполнить проброс портов (Port Forwarding) 21 и 22 из вне (172.122.34.89) на сервер (10.0.0.10). Просто настраивается пара строчек в админке маршрутизатора или правится таблица маршуртизации промежуточного линукса-коммутатора. Допустим это тоже все сделали.

В таком случае для досутпа по SSH через putty необходимо просто будет указать реальный IP-адрес, порт 22 (см. выше, где описана небольшая настройка клиента putty). Осуществляем вход и получаем доступ к консоли сервера.

А файловый доступ? Тут чуть сложнее. Можно использовать WinSCP, но как уже упоминалось, это не наш метод. Samba работает только в локалке. Придется настроить FTP доступ…

Для FTP используем сервис proftpd. Ставим пакет:

# sudo apt-get install proftpd

Файл конфигурации находится здесь: /etc/proftpd/proftpd.conf. Вот пример рабочего файла:

Это дело вставляется в proftpd.conf и доступ осуществляется через порт 2220. Но при этом mod_sftp должен быть установлен вместе с proftpd. В штатном репозитории proftpd собран без mod_sftp. Его придется «дособирать» самостоятельно. «Впатчивал» я по какой-то английской инструкции — уже не помню. Процесс это не менее творческий, чем сборка своего репозитория, а результат все равно не порадовал, поэтому это все описывать не буду.

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

Тут есть одна тонкость. К нашему серверу подключено только электропитание и сеть. Но сетевые карты давно научились «будить» компьютер: достаточно только включить такую поддержку в BIOS компьютера и послать не него «магический» пакет (Magic packet). Читаем в wikipedia:

Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты UDP или IPX. Обычно для WOL пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой, скажем, IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу.

Состав magic packet

Вначале идет так называемая «цепочка синхронизации»: 6 байт, равных 0xFF. Затем — MAC-адрес сетевой платы, повторённый 16 раз. То есть, если бы адрес платы выглядел как 01:02:03:04:05:06, то магический пакет оказался бы таким:

Есть куча программ, половина из которых работает, а другая нет, которые формируют и отсылают такие пакеты по указанному IP. Но это справедливо только в локальной сети. Но ведь у нас реальный IP — значит можно попробовать просто отослать пакет на него, а маршрутизатор настроить на ретрансляцию этого пакета серверу. Пакеты на «побудку» рассылаются обычно по портам 7 или 9. Прокидываем их через маршрутизатор на IP сервера. Далее проще всего воспользоваться сетевым ресурсом wakeonlan.ru: забиваем свой реальный адрес IP и MAC адрес сетевой платы сервера. Жмем кнопочку «Включить компьютер!». После пары отправок система вполне может и написать о неудаче включения — сервер-то все же за NAT’ом, а отклик на пингование маршрутизатора разумнее выключить в настройках маршрутизатора. Такой способ включения удобен, правда придется выучить наизусть IP и MAC. Но у нас же память хорошая — мы же задаем и помним правильные пароли составом не менее 32 символов?) Зато теперь сервер можно включить с сотового телефона (при наличии в нем браузера и GPRS доступа).

Интересная так же штука вышла с маршрутизатором. Дело в том, что, пока сервер включен, маршрутизатор точно знает к какому порту этот сервер подключен. Но как только сервер выключается, маршрутизатор, через некоторое время, начисто забывает этот факт. У меня не получилось заставить маршрутизатор делать широковещательную рассылку «магического» пакета по всем портам. Пришлось на разбирательство потратить приличное время. В результате на маршрутизатор установил прошивку DD-WRT. Прошивка по сравнению с штатными просто блещет функционалом. Он явно избыточен) Однако и она забывала порт, хотя широковещательно пакеты рассылать уже могла (только комп почему-то не включался). Если был бы вместо маршрутизатора коммутатор-комп на линукс, то можно было бы просто подредактировать таблицу маршрутизации и делов-то… Аналогично и тут — нужно внести изменения в таблицу ARP маршрутизатора. В данной прошивке есть некая консоль и можно при загрузке маршрутизатора добавить скрипт запуска. Что и делаем, скрип таков:
ip neigh change 10.0.0.10 lladdr 00:10:20:1F:C4:57 nud permanent dev br0
ip neigh add 10.0.0.10 lladdr 00:10:20:1F:C4:57 nud permanent dev br0

Подразумевается, что на физическом аппаратном уровне порты маршрутизатора и платы друг друга «узнают» по своим MAC-адресам (они же с собой постоянно общаются при наличии питания) и маршрутизатор «догадается» что вышеуказанный IPшник будет принадлежать именно этому адресату (пока комп не включен это знание маршрутизатору недосутпно ибо еще нет никакого интерфейса сетевого уровня — однако эта знание мы и заложили при загрузке в ARP) после включения.

Ну вот — на этом и закончивается мое первое знакомство с линуксом. Если кому-то это помогло — всегда пожалуйста.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *