Linux -сборник рецептов

         

Linux -сборник рецептов

Итак, вы принадлежите к числу относительно неопытных пользователей Linux. Вы установили Linux, вам удалось войти в систему, пошарить в Интернете, отправить и получить электронную почту... а дальше что? Несмотря на успешное выполнение некоторых простейших задач, вы чувствуете себя словно пилот самолета, летящего на автопилоте. В вашем распоряжении масса замечательных возможностей (во всяком случае, так вам сказал ваш знакомый, большой знаток в области Linux), но как за них взяться? Что где находится и как работает? Что это за штуковина под названием grep, о которой так часто говорят? И как наладить работу Samba? И где находится эта документация?
Мир Linux/Unix отлично документирован. Нет, я серьезно! Вы сможете найти ответ на любой вопрос; нужно только знать, где искать. Man-страницы, info-страницы, файлы README, документация в формате HTML, сами программы... Не нужно быть великим программистом, чтобы отыскать полезную информацию в исходных текстах, потому что все необходимые сведения часто содержатся в комментариях.
Среди тысяч виртуальных сообществ Интернета всегда найдется одно (или несколько) для конкретной программы из Вселенной Linux. Почти у каждой программы, какой бы малой она ни была, существует собственный список рассылки. У каждого дистрибутива Linux имеются свои списки рассылки и форумы пользователей. Я уже не говорю о многочисленных книгах и журналах. Получается, что настоящая проблема с документацией Linux — не ее нехватка, а получение нужной информации без долгих и самоотверженных поисков.
Предполагается, что читатель является администратором отдельного компьютера или локальной сети и может получить привилегии root в случае необходимости. Может быть, вы стремитесь в полной мере управлять работой своего Linux-компьютера, или создать свой собственный почтовый или веб-сервер, или создать небольшую сеть. А может, вы — системный администратор Windows, которому неожиданно потребовалось подключить Windows-клиентов к серверам Linux... или включить серверы Linux в существующую сеть... или интегрировать компьютеры с Linux и Windows в одной смешанной сети.
А может, вам вообще нет дела до Windows, и вы просто хотите освоить системное администрирование Linux.
Для Linux существуют тысячи программных пакетов. Почти все они делают чтото полезное, поэтому заранее понятно, что рассмотреть все темы (или хотя бы их большинство) попросту невозможно. Решения о том, какой материал включить в книгу, а какой оставить за пределами рассмотрения, принимались в соответствии с моими представлениями о базовых навыках администрирования Linux (возможно, у вас эти представления будут другими).
В мире существуют тысячи дистрибутивов Linux. Свои дистрибутивы создают отдельные компании, кампусы и даже просто группы единомышленников. Тем не менее дистрибутивы делятся (пусть и не очень четко) на две большие категории: системы на базе RPM, представленные в книге Red Hat и Fedora, и системы на базе apt, представленные Debian. Семейство Debian бурно развивается и пополняется такими представителями, как Knoppix, Xandros, Libranet, Unbuntu и Linspire.

Man и info универсальные руководства Linux
Практически у каждой программы, написанной для Linux, имеется своя man-страница. Как правило, man-страницы не предназначаются для освоения программы новичками. Они создаются для других целей: документирование синтаксиса команды, описание всех параметров и ключей, а также общедоступность. Даже если вы окажетесь на компьютере, полностью отрезанном от внешнего мира, в вашем распоряжении всегда будет информация из man-страниц.

Установка и сопровождение в системах на базе Debian
В данном случае исправление конфликтов зависимостей потребует едва ли не полной перестройки системы. Чаще проблемы ограничиваются несколькими пакетами. В этом случае начинайте удалять наименее важные из них, пока конфликты зависимостей не будут разрешены, а затем переустановите все пакеты, которые вам нужны. Если apt-get -u dist-upgrage отображает какие-либо задержанные (held) пакеты, от них лучше избавиться. Пакеты удерживаются из-за конфликтов зависимостей, которые не удается разрешить apt. Попробуйте воспользоваться следующей командой для поиска и исправления конфликтов

Создание учетной записи пользователя командой useradd
Воспользуйтесь командой useradd -m для создания имени пользователя, его домашнего каталога и других переменных окружения; затем назначьте пароль командой passwd -e. До создания пароля учетная запись остается неактивной. Далее приводится простейший вариант вызова. С флагом -m команда создает домашний каталог и копирует в него файлы из /etc/skel: # useradd -m имя_пользователя

Добавление нового загружаемого модуля ядра
При установке сторонних модулей; не входящих в дерево ядра, следует руководствоваться инструкциями производителя. Стандартная процедура включает загрузку исходных текстов, сборку модуля и его загрузку командой modprobe. Некоторые производители (например, nVidia) включают сценарий, который делает все за вас.

Инсталляция Linux и первые шаги

Linux, возможно, является наиболее значительным достижением в области свободно распространяемых программ со времен Space War, или более позднего Emacs. Он превратился в операционную систему для бизнеса, образования и индивидуального программирования.
Linux перестал быть системой для фанатиков-программистов, которые часами сидят перед мерцающими экранами (хотя таких и немало). Эта книга поможет вам извлечь из Linux максимальную пользу.
Linux (произносится "лИнукс") принадлежит семейству UNIX-подобных операционных систем, которая может работать на компьютерах Intel 80386 и 80486. Он поддерживает широкий спектр программных пакетов от TeX до X Windows, компиляторов GNU C/C++, протоколов TCP/IP. Это гибкая реализация ОС UNIX, свободно распространяемая под генеральной лицензией GNU (см. приложение E).
Linux может любой 386 или 486 персональный компьютер превратить в рабочую станцию. Он преподнесет всю мощь UNIX к кончикам ваших пальцев. Бизнесмены инсталлируют Linux в сетях машин, используют операционную систему для обработки данных в сфере финансов, медицины, распределенной обработки, в телекоммуникациях и т.д.
Университеты по всему миру применяют Linux в учебных курсах по программированию и проектированию операционных систем.
Разумеется, повсеместно программисты-энтузиасты используют Linux дома для программирования, решения своих прикладных задач и всевозможного хакерства. Что делает Linux столь отличным от других ОС - это его создание версии UNIX "на общественных началах" (free implementation)..

Краткая история Linux
UNIX - одна из самых популярных в мире операционных систем благодаря тому, что ее сопровождает и распространяет большое число компаний. Первоначально она была создана как многозадачная система для миникомпьютеров и мэйнфреймов в середине 70-ых годов, но с тех пор она выросла в одну из наиболее распространенных операционных систем, несмотря на свой временами обескураживающий интерфейс и отсутствие централизованной стандартизации.
В чем реальная причина популярности UNIX? Многие хакеры нутром чувствуют, что UNIX - это "настоящая вещь", Единственная Настоящая Операционная Система. Отсюда и появление Linux, как системы, разрабатываемой все более расширяющейся группой энтузиастов UNIX, которые хотят собственноручно в ней поковыряться.

Стандартный вход и стандартный выход
Многие команды UNIX получают информацию с так называемого стандартного входа и посылают информацию на (опять же) так называемый стандартный выход. (Для них часто используются сокращения ``stdin'' и ``stdout'' соответственно). Ваш shell организует дело так, что стандартным входом служит клавиатура, а стандартным выходом - экран.
Вот пример использования команды cat. Нормально cat читает данные из файлов, чьи имена даны в командной строке и посылает эти данные прямехонько на stdout. Поэтому при выполнении команды /home/larry/papers# cat history-final masters-thesis на экран пойдет файл history-final, а за ним следом masters-thesis.

Генеральная Общедоступная Лицензия GNU
Ниже напечатана Генеральная Общедоступная Лицензия GNU (GPL или copyleft), под которой находится Linux. Она приведена здесь, чтобы ликвидировать возникающие недоразумения относительно статуса авторских прав Linux. Это не shareware и не public domain. Большая часть ядра Linux kernel защищена copyright октябрь 1993, Linus Torvalds а другие программы и части ядра защищены copyrighted других авторов. Таким образом, Linux защищен авторскими правами, хотя вы можете распространять его при выполнении условий GPL, приведенных ниже.


Знакомство с Linux

Новые пользователи UNIX и Linux могут быть ошеломлены размерами и очевидной сложностью системы, которая предстала перед ними. Существует много хороших книг по использованию UNIX для всех уровней подготовки: от новичка до эксперта. Но ни одна из этих книг не обсуждает особенности Linux. Хотя 95% всего связанного с использованием Linux абсолютно аналогично другим UNIX-системам, наиболее прямой путь освоения этой системы - это по учебнику, написанному применительно к Linux. Вот эта книга и есть такой учебник.
Эта глава не заводит в дебри деталей и не обсуждает наиболее сложные прим. переводчика: они (и уже у нас тоже) говорят - продвинутые аспекты Linux. Вместо этого делается попытка поставить новичка крепко на ноги, чтобы он мог в дальнейшем читать и более общие книги по UNIX, понимая базовые различия других UNIX-систем и Linux.
Здесь не предполагается каких-то предварительных знаний, за исключением первоначального знакомства с персональным компьютером и MS-DOS. Но даже если вы не успели побывать пользователем MS-DOS, вы все равно все здесь поймете. На первый взгляд UNIX очень похож на MS-DOS (в конце концов фрагменты MS-DOS были спроектированы с оглядкой на операционную систему CP/M, которая, в свою очередь, проектировалась с оглядкой на UNIX). Но только при очень уж поверхностном взгляде можно говорить о похожести UNIX и MS-DOS. Если вы абсолютный новичок в мире персональных компьютеров, этот учебник вам поможет.

Базовые концепции UNIX
UNIX это многозадачная, многопользовательская операционная система. Это означает, что много людей может одновременно использовать один компьютер, выполняя много различных задач. (Это существенное отличие от MS-DOS, где только один человек может использовать в данный момент операционную систему).

Системные характеристики
Linux достаточно хорошо совместим с рядом стандартов для UNIX (насколько можно говорить о стандартизации UNIX) на уровне исходных текстов, включая IEEE POSIX.1, System V и BSD. Он создавался имея в виду такую совместимость. Поэтому, скорее всего, вы найдете в Linux черты, присущие многим UNIX-системам. Большинство свободно распространяемых по сети Internet программ для UNIX может быть откомпилировано для LINUX практически без особых изменений.

Концепции

Когда вы начинаете работать с vi - вы в командном режиме. Этот режим позволяет использовать определенные команды для редактирования файлов или перехода в другие режимы. Например, напечатав ``x'' при нахождении в командном режиме, удаляете символ, находящийся перед курсором. Стрелки передвигают курсор по редактируемому файлу. Большинство команд, используемых в командном режиме, состоит из одного или двух символов.

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

LAMER. Linux Administration Made Easy Russian
Выполнение резервирования должно иметь один из высших приоритетов у ответственного администратора системы. Хотя Linux чрезвычайно надежная операционная система, сбои могут быть, и вероятно произойдут. Они могут быть вызваны аппаратным сбоем, отключением электричества или другими непредвиденными проблемами.

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

Эта книга требует выполнения нескольких условий, которые не находятся во власти автора. Прежде всего, эта книга подразумевает, что Вы имеете доступ к системе Unix. (К сожалению, очень тяжело изучить Unix не имея его.) Более того, эта Unix-система должна быть системой Linux, работающей на Intel PC. Это требование не является обязательным, но когда что-либо зависит от версии Unix, я буду ссылаться на то, как ведет себя Linux.
Имеются различные формы Linux, называемые дистрибутивами. Мы надеемся, что Вы нашли полную поставку Linux, такую как SoftLanding Linux Systems или MCC-Interim, и установили ее. Различные дистрибутивы Linux несколько отличаются, но эти отличия обычно небольшие и несущественные. (Возможно в этой книге Вы встретите места, которые будут немного отличаться от того, что будете видеть Вы. Это вероятнее всего означает, что вы используете дистрибутив, отличный от моего. Автору хотелось бы знать обо всех таких отличиях.)

Документация Linux
Лучший способ изучить почти любую компьютерную программу - это установить ее на своем компьютере. Большинство людей считают, что чтение книги без использования программы не очень то полезно. Точно также, способ научиться Unix и Linux - это использовать их. Используйте Linux для всего, что возможно. Экспериментируйте. Не бойтесь - возможно, Вы и потеряете что-либо, но вы всегда сможете это повторно инсталлировать.

Начальные сведения о Linux
Это версия UNIX для процессоров 80386 и 80486. Linux в полной мере реализует все возможности процессоров, предоставляя программисту полностью 32-разрядную многозадачную и многопользовательскую систему, функционирующую в защищенном режиме. Система соответствует стандарту POSIX, что позволяет говорить о переносе программного обеспечения, разработанного для Linux, на другие версии UNIX и обратно как о более или менее рутинной задаче.

Операционная система Linux. Передовая технология для всех
Допустим, вы разработчик коммерческих программ для коммерческих ОС, например, SCO Unix, Solaris или DOS. Вы используете многоплатформенный компилятор, мощную многооконную систему отладки, эмуляторы и системы совместимости. Все это есть в Linux. Можете поставить его на свою домашнюю персоналку и, если у вас есть модем, ходить на работу только за зарплатой. Кстати, и здесь устойчивость не помешает.

SQLсервер в Linux -самостоятельное освоение пакета

PostgreSQL заслуженно считается одной из лучших СУБД, распространяемых с открытыми текстами, а по своим возможностям PostgreSQL успешно конкурирует со многими коммерческими пакетами.
Настоящая книга была задумана как практическое руководство по PostgreSQL версии 7.1.x, хотя большая часть материала в равной степени относится как к предыдущим, так и к будущим версиям PostgreSQL. При подборе материала авторы стремились к тому, чтобы читатель как можно быстрее освоил практические навыки работы с PostgreSQL. Хотя в книге затрагиваются некоторые теоретические аспекты функционирования СУБД, подобные теоретические отступления будут относительно короткими. Прежде всего, мы стремились к тому, чтобы полученные знания позволили читателю самостоятельно создать работоспособную базу данных PostgreSQL и обеспечить ее дальнейшее сопровождение. Надеемся, книга поможет всем, кто хочет ближе познакомиться с СУБД PostgreSQL и ее возможностями.

Введение
Книга ориентирована на широкий круг читателей, интересующихся объектно-реляционной системой управления базами данных (ОРСУБД) PostgreSQL. Предполагается, что читатель знаком с системами Linux и Unix, хотя и не является экспертом в области баз данных. Хотя все примеры тестировались в системе Red Hat Linux, практически весь материал относится к большинству систем семейства Unix.

Что такое PostgreSQL?
PostgreSQL - - объектно-реляционная система управления базами данных (ОРСУБД), разработка которой в различных формах ведется с 1977 года. Работа началась с проекта Ingres в Калифорнийском университете (Беркли). Затем проект Ingres был переведен на коммерческую разработку в корпорации Relational Technologies/Ingres.

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

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

Операторы и функции
В PostgreSQL поддерживаются стандартные операторы и функции SQL, определенные в стандартах ANSI/ISO, — математические операторы, основные функции форматирования текста, выделение компонентов даты/времени и т. д. Кроме того, в PostgreSQL реализованы многочисленные нестандартные расширения, в том числе операторы поиска по регулярным выражениям и универсальная функция форматирования данных to_char().

Нетривиальные возможности
Рассматриваются нетривиальные возможности PostgreSQL, в том числе оптимизация доступа к таблицам с использованием индексов, наследование и установка ограничений для таблиц, практическое применение массивов в значениях полей, работа с транзакциями и курсорами. Все перечисленные возможности выгодно отличают PostgreSQL от других реляционных СУБД.

Энциклопедия системного администратора Linux
Linux поддерживает виртуальную память, то есть использует диск как расширение оперативной памяти так, чтобы эффективный размер пригодной для использования памяти был больше размера памяти, реально установленной в системе. Ядро пишет содержимое блока памяти, неиспользуемого в настоящее время на жесткий диск так, чтобы память могла использоваться для другой цели. Когда первоначальное содержание понадобится снова, оно будет считано обратно в память.

ОС Linux.Руководство системного администратора
Что же называется системным администрированием? Это все то, что требуется для поддержки работоспособности компьютерной системы (например, создание резервных копий некоторых файлов, установка новых программ, создание и удаление пользователей, проверка целостности файловой системы и т.д.). Если сравнивать компьютер с домом, то системное администрирование можно назвать содержанием этого дома, включающее в себя уборку, устранение различных неисправностей и т.д.

Руководство новичка - администратора Linux
Как настроить мою звуковую карту? Попробуйте запустить программу setup (как root). Третий пункт меню снизу запускает программу настройки звуковой карты. В конце установки Линус скажет вам как произносится слово Linux.

Руководство программиста для Linux
Данное руководство призвано помочь программистам разобраться с особенностями Linux. Оно также освещает проблемы переноса программ с других операционных систем; влияющие на старые программы изменения в ядре и в системных вызовах, такие как последовательный ввод/вывод и работа по сети.

Контроль и ограничение пользователей Linux
Конечно это все хорошо, когда все правильно. Но что, если Вы фактически хотите контролировать то, что пользователь делает. Ttysnoop позволяет Вам контролировать то, что пользователь делает и записывать это. Вы можете получать ttysnoop с .

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

База данных DNS
Единица информации в базе данных DNS названа записью ресурса (resource record) или RR. Каждая запись имеет свой тип, описывающий тип данных, которые в ней записаны, и определяющий тип сети, к которой она применяется. Последний используется при определении схемы адресации, вроде IP-адресов (IN класс), или адресов в Hesiod-сетях (используемые в MIT). Основной записью ресурсов является запись, которая связывает полное имя домена с IP-адресом.