Совсем недавно решил переустановить систему на своем основном компьютере (домашнем). До этого там стояла MS Windows XP. Но работала она очень плохо. Были очень неприятные проблемы. Самой ужасной - перезагрузка системы во время работы. В самые неожиданные моменты. Это очень похоже на проблемы с железом. Программы диагностики особо ничего не выявили. Одним радостным днем системе стало совсем плохо. При попытке войти в систему под любым пользователем она перегружалась. Я решил, что не буду пытаться ее восстанавливать (тем более что файлы были доступны удаленно и всю информацию можно было спасти), а просто переустановлю. Причем в качестве новой системы я выбрал линукс. Он не так сильно напрягает меня, а дома у меня нет особой нужды в программах под альтернативную платформу. Как Java Developer мне вообще не слишком важна целевая платформа.
Наиболее актуальный для меня дистрибутив в данный момент SUSE. Я считаю его наиболее стабильным и отполированным. Более того, в этом дистрибутиве идет, не побоюсь этого слова, самый совершенный редактор настроек. Ну если не считать, конечно, прямого редактирования конфигурационных файлов. Однако, последнее время я слышу много восторженных криков по поводу Ubuntu. У этого дистрибутива хорошие, крепкие корни, большое число поклонников, но уж очень много PR. Я всегда с большой опаской отношусь, к продуктам, которые особенно активно рекламируют. Тем не менее, я решил попробовать.
Не буду глубоко вдаваться в подробности, кратко выскажу свое мнение. Прежде всего этот дистрибутив абсолютно не тянет на почетное звание лучший desktop. У него огромное количество проблем. Встроенные средства конфигурации не покрывают и 10% системы. А то что покрыто, покрыто очень плохо. Доработка напильником требуется на каждом углу. Я был удивлен, когда мне говорили, что убунта не годится для новичков. Теперь мне стало понятно. Но я не могу не сказать, что общее впечатление от дистрибутива очень положительное. Это не Fedora, которую вообще противно использовать в качестве рабочей станции. (О серверах речи нет). Поэтому я довел начатое до логического конца и привел систему к состоянию, в котором ее реально использовать.
Я хочу подчеркнуть, что проблем было довольно много, но все они решались легко. Решение было либо очевидными, либо легко находилось в документации, доступной в сети.
Основные проблемы, на сколько я помню, можно выразить следующим списком:
- Установка необходимого ПО и библиотек для проигрывания музыки и видео.
- Установка проприетарных драйверов (видео).
- Установка 3D рабочего стола.
- Подключение к сети (странная проблема, сеть подключалась через раз).
- Шрифты/ кодировки.
Как вы видите - проблемы тривиальные, и особых трудностей не вызвали. Хочу сосредоточиться на специфике моего случая. Основной компьютер подключен к внешней и внутренней сетям. Он выполняет функции брандмауэра. Поэтому встал вопрос доступа к Интернету из внутренней сети. Конечно, самый прямой способ это настройка конфигурации iptables. То есть включение masquerading/NAT. Кроме того, мне нужен DHCP сервер для внутренней сети, чтобы я не напрягался со статическими адресам и не менял настройки рабочего ноутбука. Итак имеем две проблемы:По прямому пути я не пошел, ведь у меня в руках самая дружественная система в мире. Прежде всего многих новичков очень пугает отсутствие возможности зайти под root. Точнее, пугает тот факт, что пароль супер пользователя неизвестен. При этом попытка произвести любое административное действие приводит к запросу пароля. Дело в том, что в Ubuntu используется немного другой подход, основанный на sudo. В чем его суть? Если не вдаваться в подробности, на все вопросы надо отвечать своим пользовательским паролем. Если есть необходимость запуска некой программы из консоли, но с правами root, надо выполнить следующий финт: sudo <название программы> Вас опять попросят ввести пароль - ВАШ ПАРОЛЬ! Одним словом все просто и прекрасно. Теперь вернемся к нашим проблемам. Установка dhcpd не вызывает особых проблем. Можно воспользоваться Synaptic - встроенным менеджером пакетов (не супер, но достаточно удобно и надежно). Либо прямо в консоль ввести sudo apt-get install dhcpd. Для особого удобства можно установить какую-нибудь программу для конфигурации этого демона.
Самое интересное (для меня) второй пункт. На сколько это удобно можно сделать в Ubuntu. Решений много, я остановился на Firestarter. Это ПРЕДЕЛЬНО ПРОСТОЙ конфигуратор брандмауэра. Все сводится к простейшему визарду. Более того! Ferestarter берется настроить даже DHCP для внутренней сети. Однако в моем случае, возник небольшой конфликт. Так как установленный в системе демон и тот который хотел использовать Firestarter отличались версиями. Я не слишком расстроился, так как эта функция у меня уже и так работала, поэтому я просто пропустил настройку dhcp в Firestarter.
Еще более приятным сюрпризом, для меня была возможность Firestarter показывать активные подключения и на лету модифицировать правила фильтрации.
Но меня ждал один подвох. Как оказалось, я не могу войти из внутренней сети в корпоративный VPN. Это меня сильно огорчило. Тем более, что разработчики обещают исправить эту проблему только в следующем релизе Firestarter. Однако (как всегда!!!) решение есть. Причем достаточно прямое. Необходимо внести небольшую правку в один из конфигурационных файлов Firestarter. Открываем терминал и выполняем следующую магическую последовательность:
# sudo -i <
вводим СВОЙ пароль>
# chmod +w /etc/firestarter/user-pre
# gedit /etc/firestarter/user-pre
В открывшемся редакторе вводим следующий текст:
# Forward PPTP VPN client traffic
$IPT -A FORWARD -i $IF -o $INIF -p tcp --dport 1723 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $IF -o $INIF -p 47 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i $INIF -o $IF -p 47 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Затем выполняем:
# chmod -w /etc/firestarter/user-pre
# /etc/init.d/firestarter restart
После всех этих действий я получил возможность полноценно работать из внутренней сети.
Буду рад, если эта статья кому-то поможет побороть его проблемы.
PS. Вот уже прошел месяц использования дистрибутива Ubuntu. Какие выводы можно сделать. Прежде всего дистрибутив работает. И в нем можно работать. Ошибок в программах довольно много, но проблемы решаемые и особо не раздражают пользователя (меня) у которого нет времени долго и глубоко копать. Из оставшихся проблем - поддержка микрафона и skype. Удалось заставить работать и то и другое, но ... работают они не очень красиво. Добиться желаемого поведения на 100% мне не удалось.