вторник, 20 декабря 2011 г.

Lubuntu 11.10 - расшарить "Общедоступные"

Преамбула: средний непродвинутый офисный пользователь, пересаженный из-под оффтопика =) в какую-нибудь linux-based desktop operating system, обычно хочет в числе прочего лазить по сети на другие машины и скидывать туда свои файлы / забирать выложенные / редактировать их прямо по сети - и не хочет задумываться о том, как именно это работает =)
В Ubuntu 10.04.3 LTS - до сих пор используем, консервативный и вылизанный Gnome 2 без сырых нововведений незаменим на машинах пользователей - это почти решалось средствами GUI (большинство уже знает - контекстное меню каталога, "Общий доступ", как именно это работает без прав администратора - искать по ключевым словам samba usershare). Почти - потому что у пользователей возникали естественные вопросы: "А почему это он мне файл в общедоступные положил, а я теперь его ни редактировать, ни стереть не могу?"
Всё правильно, права доступа. Да, Ubuntu хватает интеллекта назначить доступному для всех на чтение-запись каталогу права rwxrwxrwx. Но "net usershare ..." почему-то не умеет писать от имени владельца юзершары - по крайней мере, я не нашёл, как это сделать именно в юзершаре. По умолчанию nobody/nogroup, и права доступа тоже по умолчанию - право на запись имеет только владелец.
Обходил проблему указанием в /etc/samba/smb.conf глобальных директив (всё равно шара будет одна) create mask = 0666 и directory mask = 0777 - некрасиво, невозможно сделать средствами GUI и тяжело объяснять пользователям...
Сейчас пытаюсь переходить на Lubuntu - минималистичный такой desktop, libreoffice & thunderbird заменили на abiword+gnumeric & sylpheed (как минимум abiword не очень хорошо понимает документы word, но никто не мешает снести и поставить то, что удобно и привычно)... в общем-то есть всё, что действительно необходимо, и нет ничего лишнего!
Отличная вещь.
Юзершар - нет.
В смысле, нет плагина (или что там в нём) к PCManFM (файловый менеджер в Lubuntu), который умел бы делать юзершары из GUI.
В процессе поиска решения была найдена утилита system-config-samba, про которую я как-то раньше не знал =) Решение тоже не идеальное, но для одного пользователя получилось сделать общедоступный каталог и заставить самбу работать с этой шарой от имени самого пользователя, а не nobody. Что не очень хорошо с точки зрения безопасности =) , но раз уж допускаем нецентрализованный бардак с доступными на запись сетевыми каталогами у каждого пользователя, то чего уж тут... пусть так =)

Итак, пошаговая инструкция.
Терминал.
sudo apt-get install samba system-config-samba python-glade2
Последнее нужно для system-config-samba, эта утилита написана на питоне, и в пакет явно забыли добавить зависимость... Без python-glade2 из GUI system-config-samba запускается на долю секунды и сразу закрывается - даже сам факт запуска трудно заметить, как будто вообще ничего не происходит...
GUI.
Кнопка с ласточкой - Системные - Samba.
Ваш пароль. Предполагается, что ваш пользователь имеет права администратора. После установки Lubuntu единственный созданный в процессе установки пользователь их имеет =)
В открывшемся окне уже указан один общедоступный каталог, с названием ресурса print$. Чтобы он вам когда-то пригодился, у вас должен быть установлен принтер, в сети должны быть Windows-машины, которые нужно подключать по сети к этому принтеру и при этом обязательно автоматически устанавливать драйвер принтера... который ещё надо скачать с сайта CUPS и положить в print$, да не просто так, а выполнив дополнительные действия с конфигом самбы... В общем, интересующиеся читают man cupsaddsmb, а я у себя так никогда этого и не делал - тут слишком мало машин с Windows, и их можно просто напрямую подключить к CUPS - они умеют печатать через IPP (кроме Windows 7 Starter Edition, увы...)
Offtopic off =) Просто не трогайте этот ресурс, он стандартный системный.
Настройка - Параметры сервера. При желании можно указать workgroup - вашу машину будут видеть в этой рабочей группе, здесь сделал рабочие группы по комнатам, среди полусотни пользователей искать нужную машину стало удобнее =)
Опять оффтопик: имя машины самба берёт по умолчанию из имени хоста. Если почему-то надо его сменить - редактировать (с правами администратора, конечно) /etc/hostname и затем поправить в /etc/hosts хотя бы строку, в которой старое имя хоста и 127.0.1.1. Разумеется, чтобы имя сменилось в самбе, нужно перезапустить хотя бы самбу =)
Вкладка Безопасность. Режим аутентификации меняем на Ресурс. Гостевая учётная запись - ставим того пользователя, для которого создаём общедоступный каталог, это важно!!!
Нажимаете OK. Нажимаете зелёный плюс (или Файл - Добавить ресурс, то же самое). Каталог: нажимаете Обзор, находите от корня файловой системы /home/user/Общедоступные (а почему мы не в домашней папке пользователя? - а потому, что вы сейчас root! =), OK. Ставите птички Запись разрешена и Виден. Вкладка Доступ: включаете радиокнопку Предоставить доступ всем.
Всё.
Конфигурация сетевого каталога записана в /etc/samba/smb.conf, можно полюбоваться. Самба уже перезапущена. Доступ по сети к данному конкретному каталогу осуществляется с правами вашего пользователя, так что даже менять права доступа к папке Общедоступные не нужно...
Очевидный недостаток: если в системе два и более пользователя - "общедоступные" можно сделать только кому-то одному. Но в офисах в основном один пользователь, автоматически логинящийся в систему, под которым за компьютером может сидеть кто угодно, правда ?-)

Необходимый бантик. Запустите PCManFM ("Файловый менеджер"). Введите в строку адреса network:///, нажмите ввод - знакомая картина? Теперь выберите Закладки - Добавить закладку, и у вас будет что ответить на вопрос "а как тут в сеть зайти?"
smb:/// - это, насколько я понял, почти то же самое, но через network:/// ещё должны быть видны AFP-шары. Когда-то хотел попробовать сделать "Общедоступные" через AFP, но столкнулся с (забыл какими) трудностями. Если есть быстрый и аккуратный метод использовать AFP для того же, что здесь сделано через SMB - оставьте, пожалуйста, в комментах ссылку, и комьюнити будет вам благодарно ;)
Менее необходимый, но тоже нужный бантик: если вы хотите, чтобы при просмотре network:/// сразу показывались машины, принадлежащие не к рабочей группе WORKGROUP, а, например, к YOUR_WG - введите в терминале gconftool-2 -t string -s /system/smb/workgroup YOUR_WG

четверг, 7 июля 2011 г.

Установка Debian Squeeze на маршрутизатор - с самого начала

Всё предельно просто и прозрачно. Почти всё: на экране Software selection убираем птички не только с Graphical desktop environment, но и со Standard system utilities. Зачем? А зачем туда NFS server запихали по умолчанию? Вот и я не знаю. Но он мне не нужен, и я не хочу его после установки удалять - я хочу, чтобы он и не устанавливался. Туда же почтовый сервер... не факт, что именно на этой машине он нужен... но даже если и нужен - вместе со Standard system utilities ставится exim, а я привык к postfix и не вижу смысла менять удобный привычный инструмент.
При снятии этой птички теряем очень нужный мне less. Потом доставляю.
В результате получается не очень-то компактная система, больше 200 МБ - ну да ладно уже... вроде бы с помощью debootstrap можно установить "совсем базовую" систему Debian, вообще без лишних деталей... но необходимое количество телодвижений для настройки такой системы начинает резко возрастать - придётся вспомнить всё, что нужно с вашей точки зрения для нормальной работы системы... и это при том, что про большую часть этих пакетов вы обычно и не вспоминаете - ну вот rsyslogd, скажем :) логи пишутся как-то сами, да? :)))
Так что - остановился на вот таком варианте.
Мне нужен там и apache, и php, и mysql - но птички Web server и SQL database я не ставил. Апач мне нужен не тот, что по умолчанию, а mpm-itk. А вместо привычной программистам MySQL инсталлятор Debian ставит PostgreSQL... я не хочу сказать, что это плохо, но программисты почему-то хотят MySQL. Хотя, возможно, здесь это уже будет MariaDB...
Правда, вот птички DNS server и SSH server я поставил :) - тут вроде нормально... Вместе с bind9, правда, ставится lwresd, я пока не разбирался, нужен ли он - разрешение имён работает, и хорошо...
Результат меня почти устроил.
В первую очередь на установленной системе делаю sudo apt-get update && sudo apt-get upgrade - обновлений мало, но они есть ;) (опять какая-то дыра в bind9, насколько я помню...)
Затем устанавливаю пакеты less, bash-completion - удобнейшая вещь, под Ubuntu я очень привык к работе автодополнения не только по файловой системе, но и по командам того же apt-get. И, что ещё приятнее, именам устанавливаемых / удаляемых пакетов - не всегда я помню имя пакета с точностью до каждого символа, да и длинные они бывают, запомнить трудно, набирать долго =) И command-not-found - не настолько нужная вещь, да и немаленький python за собой зависимостью тянет, но вот нравится мне, когда в ответ на имя отсутствующей в системе команды bash не просто отвечает command not found, а выдаёт внятную и иногда очень уместную подсказку - какой пакет нужно поставить, чтобы команда появилась :)

В следующей серии - настройка интернет-подключения через pptp ;) Простая вещь, правда? Аккуратная, правильная настройка, полностью соответствующая идеологии построения системы Debian =)

Переход на Debian

Ну что тут поделаешь... Старый маршрутизатор на 2 провайдера + тестовый хостинг + файлопомойка + хранилище бэкапов, когда-то поднятый под Gentoo, окончательно себя изжил. Надо поднимать новый, сообразуясь с обновившимися требованиями...
Gentoo, конечно, замечательно компактно инсталлируется, и все пакеты вместе и каждый в отдельности замечательно легко настраиваются - именно так, как мне это надо... Но обновления системы вызывают проблемы - и почему-то со временем их становится всё больше и больше :( На переход на новую систему именования слотов php (сейчас можно в Gentoo держать в системе 5.2 и 5.3 одновременно и выбирать, какой из них будет использоваться, скажем, апачем или php-fpm...) я потратил довольно много нервов, например.
Так что было принято решение - новый маршрутизатор + итп будет под... Debian :)
Почему не Ubuntu Server? Ну... это долго писать... Но, собственно, Ubuntu - это ведь просто модифицированный Debian. Системы очень похожи, управление пакетами одинаковое... никаких проблем, если знаком с Ubuntu, работать с Debian. И наоборот ;)
Дальше будет серия маленьких заметок по установке и настройке Debian - по возможности стараясь не нарушать идеологию системы, а встраиваться в неё со своими потребностями =)

пятница, 20 августа 2010 г.

Драйвер для Canon LBP-1120 под Ubuntu 10.04 Lucid Lynx

Буквально в несколько строчек.
Уже очень давно и очень многие мучаются с LBP-1120 и тому подобными "бюджетными" принтерами Canon - они слишком велики и авторитетны для того, чтобы обращать серьёзное внимание на поддержку свободных ОС... Драйвер на сайте Canon есть, но имеются трудности с зависимостями (пакет cups переименовали, раньше это cupsys называлось, если я не ошибаюсь).
На форумах можно найти много криков "помогите!" и несколько меньшее количество более или менее кривых рецептов установки драйвера.
Имхо правильное, аккуратное и удобное решение есть здесь.
Поддерживается не только 1120 - цитата с сайта:
The current supported printer models for the 1.90 release of the driver are: LBP-1120, LBP-1210, LBP2900, LBP3000, LBP3010, LBP3018, LBP3050, LBP3100, LBP3108, LBP3150, LBP3200, LBP3210, LBP3250, LBP3300, LBP3310, LBP3500, LBP5000, LBP5050, LBP5100, LBP5300, LBP7200C.
...
UPDATE 1: The currently used CAPT driver since version 2.0 is 2.00 which adds support for Canon LBP6300dn and Canon LBP9100Cdn. Also a new script has been added to the archive to handle the driver uninstall process.
Печать по сети с Linux на Windows c расшаренным принтером - работает, я даже удивился... раньше с этим у меня были трудности...
Собственно, всё... Пользуйтесь ;)

пятница, 7 мая 2010 г.

Лучше среднее соображение, чем высшее образование

В некотором смысле ответ на этот рассказ ;)
Компьютерами я по-настоящему занялся лет в 15 - папа привез программируемый на Бейсике калькулятор... практика 8) Учился в физматшколе, 3 компьютерных класса - Ямахи, БК0010 и "для самых продвинутых" с PC XT - тоже способствовали ;) Но математику я не любил и с треском завалил при поступлении на факультет ПО.
До следующего года устроился работать. Оператором ЭВМ. Через несколько месяцев на работе поняли, что я вообще-то готовый программист ;) В следующем году понял, что увольняться ради института совершенно не хочется - а как же доступ к компьютерам? - и поступил на вечерний. Не ПО, а ВТ - "железячник".
В институте меня практически ничему полезному не научили. Ну зачем мне уметь синтезировать цифровые автоматы или там знать историю Украины? С практической точки зрения? А все более-менее нужное я уже успел узнать сам. Бедный преподаватель, устроивший лотерею "автоматов" - я заявил ему "хочу 5, а не 4 автоматом!" и вкручивал про отличия UNIX System III от System V... в билете был вопрос про UNIX...
Потом - модемы, BBS, FidoNET... Поинт, нода, забор эх по нескольку раз в день и чтение запоем...
Институт я так и не закончил ;) - исключили с последнего курса за хвосты полуторалетней длины... Я так и не научился нормально писать курсовые работы... Я не был особо огорчен - с первой своей работы я увольнялся уже ведущим инженером...
Потом еще несколько работ... Техподдержка интернет-провайдера, в смысле - на самом деле техподдержка, а не мальчик на телефоне, переадресующий проблемы кому-то поумнее... Диплома у меня не было вообще, но мне это никогда не мешало ;) Где-то валяется бумажка о том, что я окончил 5 курсов института... думаю, она давно потерялась... При очередном устройстве на работу меня всякий раз спрашивали о наличии высшего образования - я излагал историю об исключении с последнего курса и обещал принести справку про 5 курсов сразу, как только найду ;) Мне говорили "ну вы же обязательно принесите!", брали на работу... и нигде никто про эту справку ни разу не вспоминал ;)
Очередной работой оказалось преподавание студентам спецкурса "Администрирование сетей, системное администрирование". Около 3 лет я вполне успешно вкручивал студентам начала работы сетей и администрирования Linux...

...И теперь с полным правом могу говорить:
- Там, где вы учились - я преподавал!

среда, 5 мая 2010 г.

Решение одной из бесчисленных проблем со спящим режимом

Около месяца назад купил себе ноутбук Asus X66IC - правда, dmidecode пишет Product Name: K61IC, но это мы оставим на совести маркетоидов ;) Имхо внутри машинка несколько грубовато собрана, но мне очень понравилось соотношение цены и возможностей... и возможность купить ноутбук, запечатанный в коробку на заводе ;) Терпеть не могу покупать технику, которую привезли в единственном экземпляре - сразу проблемы с обменом по гарантии в случае каких-нибудь проблем... и терпеть не могу покупать технику с витрины!!! И никаких аргументов наподобие "проверки" не приемлю. Проверяют на заводе, там же и упаковывают, в перчатках. Кривые же ручки местных... эпитеты опустим... если и будут что-то делать с обнаруженными проблемами - так только маскировать их, чтобы товар спихнуть, а как там с ним пользователь потом мучиться будет - не их проблема, все равно им тут долго не работать... Все, что они могут - наделать проблем в софте ("мы вам сделаем как лучше" - как мне лучше, знаю только я, и то не всегда) и наставить жирных отпечатков на модные сейчас глянцевые поверхности (да, в моем ноутбуке тоже такой корпус. Глянцевая верхняя крышка и рамка вокруг экрана, глянцевая поверхность под руками, глянцевый тачпэд - с точками-углублениями, правда, не знаю, так комфортнее или мне все равно... Клавиатура и дно, правда, из обычного матового пластика... По-моему, глянец - это недостаток, протираю постоянно, пятна меня расстраивают... Зато надпись "Feel the Cool Comfort" - чистая правда ;) Ноутбук (в обычном режиме работы! 3D-игры я, как правило, не гоняю...) очень тихий (кстати, там вроде бы 2 вентилятора - снаружи не очень понятно, но 2 разных радиатора за 2 отдельными решетками на задней стенке отлично видны...) и практически холодный... Вот заряжается - площадка под правой рукой, там снизу батарея, слегка нагрелась, а так обычно холоднее рук...)
Но я сильно ушел в сторону ;) Ноутбук продавался без ОС. Естественно, я поставил туда... нет, сначала не Ubuntu ;) Linux Mint 8 "Helena" - это практически Ubuntu 9.10 Karmic Koala, туда добавили разные мелочи вроде кодеков и Adobe Flash Player (не плюйтесь, я тоже его не люблю, но удобство работы для меня важнее - слишком много сайтов сейчас делают на флэше какие-то ключевые элементы управления... Пробовал Gnash - пока не дотягивает до "годен к употреблению", увы...), изменили интерфейс, свой центр приложений...
Выявилось 2 главные проблемы:
  • Suspend to RAM не работает. То есть он работает ;) Ноутбук вполне нормально засыпает, просыпается по нажатию клавиши, картинка на экране не испорчена, все, что было запущено, явно работает... Вот только ноутбук перестает реагировать на клавиатуру и тачпэд. На кнопку питания реагирует нормально (если запретить блокировать экран и повесить на кнопку питания выключение компьютера - он вполне нормально выключается...)
  • Встроенная веб-камера отлично работает, но показывает перевернутое изображение ;)
Вторая проблема решилась почти сразу - не ленитесь написать автору библиотеки о своих проблемах ;) Разумеется, тестовая версия библиотеки в официальные репозитории Ubuntu не попадет еще очень долго, но, к счастью, кто-то собирает этот пакет и выкладывает на своем PPA... В общем, так:
sudo add-apt-repository ppa:libv4l/ppa
sudo apt-get update
sudo apt-get upgrade
Я знаю, что это глобальное обновление ;) Но я же все равно систему обновляю "как только, так сразу" - нравится мне так... Если только нужную библиотеку - то вместо последней строки sudo apt-get install libv4l-0.
Кстати к теме - Camorama из Ubuntu 10.04 Lucid Lynx у меня по неясной причине не работает - пишет что-то вроде "/dev/video0: нет такого устройства". /dev/video0, конечно же, есть. Проблема не в правах доступа, хотя мне немного странно видеть crw-rw----+ 1 root video 81, 0 2010-05-05 21:53 /dev/video0, с которым без особых проблем работают программы, запущенные от моего имени (меня нет в группе video!) - кто бы объяснил, в чем тут дело? Возможно, где-то в недрах libv4l прячется SGID? Очень сомневаюсь... В общем, с ходу заставить работать не получилось, цели использовать именно эту программу не было, установил Cheese - работает нормально...
С первой же проблемой пришлось покопаться... Сначала думал на проприетарные драйверы Nvidia - в ноутбуке стоит более чем приличная с моей точки зрения GeForce GT 220M (на самом деле маркетоиды просто перемаркировали GeForce 9600M GT, но хуже она от этого не стала), но шаманство с настройками драйвера и установленным uswsusp не помогало... Оказалось, что надо было просто немного подумать ;) - экран-то в порядке после пробуждения, не работают клавиатура и мышь. Touchpad, точнее ;) Проблема, как это очень часто бывает, оказалась старой, и надо было просто задать Google правильный вопрос...
Проблема была в контроллере клавиатуры, естественно...
Решение (это для чистой Ubuntu 10.04 Lucid Lynx, uswsusp и вообще что-то дополнительное ставить нет необходимости):
sudo nano -w /etc/default/grub
Находим строку параметров ядра, у абсолютного большинства она выглядит так:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
И добавляем в нее необходимый параметр:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.reset"
Для того, чтобы настоящий файл конфигурации Grub (имхо какой-то нечитаемый в новой версии сделали, я привык к старому формату и очень расстроен сложностью и незапоминаемостью нового) пересоздался, необходимо сделать так:
sudo update-grub
Перезагружаем ноутбук, нажимаем Fn+F1, засыпает... будим... работает ;)