Для новичков в Linux

Материал из База знаний Linux.ру

Перейти к: навигация, поиск

Вопросы и ответы для начинающих.

Содержание

Общие вопросы

Q: Что такое Linux?
A: Строго говоря, Linux - это ядро написанное финским программистом Линусом Торвальдсом. Помимо ядра в составе системы имеются компоненты на базе утилит написанных в рамках проекта GNU и прочих программ, формирующих то, что называется дистрибутивом. Почему дистрибутивы? Дело в том, что Linux не имеет какой-то единой "официальной" поставки в отличие от большинства операционных систем, таких как FreeBSD, MacOS или Windows. Там имеется некий набор ПО собранный так, как посчитал нужным создатель продукта. Наиболее популярные дистрибутивы - Ubuntu, openSUSE, Arch Linux, Fedora, Gentoo. Подробнее можете посмотреть в разделе "Дистрибутивы Linux"

Q: Мне очень интересно. Где его можно скачать и попробовать?
A: Зайдите в раздел "Дистрибутивы Linux" и почитайте краткое описание каждого проекта, а также некоторые субъективные (по мнению составителя :) ) замечания о плюсах и минусах того или иного дистрибутива Linux. Там же можно посмотреть ссылку на официальный сайт понравившегося вам проекта, и скачать то, что нужно.

Программное обеспечение

Q: А программы для Windows работать будут?
A: Будут, но не все. Или могут возникнуть проблемы с работой каких-то конкретных возможностей той или иной программы. Чтобы проверить возможность работы той или иной Windows-программы вам необходимо скачать и установить пакет wine. Информацию о совместимости и качества работы программы внутри него можно найти здесь. Кроме этого, есть коммерческие пакеты основанные на коде wine, но оптимизированные под запуск и работу конкретных программ. Например, Wine-Etersoft для запуска бухгалтерских программ отечественного производства. Или Crossover Office направленный на качественную работу офисных приложений вроде Microsoft Office или Photoshop в среде Linux.

Q: А игры?
A: Так же смотрите проект Wine. Популярные игры под Windows, как правило, очень хорошо поддерживаются уже упомянутым проектом Wine. Для тех, кому лень возиться, существуют различные надстройки для wine вроде PlayOnLinux или коммерческие пакеты вроде Cedega или CrossoverGames. Для примера: World Of Warcraft, Counter Strike, EVE Online отлично устанавливаются и без проблем работают в Wine. Appdb вам в помощь. Там же можете посмотреть статус поддержки и инструкции по установке тех или иных игр с программами. Кроме того, некоторые игры имеют нативные версии под Linux. Например, Quake, Doom, Diablo, Unreal Tournament.

Q: А драйверы под Windows?
A: Увы, нет. Хотя и существует проект Linux Unified Kernel, позволяющий преобразовывать POSIX-вызовы в вызовы Windows NT и наоборот, но этот проект крайне сырой и требует большой работы. Если вы хотите запустить под Linux какое-то оборудование, то посмотрите на сайте производителя наличие "родных" драйверов под Linux. Кроме этого, никто не мешает запустить вам LiveCD, чтобы проверить работоспособность системы с вашим аппаратным обеспечением. На текущий момент, практически всё достаточно популярное аппаратное обеспечение работает под Linux без проблем. Для совсем тяжёлых случаев используйте поиск на тематических форумах посвящённых тому дистрибутивы, которым вы пользуетесь, или же воспользуйтесь поисковой системой Google. Ещё можно упомянуть про проект ndiswrapper направленный на поддержку запуска Windows-драйверов для сетевого оборудования в среде Linux.

Q: Поддерживается ли русский язык в Linux?
A: Да. И уже весьма давно. Как правило, подавляющее большинство программ также переведены на русский язык. В настоящий момент используется кодировка UTF8. Удостовериться в поддержке русского языка очень просто, достаточно запустить в эмуляторе терминала команду locale.

Q: Как устанавливать программы в Linux? Как их найти?
A: В первую очередь необходимо выучить такое понятие как репозиторий. Для чего почитайте раздел "Терминология". В репозитории того дистрибутива который вы установите в подавляющем большинстве случаев можно найти всё, что необходимо. В некоторых случаев требуется необходимо подключить дополнительные источники. Если нигде ничего нет, то на сайте нужной программы всегда можно скачать исходные тексты и скомпилировать самому. Но большинству пользователей такое нужно очень-очень редко.

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

Ubuntu/Debian
CLI: apt-get, aptitude, dpkg
GUI: Synaptic, Adept

SUSE/openSUSE
CLI: zypper
GUI: Yast

Mandriva Linux:
CLI: urpmi
GUI: Mandriva Control Center

Gentoo:
CLI: emerge

RedHat/Fedora/CentOS:
CLI: yum
GUI:yumextender (?)
Инструкцию по использованию конкретной программы можно прочитать в справке. Например,попробуйте запустить соответствующую программу без каких-либо параметров и вам будет показана краткая справка. Если хотите более подробной информации по программе, то достаточно набрать в консоли man имя_программы. Например: man emerge. Кроме этого, существуют специальные поисковики по репозиториям в различных дистрибутивах. Ссылки на них можно найти в разделе "Подборка Ссылок"

Тем не менее, давайте всё же рассмотрим все способы установки программ несколько подробнее.
Первый и наиболее старый способ - сборка программы из исходных текстов. В простейшем случае потребуется выкачать тарболл (архив с раширением tar.gz) с исходниками, затем выполнить следующие команды от лица суперпользователя root.

cd /путь/до/распакованных/исходников/с/программой.tar.gz
./configure
make && make install

В этом случае вам придётся ещё следить за тем, чтобы в системе присутствовали все необходимые зависимости. Как правило, они описываются либо в файле INSTALL или README идущим с дистрибутивом. В противном случае у вас может вывалиться ошибка на одном из трёх этапов.

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

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

Поскольку в настоящий момент существует два типа форматов распространённых пакетов, то будем рассматривать именно их.

Первый тип пакетов: rpm.

Используется в дистрибутивах: Red Hat Linux, Fedora, CentOS, SUSE/openSUSE, Mandriva и других.

Установка пакета:

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

Второй тип пакетов: deb

Используется в дистрибутивах: Debian, Ubuntu, Mint и прочие Debian-based дистрибутивы.

Установка пакета:

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

Либо:

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

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

Третий способ установки - это заранее готовый универсальный бинарный пакет. Как правило, в таком виде распространяются некоторые проприоретарные программы и драйверы. Таким примером могут послужить драйверы NVDIA/ATI или драйверы для принтеров Samsung.

Имеют расширение .bin. Иногда имеется отдельный сценарий написанный на sh и имеющий соотстветсвующее расширение. Запускается такой бинарник следующей командой:

sh имя_бинарника.sh

Для bin-файлов это будет выглядеть так:

chmod +x имя_вашего_файла.bin
./имя_вашего_файла.bin

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

И не забываем, что все вышеперечисленные методы работают только от лица суперпользователя root и должны производиться в консоли.

Q: В Linux нет программы XYZ. Как быть?
A: Попробовать поискать аналогичный по назначению программный продукт. Подобный список, например, есть здесь. Подобные списки есть и на русском языке, но к сожалению, они уже очень давно не обновлялись. Если ничего не помогает, что смотрите ответ на вопрос "А программы для Windows работать будут?".

Q: Какой антивирус нужен в Linux? И нужен ли вообще?
A: В виду несколько большей защищённости и меньшей растпространённости Linux-систем на рабочих компьютерах простых пользователей, антивирусная защита не требуется. Тем не менее, некоторые компании уже предлагают решения для защиты рабочих станций на Linux от вирусной угрозы.

Ссылки на бесплатные решения для дома:
Avast!
BitDefender
Clamav

Последний антивирус можно использовать и в коммерческих целях, как на станционарной рабочей станции, так и на сервере.
Так же имеются проприоретарные решения. Их предоставляют большинство известных производителей, такие как "Лаборатория Касперского", "Dr.Web", "McAffee", "Avast!" и другие.

Операционная система

Q: Какие платформы поддерживает Linux?
A: Количество поддерживаемых архитектур зависит от конкретных дистрибутивов, но само ядро поддерживает очень широкий спектр платформ. От общепринятых x86 и x86_64, до таких как MIPS, ARM, Atmel и многих других. Конкретный список поддерживаемых платформ надо смотреть на сайте выбранного вами дистрибутива.

Q: Как установить Linux?
A: Современные и наиболее популярные дистрибутивы Linux не требуют каких-то особенных умений. Если вы хоть раз самостоятельно устанавливали Windows, то без особых проблем установите и Linux. Тем более, что установка современных дистрибутивов упрощена до предела, и зачастую, ещё проще установки Windows. Тем не менее, позволю себе дать некоторые общие рекомендации по установке:

  • Весьма рекомендую выносить /boot на отдельный раздел отформатированный под ext2, что бы там некоторые ни говорили. В случае каких-то экспериментов или наличия шибко экзотичного железа, вам будет проще восстановить систему или организовать загрузку оной.
  • Раздел /home тоже весьма настоятельно советую вынести на отдельный раздел. Причины две: простота переноса настроек из дистрибутива в дистрибутив, если много экспериментируете, а также в случае проблем гораздо проще организовывается резервное копирование данных.
  • Если у вас будет включено кэширование устанавливаемых пакетов, то имеет смысл сделать сделать размер корневого раздела побольше, особенно, если вы планируете в домашней сети сделать нечто вроде локального репозитория. Некоторые советуют в таких случаях выносить кэш с пакетами на отдельный раздел, что в некоторых ситуациях (вроде наличия NFS) действительно полезно и необходимо.

Q: Как перенести уже установленную систему на другой жёсткий диск на той же машине?
A: Очень просто. Для начала подготавливаете винчестер, куда вы собираетесь переносить систему. Разбить его на нужное количество разделов можете любым удобным для вас программным обеспечением. Новичкам, наверное, для наглядности сойдёт gparted.

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

Предположим, что старая размётка была такой:

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1               1          13      104391   83  Linux
/dev/sda2              14         144     1052257+  82  Linux своп / Solaris
/dev/sda3             145        3011    23029177+  83  Linux
/dev/sda4            3012       24321   171172575   83  Linux

А сделаем мы её такой:

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1               1         256     2048000   82  Linux своп / Solaris
/dev/sda2             256        1888    13110272   83  Linux
/dev/sda3            1888        4866    23922688   83  Linux

Теперь, смонтируем нужные нам разделы в /mnt. Делается это командой

mount -t ext4 /dev/sdb1 /mnt/sda2.

Этот раздел у нас будет / в новой системе. Второй раздел, который впоследствии станет /home монтируем, например, в /mnt/sda3. То есть:

mount -t ext4 /dev/sdb3 /mnt/sda3

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

cp -ax / /mnt/sda2 

Аналогичное проделываем для /home и других разделов в зависимости от вашей конфигурации.

Далее, нам необходимо создать загрузчик. Логично будет предположить, что скорее всего, у вас стоит grub.

Как мы помним, второй диск у нас подключен как /dev/sdb. Загрузочный раздел впоследствии будет размещаться на /dev/sda2 после переноса. Посему проделываем следующее:

# grub
grub> device (hd0) /dev/sdb
grub> root (hd0,1)
grub> setup (hd0)
grub> quit

После установки загрузчика обязательно проверяем содержимое файлов /etc/fstab и /boot/grub/menu.lst на смонтированных разделах. Они должны совпадать с тем, что у нас будет.

Несмотря на несколько длинное описание, всё это проделывается весьма быстро.

Q: Как установить Linux и Windows одновременно?
A: Самым простым способом установить Linux и Windows одновременно, это установить сначала Windows, затем Linux. Наоборот не советуем, иначе Windows затрёт собой загрузчик.

Q: Как восстановить загрузчик в Linux?
A: Существует три наиболее распространённых способа восстановления. Первый способ - описан в самом конце вопроса про перенос системы (см. вопрос: "Как перенести уже установленную систему на другой жёсткий диск на той же машине?".

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

Третий и наиболее старый способ состоит в следующем: Загрузиться с любого LiveCD. Например, Ubuntu или Slax. В консоли или эмуляторе терминала ввести команду:

sudo grub

После появления приглашения выглядящего как "grub>", необходимо ввести следующие команды:

grub>find /boot/grub/stage1
(hd0,2)
grub>root (hd0,2)
grub>setup (hd0)

После чего смело перезагружайтесь.

Q: Как получить доступ к разделу с имеющейся на нём NTFS?
A: Воспользуйтесь драйвером ntfs-3g и командой mount. В общем виде это будет выглядеть так:

mount -t ntfs-3g /dev/sdaX /mnt/win

Где /dev/sdaX - это ваш раздел с файловой системой NTFS, а /mnt/win точка монтирования. Просмотреть как называется ваш раздел с имеющейся на на ней файловой системой NTFS можно с помощью команды fdisk -l. Вывод может быть быть примерно таким:

yourmachine:/home/youruser # fdisk -l

Диск /dev/sda: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0xaacd8de0                    

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1               1        2747    22065246    7  HPFS/NTFS
/dev/sda2            2748        3269     4192965   82  Linux своп / Solaris
/dev/sda3   *        3270        3282      104422+  83  Linux               
/dev/sda4            3283        9729    51785527+   f  W95 расшир. (LBA)   
/dev/sda5            3283        5290    16129228+  83  Linux               
/dev/sda6            5291        9729    35656236   83  Linux

Прошу обратить ваше внимание на то, что данную операцию требуется производить из под пользователя root. Необходимо вводить эту команду в любом эмуляторе терминала. Например, xterm.

Если при попытке смонтировать устройство у вас появляется ошибка

yourmachine:/home/youryouser # mount -t ntfs-3g /dev/sda1 /mnt/win_c
ntfs-3g-mount: mount failed: Устройство или ресурс занято

То необходимо сначала отмонтировать данное устройство командой umount /dev/sdaX

Проверить, что у вас в настоящий момент смонтировано и точки монтирования можно так:

yourmachine:/home/youruser # mount -l

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


lsof | grep /mnt/win_c
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/eugene/.gvfs
      Output information may be incomplete.
mc        8616     eugene  cwd       DIR      253,1         8192          5 /mnt/win_c
bash      8619     eugene  cwd       DIR      253,1         8192          5 /mnt/win_c

В нашем случае видно, что размонтировать раздел мешает программа Midnight Commander и командный интерпретатор bash. Нужно просто выйти из этих программ.

Q: Не запускается графический режим! Что мне делать?
A: Если вы видите только одну консоль и вас не запускается графический режим, то сначала попробуйте просто запустить его. Введите в консоль следующую команду:

$ startx

или

$ xinit

Если у вас всё заработало, значит у вас просто не стоит менеджер входа в систему вроде GDM (для пользователей Gnome). Поклонники KDE могут воспользоваться KDM. Те, кто предпочитают минимализм, могут использовать xdm+slim.

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

$ startx
_XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn't already running

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

netstat -ln / grep X

Сервер X использует порты протокола TCP в диапазоне от 6000+номер дисплея. Если вы его видите, то заходите под пользователем root и проделывайте следующее:

ps aux | grep `cat /tmp/.X0-lock`

Если на ваш экран вам отображается нечто вроде такого:

root  2283  0.5  5.1 27796 6536 ?    S  Apr21  59:03 [X]

То можете попробовать запустить его таким образом:

startx -- :1

Либо как вариант, из под того же пользователя root сделать следующее:

rm -rf /tmp/.X0-lock

И попробовать запустить X из под обычного непривилегированного пользователя.

Q: У меня пропал файл xorg.conf!
A: Ничего страшного. Начиная с версии X.Org 7.4 наличие файла xorg.conf в обязательном порядке не требуется, так как всё оборудование определяется автоматически. Тем не менее, если вам необходимо по каким-то причинам иметь этот файл (например, для внесения дополнительной конфигурации для вашей видеокарты), достаточно набрать от лица суперпользователя root:

Xorg -configure

Данный способ работает в большинстве дистрибутивов.

Q: Какой дистрибутив выбрать для маломощного или старого компьютера?
A: Это довольно обширный вопрос на самом деле. И разделить его можно на две основные составляющие. Это операционная система для современных, но маломощных компьютеров и дистрибутив для технически устаревших компьютеров. Соответственно, подходить к решению этой проблемы можно несколькими способами.

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

  • Slax
  • Puppy Linux
  • ConnochaetOS
  • Tiny Core Linux
  • wattOS
  • LegacyOS

Регулярно обновляющийся список таких операционных систем можно поглазеть на сайте distrowatch.com, кое-что из вышеперечисленного есть у нас. Профессионалы вполне могут собрать свой дистрибутив для таких систем. Как правило, там используется ядро ветки 2.4, которое до сих поддерживается специально для таких целей. Ещё один способ - использование более современных ядер 2.6, но собранных под архитектуру i586 и ниже.

Второй способ - установка современного дистрибутива с минимималистичным, либо требующим мало ресурсов графическим интерфейсом. В этом случае простора для манёвров куда больше. Но придётся слегка углубиться в небольшую теорию. начать надо с того, что в Linux есть два типа оболочек запускаемых в оконном режиме. Первый и наиболее используемый - Desktop Environment, сокращённо DE. Второй - Window Managers. Как явствует из названия, первый тип является рабочим окружением, а второй - оконным менеджером. В чём отличие? Среда окружения рабочего стола предоставляет взаимосвязанный и унифицированный графический интерфейс. Главная идея такого окружения - наличие так называемого "рабочего стола" пользователя, который может взаимодействовать с различными компонентами системы. Перенос файлов и каталогов на рабочий стол все делали? Вот это оно и есть. Оконные менеджеры предоставляют лишь механизм управления окнами приложений и работают независимо от окружения, хотя в некоторых случаях могут включать в себя некоторые элементы "рабочего стола" в своё устройство. Но в силу такой простоты, они значительно менее ресурсоёмки нежели рабочее окружение.

Примеры DE работающих на достаточно старых компьютерах:

Оконные менеджеры:

Для тех систем, на которых установлено от 256 до 1Гб оперативной памяти, вполне можно устанавливать первые четыре DE из списка. Если у вас ОЗУ не превышает 512 Мб, то ставить лучше всего три последних наименования из списка DE. Либо подумать насчёт использования оконных менеджеров. Особенно это касается совсем уж старых систем, где установлено 256 Мб ОЗУ и менее.

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

Ещё одна особенность использования старых компьютеров или систем с ограниченными ресурсами вроде нетбуков, это использование ПО. На такого рода системах крайне рекомендуем использовать устаревшие версии программ, котострые, как правило, имеют существенно меньшие требования к аппаратной части. Такого подхода, кстати, придерживается уже упоминавшаяся выше LegacyOS. В противном случае, смысл в установке какого-нибудь IceWM начисто пропадает, если вы потом ставите последнюю версию Firefox, которая использует всю имеющуюся память в один присест. Ещё один способ сократить нерациональное расходование системных ресурсов - использование консольных программ в сочетании с графическим окружением. Учитывая обилие консольных программ практически под любые задачи в Linux, можно добиться крайне комфортной повседневной работы на более чем скромных по современным меркам компьютерах.

Q: Какой дистрибутив выбрать для нетбука?
A: Несколько особняком стоит выделить вопрос про нетбуки и планшетных ноутбуков. По идее, подобного рода компьютеры подпадают под маломощные компьютеры, но имеют ряд нюансов. Хотя если нетбук совсем старый, то ответ на предыдущий вопрос "Какой дистрибутив выбрать для старого компьютера?" вполне подойдёт для этого случая. Для работы на современном оборудовании, в принципе, подойдёт практически любой актуальный дистрибутив, базирующийся на версии ядра веток 2.6.x - 3.x, дабы поддерживалось встроенное оборудование. Таким образом, корректно поставленный вопрос в нашем случае должен звучать следующим образом: "Какую рабочую среду использовать для нетбуков?". Основной вопрос здесь - экранное разрешение и полезная рабочая площадь экрана. Как правило, существуют уже готовые разработки вроде Ubuntu Netbook Remix, либо в популярных дистрибутивах можно отдельно скачать и установить профиль из репозиториев специально разработанный для таких компьютеров. Для дистрибутива Mandriva Linux, например, существует специально собранное ядро и профиль для KDE4 специально для таких случаев. Также в последнее время активно развивается направление связанное с разработкой операционных систем рассчитанных на работу только на нетбуках. К таким примерам можно отнести ChromeOS, WebOS и порт ОС Android для x86.

Что касается рабочего окружения, то для KDE4 есть отдельный модуль Plasma, специально предназначенный для устройств с малым разрешением и ограниченной рабочей областью экрана. Если нет желания использовать KDE, то для Gnome3 существует Gnome Shell для аналогичных целей. Также можно использовать LXDE, который разрабатывался в первую очередь именно для подобных устройств. Также очень хороши для таких целей тайловые оконные менеджеры (awesome, ion3, ratpoison, xmonad), но они требуют определённой квалификации пользователя для своей настройки. Не исключено использование DE с поддержкой тайлинга (режима неперекрывающихся окон). У KDE начиная с версии 4.5 такой режим тоже присутствует.

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

Сеть. Серверы.

Q: Я хочу дать доступ по к своим файлам и каталогам для пользователей Windows. Как мне это сделать?

A: Вам потребуется два пакета. Первый - это samba-client. Второй - samba-server. Первый нужен для того, чтобы вы сами могли просматривать ресурсы с Windows-машин. Второй - для предоставления доступа к вашим ресурсам.

В современных дистрибутивах есть уже готовые средства с графическим интерфейсом предназначенных для настройки данной функции. Но наиболее простой способ, это правка конфигурационного файла /etc/samba/smb.conf.

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

Пример типичного smb.conf используемого в openSUSE 11.2:

[global]
        workgroup = YourWorkgroup
        printcap name = cups
        cups options = raw
        map to guest = Bad User
        logon path = \\%25L\profiles\.msprofile
        logon home = \\%25L\%25U\.9xprofile
        logon drive = P:
        usershare allow guests = Yes
        add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
        domain master = no
        netbios name = LinuxMachine
        restrict anonymous = no
        server string = Your Linux Machine
        wins support = No
        passdb backend = smbpasswd
        wins server = 

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @ntadmin root
        force group = ntadmin
        create mask = 0664
        directory mask = 0775

[Общие_файлы]
        inherit acls = No
        path = /home/share
        read only = No
        guest ok = Yes
        force group = users

[distr]
        admin users = pupkin
        comment = Дистрибутивы
        inherit acls = Yes
        path = /mnt/windows/distr
        read only = No

Теперь, разберём что к чему поподробнее.

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

Для настройки такой конфигурации нам потребуется изменить всего несколько параметров.

В секции Global необходимо изменить значение следующих параметров:

  • workgroup = YourWorkgroup

Имя рабочей группы, куда будет прописана ваша Linux-система.

  • usershare allow guests = Yes

Разрешать гостевой вход на сетевые ресурсы.

  • domain master = no

Отключить режим контроллера домена.

  • netbios name = LinuxMachine

Имя компьютера в сети.

  • restrict anonymous = no

Указывает, будет ли информация о пользователе и группах сообщаться анонимному пользователю. Данный параметр перекрывается параметром guest ok, указанным в секции описывающим конкретный сетевой ресурс.

  • server string = Cool Linux Machine

Описание компьютера. Не обязательно, но по желанию добавить можно.

  • passdb backend = smbpasswd

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

Разделы print и printers мы пока не рассматриваем. Они нам потребуются, когда мы захотим дать общий доступ к подключённм к нашей Linux-машине принтерам.

Далее идут две секции, которые нам больше всего нужны.

Секция "Общие_файлы" описывает общий каталог, доступный для записи и чтения абсолютно всем. Прошу обратить внимание, что данная секция заключённая в квадратные скобки задаёт имя сетевому каталогу. Допускается кириллическое название каталога.

Используемые параметры:

  • inherit acls = No

Указывает наследовать ли нам значения настроек родительского каталога для нижележащих файлов и каталогов. Это означает, что при включении будет выставляться chmod равным 0777.

  • path = /home/share

Физический путь к каталогу, к которому вы хотите дать общий доступ.

  • read only = No

Разрешать ли нам доступ только для чтения.

  • guest ok = Yes

Разрешать свободный гостевой вход на данный сетевой ресурс без пароля.

  • force group = users

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

Второй сетевой ресурс, известный нам как [distr] несколько интереснее. Данный сетевой каталог защищён паролем и доступен только пользователю sysadmin.

Здесь есть два неизвестных доселе нам параметра.

  • admin users = sysadmin

Пользователь с наивысшими привилегиями для данного каталога. Работает с теми же правами, что и пользователь root! Поэтому будьте внимательны!

Чтобы этот пользователь заработал, необходимо его создать, и задать пароль для для него с помощью команды smbpasswd.

  • comment = Дистрибутивы

Описание каталога. Может быть указано что угодно. Кириллица не возбраняется.

Типичные ошибки начинающих

Q:

A: