Для новичков в 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: В первую очередь необходимо выучить такое понятие как репозиторий. Для чего почитайте раздел "Терминология". В репозитории того дистрибутива который вы установите в подавляющем большинстве случаев можно найти всё, что необходимо. В некоторых случаев требуется необходимо
подключить дополнительные источники. Если нигде ничего нет, то на сайте нужной программы всегда можно скачать исходные тексты и скомпилировать самому. Но большинству пользователей такое нужно очень-очень редко.
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 работающих на достаточно старых компьютерах:
- KDE 3, либо его форк Trinity Desktop
- Gnome 2, либо его форк Mate Desktop Environment
- Razor QT
- XFCE
- LXDE
- ROX
Оконные менеджеры:
Для тех систем, на которых установлено от 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: