Линукс, полезные советы.

08.03.2009 — 19.04.2009
Новиков Максим Глебович

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

Содержание:

При запуске Firefox в Ubuntu он всё время включается в автономный режим, хотя подключение к Интернету активно. Почему?

Такой глюк проявляется в том случае, если настройки сети у вас выполнены вручную в файле /etc/network/interfaces, но в то же время из автозагрузки не отключены скрипты запуска службы NetworkManager. Для отключения автозагрузки службы NetworkManager выполните в терминале команду:

sudo update-rc.d -f NetworkManager remove

Если вы решите снова включить NetworkManager, выполните:

sudo update-rc.d -f NetworkManager defaults

Эти команды удаляют или добавляют в специальные каталоги /etc/rc?.d ссылки на скрипт запуска (или остановки) службы NetworkManager. При загрузке система выполняет все скрипты, ссылки на которые находятся в каталогах /etc/rcS.d и /etc/rc2.d, при выключении — в /etc/rc0.d. Также определено ещё несколько каталогов для разных состояний системы:

/etc/rcS.d — начальная загрузка системы.
/etc/rc0.d — выключение системы.
/etc/rc1.d — загрузка однопользовательского режима (типа Safe Mode в Windows).
/etc/rc2.d — загрузка многопользовательского режима.
/etc/rc3.d — зарезервированно.
/etc/rc4.d — зарезервированно.
/etc/rc5.d — зарезервированно.
/etc/rc6.d — выключение системы для перезагрузки.

Сами запускаемые ссылками скрипты находятся в одном общем каталоге /etc/init.d.

[Вернуться в начало]

Подключение к учётной записи Mail.ru Агент под Linux

Во-первых, существуют клиенты под Linux, реализующие протокол Mail.ru Агента (MRIM):

  1. MDC (http://mdc.ru). Проприетарный мультипротокольный клиент, включающий протокол MRIM. Помимо MRIM поддерживается также ICQ, AOL, jabber, Gtalk, Yandex online и MSN. В фаерволе, кроме tcp-портов нужного клиента (в случае MRIM это порты 2041, 2042, а если используется прокси-сервер, то 443), клиент требует открыть tcp-порт 8001 для связи с MDC-сервером. После выхода из стадии бета-тестирования, MDC-клиент может стать свободным.
  2. qutIM (http://www.qutim.org). Свободный мультипротокольный клиент, включающий протокол MRIM. Помимо MRIM поддерживается ICQ, IRC и jabber. Удачная статья по установке qitIM находится тут: http://www.yachaynik.ru/content/view/30/31/.
  3. mraqt (http://linuxforum.ru/index.php?showtopic=74293 и http://mraqt.sourceforge.net/). Клиент MRIM, находящийся на начальном этапе разработки. На момент написания данного совета, готовых пакетов нет, но их можно собирать самостоятельно из публикуемых исходников.

Во-вторых, можно запустить под Wine родной Mail.ru Агент (но версии не выше 5.2). Более старшие версии запускаются, но тут же вылетают, оставляя за собой в списке процессов зомби-процесс magent.exe.

  1. Для запуска Mail.ru Агент установите Wine, если вы этого ещё не сделали, и скопируйте в каталог /home/ulla/.wine/dosdevices/c:/windows/system32 три библиотеки, например, из одноимённого каталога Windows XP: ole32.dll, oleacc.dll и riched20.dll. Чтобы быстрее открыть этот каталог, выберите «Приложения → Wine → Browse C:\ Drive», а затем уже быстро откроете каталог windows/system32.
  2. Запустите инсталляционный файл и инсталлируйте Mail.ru Агент в папку, предложенную им по умолчанию. Файлы будут автоматически помещены в каталог /home/ulla/.wine/dosdevices/c:/. При инсталляции оставьте галочку на пункте «Создать значки на рабочем столе, в панели быстрого запуска и в окне браузера». В этом случае программа пропишется в меню системы (Приложения → Wine → Программы → Mail.ru → Mail.ru Агент).
  3. После инсталляции откройте «Приложения → Wine → Configure Wine», и на вкладке «Приложения» добавьте в список magent.exe, сделайте его строчку текущей, установите для этой программы версию системы «Windows 2000» (даже если вы скопировали библиотеки другой версии) и перейдите на вкладку «Библиотеки».
  4. Найдите в списке и добавьте в список имена всех трёх скопированных ранее библиотек с указанием порядка загрузки «Сторонняя, затем встроенная». Примените изменения. Всё. Теперь Mail.ru Агент можно запускать.

В-третьих, можно попытаться запустить под Wine любой другой windows-клиент, поддерживающий протокол MRIM. Например, под Wine без всяких доработок прекрасно работает мультипротокольный клиент QIP Infium (http://www.qip.ru).

В-четвёртых, можно организовать гейт через любой линуксовский jabber-клиент, поддерживающий функцию поиска сервисов (например, Psi или Kopete). В этом случае через учётную запись jabber подключается специальный транспорт, соединяющий вас с клиентами Mail.ru Агента. Подробнее о настройке транспорта mrim-jabber можно узнать тут: http://www.jabber.ru в разделе FAQ. Настройка Kopete подробно изложена тут: http://sudouser.com/mailru-agent-v-linux.html.

[Вернуться в начало]

Уменьшение междустрочного интервала в редакторе IDE NetBeans

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

Написана среда разработки NetBeans на java, и поэтому требует для своей работы установленную java-платформу. Проект поддерживается компанией Sun Microsystems, и разрабатывается с использованием платформы java от той-же компании. Так вот — увеличенный интервал появляется в том случае, если используемая с NetBeans java-платформа разработана не Sun Microsystems, а другой компанией.

Проверить наличие нужной платформы в системе можно следующей командой:

sudo update-alternatives --config java

Если в отображённом списке значится /usr/lib/jvm/java-6-sun/jre/bin/java, то она у вас уже установлена. В противном случае для её установки выполните команду:

sudo apt-get install sun-java6-jdk

Теперь от имени суперпользователя открываем файл /etc/netbeans.conf, и в параметре netbeans_jdkhome меняем значение на "/usr/lib/jvm/java-6-sun". Это заставит NetBeans использовать для своей работы родную java-платформу от Sun Microsystems. Величина междустрочного интервала вернётся к нормальному уровню.

[Вернуться в начало]

Как поставить или убрать запрос пароля пользователя при загрузке Ubuntu?

Открываем «Система → Администрирование → Окно входа в систему → Безопасность»

Ставим или убираем галочку «Включить автоматический вход в систему» и выбираем пользователя, который будет загружаться автоматически.

[Вернуться в начало]

Есть ли в Ubuntu пароль суперпользователя?

По умолчанию аккаунт суперпользователя в Ubuntu отключен, и пароль для него не задан. Все операции от имени суперпользователя делаются под первым же созданным пользовательским аккаунтом с использованием команды sudo, которую вводят в терминале в начале строки команды, например: sudo <команда>. На запрос пароля вводится пароль текущего пользователя, который система, кстати, помнит некоторое время, чтобы можно было выполнить несколько команд с sudo не вбивая пароль для каждой из них.

[Вернуться в начало]

Не чистится корзина (Trash). Куда-то исчезло дисковое пространство.

Сначала удостоверяемся, что действительно бесследно пропадает свободное место на диске. Для этого запускаем анализатор использования дисков Baobab. Сканируем файловую систему. Замечаем, что использовано гораздо больше места, чем подсчитано и отображено (порой в несколько раз). Чистка корзины ничего не даёт. При запуске файлового обозревателя nautilus из терминала от имени суперпользователя, при попытке отобразить содержимое корзины — ругается.

Чтобы решить проблему, заходим в nautilus от имени суперпользователя (sudo nautilus) и нажатиями на Shift+Del удаляем папки:

~/.local/share/Trash
/root/.local/share/Trash

А также все папки, начинающиеся на:

/home/.Trash*
~/.Trash*

Теперь снова запускаем Baobab, и убеждаемся, что разница в размерах стала намного меньше.

[Вернуться в начало]

Перемещение папки /home в отдельный раздел

При установке Ubuntu автоматически создаётся два раздела — основной (ext3) и подкачки памяти (linux-swap). Однако в дальнейшем при смене версии дистрибутива желательно предварительно полностью очистить раздел от предыдущей версии, но сохранить личные папки пользователей с их документами и настройками (папка /home). Чтобы в дальнейшем не искать место, куда бы сохранить папку /home, можно сразу создать для неё отдельный раздел. Рассмотрим методику перемещения папки /home на отдельный раздел диска.

  1. Сначала подчистим корзину и с помощью анализатора использования дисков Baobab проверим, не образовалось ли у нас потерянных объёмов. В случае чего устраняем их, как описано в совете «Не чистится корзина (Trash). Куда-то исчезло дисковое пространство». Это даст возможность объективно оценить объём, занимаемый системой и программами, и правильно распределить размеры будущих разделов.
     
  2. Выделим за счёт уменьшения системного раздела, раздел для папки /home. Для этого нам придётся загрузиться с live CD, потому что система не даст изменять размер раздела, на котором стоит сама. Стандартный диск с дистрибутивом Ubuntu как раз является live CD, и предоставляет возможность загрузить с него систему без её установки на компьютер. Загрузившись, запускаем «Система → Администрирование → Редактор разделов», и уменьшаем размер системного раздела (изменение размера происходит без потери записанной на диске информации, но достаточно долго). Расширенный раздел увеличиваем на величину освободившегося пространства (возможно, для этого придётся временно удалить раздел подкачки, не забудьте после восстановления раздела её снова включить «Раздел → Включить подкачку») и создаём новый раздел ext3. Запоминаем название раздела, например: sda5.
     
  3. Перезагружаемся с жёсткого диска и копируем содержимое папки /home на вновь созданный диск командой sudo cp -vax /home/* /media/disk, где /media/disk — путь к новому диску. Копирование с вышеуказанными опциями сохранит права доступа и время у скопированных папок и файлов. По завершении копирования отключаем диск.
     
  4. Открываем папку /dev/disk/by-uuid. В ней перечислены все разделы, имеющиеся на компьютере. Открываем свойства каждого и на основной вкладке смотрим его название после слов «Ссылка на:». Как только оно совпадёт с именем созданного нами раздела (например, sda5), копируем с той же вкладки его имя (uuid) в буфер обмена. Оно должно иметь вид: 7a00cad0-c47e-4a79-8cf4-b050c4d52f47 или что-то подобное.
     
  5. От имени суперпользователя открываем файл /etc/fstab (команда sudo gedit /etc/fstab) и добавляем в него ссылку на наш раздел, которая должна быть вида:

    UUID=7a00cad0-c47e-4a79-8cf4-b050c4d52f47 /home ext3 relatime,errors=remount-ro 0 2

    Нужный UUID вставляем из буфера обмена. Заодно проверим соответствие UUID раздела подкачки (swap), если мы его пересоздавали. Сохраняем и закрываем файл.
     
  6. Полностью удаляем содержимое папки /home и перезагружаемся. При перезагрузке новый диск автоматически подмонтируется к папке /home благодаря новой записи в файле /etc/fstab.

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

[Вернуться в начало]

Запуск Windows под Linux; отказ от отдельной Windows-системы

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

Во-первых, в Linux существует библиотека windows-функций wine, благодаря которой многие windows-программы запускаются прямо в Linux без какого бы то ни было посредничества.

Во-вторых, для Linux существует несколько специальных программ, организующих так называемые виртуальные машины. Визуально виртуальная машина выглядит как окно, в которое можно инсталлировать любую другую операционную систему, в т.ч. и Windows. Такая гостевая система будет ощущать себя в виртуальной машине также, как если бы она была запущена на отдельном компьютере. Cамая, на мой взгляд, удобная из таких программ — это VirtualBox. Ниже дана краткая методика установки и использования этой программы.

  1. Скачиваем последнюю версию VirtualBox: http://www.virtualbox.org/wiki/Linux_Downloads и инсталлируем её согласно приведённой по вышеуказанной ссылке инструкции. Запуск установленной виртуальной машины в Ubuntu осуществляем через «Приложения → Системные утилиты → Sun xVM VirtualBox».
     
  2. Инсталлируем в виртуальную машину VirtualBox гостевую операционную систему, например Windows XP SP3, подмонтировав iso-файл её дистрибутива (или настоящий CD-ROM) в качестве CD-ROM виртуальной машины, и виртуально загрузившись с него. После установки гостевой ОС завершаем её работу и переходим в окно настроек VirtualBox.
     
  3. В VirtualBox устанавливаем для нашей гостевой системы в качестве её CD-привода файл /usr/share/virtualbox/VboxGuestAdditions.iso, и снова запускаем гостевую ОС. В Windows щёлкаем по CD-ROM и проводим инсталляцию дополнений, увеличивающих интеграцию с основной операционной системой. Также можно воспользоваться пунктом меню «Устройства → Установить Дополнения гостевой ОС...» окна гостевой системы.
     
  4. Устанавливаем в гостевую систему необходимое ПО. Замечу, что антивирус Касперского конфликтует с дополнениями гостевой ОС, поэтому в качестве антивируса используем NOD32.

Также в гостевую Windows легко можно установить Photoshop CS4, Dreamweaver CS4, систему локального запуска сайтов Денвер, Delphi 2009 и т.п. Кстати, о Дельфи. Если вам по каким-то причинам надо будет в гостевой ОС нажать некую комбинацию клавиш, выполняющую в Ubuntu блокирование экрана, то переназначьте это сочетание на другое через «Система → Параметры → Комбинации клавиш клавиатуры».

Таким образом, отпадает необходимость иметь на компьютере независимую Windows. Её можно запускать в VirtualBox, и оперативно переключаться между ней и Linux по мере надобности. Вдобавок, не нужно тратить на неё отдельный диск. Можно установить несколько разных версий Windows (поддерживается даже Windows 7), и запускать их одновременно. Есть ещё один плюс — все сетевые соединения из виртуальной машины защищены сетевым фильтром Linux (если он включен и настроен), что даёт дополнительную защиту. Отсюда нюанс — если в гостевой системе какая-либо служба не может получить доступ к сети (например, система WebMoney), проверьте, открыты ли в сетевом фильтре Linux соответствующие порты:

-A OUTPUT -p tcp -m tcp -o ppp0 --dport 2802 --sport 1024:65535 -j ACCEPT
-A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 2802 -j ACCEPT ! --tcp-flags FIN,SYN,RST,ACK SYN

[Вернуться в начало]

Как убрать KDE из Ubuntu

Деинсталляция KDE с удалением настроек выполняется так:

sudo aptitude remove kubuntu-desktop && rm -r .kde

После этого переключаем менеджер дисплеев с kdm на gdm:

sudo dpkg-reconfigure gdm

Нажимаем OK и на втором экране выбираем gdm. Происходит выбор и автонастройка менеджера дисплеев.

Теперь возвращаем прежние заставки загрузки и выключения системы Ubuntu:

sudo update-alternatives --config usplash-artwork.so

Выбираем из списка установленных USplash-экранов тему

/usr/lib/usplash/usplash-theme-ubuntu.so

после чего вводим новую команду:

sudo dpkg-reconfigure usplash

и перезагружаемся.

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

[Вернуться в начало]

Evolution всё время запрашивает пароль, как это убрать?

При получении почты почтовая програма Evolution всё время запрашивает пароль брелока. Брелок — это хранилище различных паролей, которые вы запоминаете в системе. Хранилище в свою очередь запирается отдельным паролём. В этом хранилище Evolution хранит пароли доступа к почтовым pop-серверам. Это дополнительный уровень защиты, предотвращающий кражу сохранённых на компьютере паролей.

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

  1. Вспоминаем все пароли от всех наших ящиков.
  2. Открываем «Приложения → Стандартные → Пароли и ключи шифрования», в открывшемся списке выделяем строчку login и нажимаем кнопку «Удалить брелок» (можно удалить вообще все брелоки, которые там находятся).
  3. Закрываем окно, перезагружаемся, заходим в Evolution и при проверке почты в возникающих окнах вводим пароль для каждого ящика. На предложение ввести пароль брелка не вводим его, но нажимаем сохранить.
  4. Появляется новое окно, в котором подтверждаем наше решение, нажав на кнопку «Использовать небезопасное хранилище».

Всё. Теперь пароли от наших ящиков доступны для Evolution без нашего участия.

[Вернуться в начало]

Не работает пассивный FTP после установки фаервола в Ubuntu

Если после включения файрвола у вас перестаёт работать пассивный FTP, то дело может быть не только в правилах фаервола.

1. В терминале набираем команду:

lsmod | grep ftp

и смотрим, имеется ли в выданном списоке модуль nf_conntrack_ftp. Если модуля нет, или список вообще пуст, то открываем файл /etc/modules и добавляем туда имя этого модуля. Теперь при загрузке системы он будет загружаться автоматически. Этот модуль отвечает за анализ ftp-протокола, что необходимо для правильной работы правил сетефого фильтра. Чтобы не перезагружать систему для загрузки модуля, можем загрузить модуль сразу, командой

modprobe nf_conntrack_ftp

2. Проверяем, разрешён ли протокол FTP в правилах фильтра (где ppp0 - наш сетевой интерфейс):

# Пропускать управляющие команды FTP-соединения (порт 21)
-A OUTPUT -p tcp -m tcp -o ppp0 --dport 21 --sport 1024:65535 -j ACCEPT
-A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 21 -j ACCEPT ! --tcp-flags FIN,SYN,RST,ACK SYN

# Пропускать все tcp-пакеты, которые инициированы из уже установленных соединений.
# (В нашем случае - передача данных ftp-соединения)
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

Если правила у вас хранятся в файле /etc/iptables.rules, можем применить их сразу, без перезагрузки системы, выполнив команду:

/sbin/iptables-restore < /etc/iptables.rules

После выполнения вышеописанных действий, пассивный FTP должен заработать.

В случае, если FTP нужен за NAT, добавляем модуль nf_nat_ftp, и правила:

# Пропускать управляющие команды FTP-соединения (порт 21)
-A FORWARD -p tcp -m tcp -i eth1 -o ppp0 --dport 21 --sport 1024:65535 -j ACCEPT
-A FORWARD -p tcp -m tcp -i ppp0 -o eth1 --dport 1024:65535 --sport 21 -j ACCEPT ! --tcp-flags FIN,SYN,RST,ACK SYN

# Пропускать все tcp-пакеты, которые инициированы из уже установленных соединений.
# (В нашем случае - передача данных ftp-соединения)
-A FORWARD -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

[Вернуться в начало]
[Оставить отзыв в гостевой]
Hosted by uCoz