Журнал LinuxFormat - перейти на главную

LXF102:Ответы

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
м
м (Перенос Home)
 
(не показана 1 промежуточная версия 1 участника)
Строка 115: Строка 115:
 
вас KDE (рабочий стол в Mandriva по умолчанию), откройте окно ''Konqueror'', выберите одну из опций '''Окно > Разделить...''', используйте одну панель для создания и показа директории '''oldhome''' и наберите ''fish://olduser@oldmachine'' в строке адреса другой панели. Там отобразится содержимое старой домашней директории пользователя, из которой вы можете выбрать и скопировать файлы и директории. Выберите '''Вид > Показывать скрытые файлы''' для отображения файлов конфигурации, затем нажмите '''Ctrl+A''' для выбора всего содержимого и '''F7''' для копирования. Еще один файловый менеджер, умеющий использовать FISH-протокол для доступа к файлам на удаленном компьютере – ''Midnight Commander''.
 
вас KDE (рабочий стол в Mandriva по умолчанию), откройте окно ''Konqueror'', выберите одну из опций '''Окно > Разделить...''', используйте одну панель для создания и показа директории '''oldhome''' и наберите ''fish://olduser@oldmachine'' в строке адреса другой панели. Там отобразится содержимое старой домашней директории пользователя, из которой вы можете выбрать и скопировать файлы и директории. Выберите '''Вид > Показывать скрытые файлы''' для отображения файлов конфигурации, затем нажмите '''Ctrl+A''' для выбора всего содержимого и '''F7''' для копирования. Еще один файловый менеджер, умеющий использовать FISH-протокол для доступа к файлам на удаленном компьютере – ''Midnight Commander''.
  
Если вам необходимо регулярно синхронизиpовать директории на двух машинах, я настоятельно рекомендую ''Unison'' (http://www.cis.upenn.edu/~bcpierce/unison), который я использую для синхронизации моего настольного компьютера и ноутбука; но для однократного копирования это будет перебором. [[LXF100-101:Синхронизируем Windows и Linux|См. учебник "Синхронизируем Windows и Linux"]] в этом номере для большей информации об ''Unison''.
+
Если вам необходимо регулярно синхронизиpовать директории на двух машинах, я настоятельно рекомендую ''Unison'' (http://www.cis.upenn.edu/~bcpierce/unison), который я использую для синхронизации моего настольного компьютера и ноутбука; но для однократного копирования это будет перебором. См. [[LXF102:Миграция из Windows|учебник "Синхронизируем Windows и Linux"]] в этом номере для большей информации об ''Unison''.
  
 
===Копирование автоматом===
 
===Копирование автоматом===
Строка 314: Строка 314:
  
 
Скорее всего, подойдут модемы с чипсетами Intel: их драйвера выложены на сайт http://developer.intel.com/design/modems/support/drivers.htm. Выбор дистрибутива не столь важен, так как большинство из них сейчас прекрасно распознают оборудование. Важнее будет их умение работать на старых компьютерах.
 
Скорее всего, подойдут модемы с чипсетами Intel: их драйвера выложены на сайт http://developer.intel.com/design/modems/support/drivers.htm. Выбор дистрибутива не столь важен, так как большинство из них сейчас прекрасно распознают оборудование. Важнее будет их умение работать на старых компьютерах.
[[LXF100-101:Вторая жизнь старого ПК|См. большую статью]] "Вторая жизнь старого ПК" в этом номере для получения подробной информации.
+
См. большую статью "[[LXF102:Вторая жизнь старого ПК|Вторая жизнь старого ПК]]" в этом номере для получения подробной информации.
  
 
Найдя работоспособный модем, в дальнейшем держитесь моделей той же марки, желательно из той же партии, для обеспечения полной совместимости. Хорошим ресурсом для старых, и часто более совместимых, модемов может оказаться eBay, так как многие люди уже давно ими не пользуются.
 
Найдя работоспособный модем, в дальнейшем держитесь моделей той же марки, желательно из той же партии, для обеспечения полной совместимости. Хорошим ресурсом для старых, и часто более совместимых, модемов может оказаться eBay, так как многие люди уже давно ими не пользуются.

Текущая версия на 13:55, 21 марта 2009

Содержание

[править] Ответы

Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru

[править] Разделение диска

В: У меня стоит Ubuntu на 500-ГБ жестком диске (/dev/sda). А раньше был Gentoo, и он мне больше нравится, поэтому я создал новый раздел и установил Gentoo, использовав исходные загрузочный раздел и раздел подкачки. Теперь, запуская Gparted, я имею три раздела: загрузочный /dev/sda1 (198.70 ГБ), корневой /dev/sda3 (261.26 ГБ) и /dev/sda2 (дополнительные 5.80 ГБ) со swap на расширенном /dev/sda5.

Gentoo работает прекрасно, но я потерял Ubuntu на /dev/sda1. Вроде бы я не выполнял форматирование при переразбиении с помощью Gparted, но на диске не было ничего критического, так что я могу все переустановить.

Могу ли я переразбить /dev/sda1, создав отдельный раздел для Ubuntu или какого-нибудь другого, и оставить маленький загрузочный раздел? Какой размер должен быть у загрузочного раздела, и могу ли я использовать один и тот же раздел для обоих дистрибутивов?

Также, можно ли использовать один и тот же раздел подкачки для обоих дистрибутивов? Наконец, изменит ли новая схема разделов схему именования в загрузчике Grub Gentoo?

Джим Куигли [Jim Quigley]

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

Таблица разделов x86 ограничена четырьмя разделами. Мы можем обойти этот лимит, пометив один из разделов как расширенный и создав на нем логические разделы. Изменение размера sda1 оставит свободное место вне расширенного раздела. Bы могли бы сделать это и установить Ubuntu в освобожденное место, и вполне безопасно разделить раздел подкачки между двумя дистрибутивами.

Зато совместное использование /boot более сложно и не является хорошей идеей, особенно в случае Ubuntu, который по умолчанию не использует отдельный загрузочный раздел. Отдельный /boot – это уже анахронизм, ранее применявшийся из-за ограничений старых BIOS, которые могли работать только с небольшими по объему дисками, и загрузочный файл должен был быть в начале диска. Сейчас в этом нет нужды, и я нигде не использую загрузочный раздел.

У вас есть пара вариантов. Лучший с точки зрения дальней перспективы, но более трудоемкий – это сделать резервную копию установленного Gentoo, использовав или второй жесткий диск, или стопку DVD, и переразбить диск с нуля. Так как вы не используете Windows, вам не нужен основной раздел.

Сделав каждый раздел логическим, вы получите весь диск как дополнительный раздел, что даст вам большую гибкость. Затем восстановите Gentoo из резервной копии перед установкой Ubuntu.

Альтернатива – урезать sda1 примерно до 50 МБ и установить Ubuntu на высвободившееся место. В этом случае root в Grub Gentoo все равно останется (hd0,0), но вам нужно изменить параметр root, передаваемый ядру, вероятно, на /dev/sda4.

В обоих случаях, установка Ubuntu заставит Grub использовать его конфигурацию: оно должно подцепить вашу инсталляцию Gentoo и добавить ее в меню. Если нет, вы можете восстановить ваш загрузчик Gentoo и добавить в меню запись для загрузки Ubuntu. Чтобы сделать это, загрузитесь с Gentoo Live CD и запустите следующие команды:

mount /dev/sda4 /mnt/gentoo
# assuming your Gentoo installation is now on /dev/sda4
mount /dev/sda1 /mnt/gentoo/boot
mount --bind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
grub
root (hd0,0)
setup (hd0)
quit
exit

Вы могли встретить многие из них в руководстве Gentoo Handbook – здесь просто выполняются chroot в установленную систему Gentoo и настройка Grub на загрузку с ее раздела /boot. Запустив Gentoo, вы должны отредактировать /boot/Grub/menu.lst, добавив запись для загрузки Ubuntu (скопируйте ее из существующего файла menu.lst Ubuntu).

[править] Обнови меня

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

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

Роберт Кук [Robert Cook]

О: Да, возможность «скользящего обновления» есть в некоторых дистрибутивах. Вероятно, ярчайший пример этого – Gentoo, он даже не имеет текущей версии (версию имеют только инсталяционные диски). Дистрибутив постоянно обновляется до новой версии с выходом новых пакетов программ; в итоге, машина, на которой он был установлен пять лет назад, обновлена так же, как если бы дистрибутив был установлен на прошлой неделе.

Если вам не хватает терпения или неохота изучать Gentoo – Debian и его ответвления тоже могут обновляться на новую версию без переустановки. Если у вас запущена тестовая или нестабильная версия Debian, вы можете получать новые версии пакетов, как только они появятся, тогда как большинство дистрибутивов имеют только обновления по безопасности. Даже если у вас не самая свежая версия, все, что вам нужно при появлении нового релиза – это отредактировать /etc/apt/sources.list и изменить все ссылки на текущий дистрибутив, такие как feisty в Ubuntu и etch в Debian, на новые метки (типа gutsy или lenny соответственно). Затем запустите

sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get dist-upgrade

Это не ошибка: вы должны сделать шаг dist-upgrade дважды, так как некоторые пакеты могут не обновиться при первом запуске, и если они не сде- лают этого на втором запуске, то не сделают никогда.

Для Ubuntu существует более легкий путь обновиться до последнего релиза, выбрав Administration > Update Manager из меню System. Когда появляется новая версия, он говорит вам об этом и предоставляет опции для обновления.

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

Также можно обновиться с установочных дисков типа Mandriva и SUSE, хотя люди по-разному говорят о степени успешности данного занятия, и самым мудрым решением для rpm-дистрибутивов будет создать резервные копии данных и настроек и выполнить установку «с нуля»; очень полезны здесь могут быть отдельные разделы /home.

[править] Двойная загрузка Ubuntu

В: У меня установлена Vista Home Ultimate, и я хочу сделать двойную загрузку с Ubuntu 7.10. В статье http://apcmag.com это выглядит очень простым занятием, и вплоть до ужимания раздела с Vista так оно и есть. У меня сейчас 62.76 MБ неразмеченного места. Перезагрузка с Ubuntu CD стартует нормально – загружается Linux и начинает грузиться Ubuntu; но вскорости картинка портится и пропадает, а CD останавливается.

Единственный способ исправить ситуацию – это выключить и включить компьютер снова, удалив CD. Не сомневаюсь, что ответ на эту проблему очень прост. вы не могли бы просветить меня?

Джефф Магглстон [Geoff Muggleston]

О: Bаша проблема не уникальна: похожее случилось со мной, когда я выполнял установку на старенький ноутбук Fujitsu Siemens. Однако другие системы также показывают чистый экран, прежде чем приступить к загрузке, так что вам, возможно, просто надо подождать пару минут. В любом случае, Vista тут ни при чем. Отмечу также, что незачем изменять раздел Windows: установщик Ubuntu может позаботиться об этом сам – хотя сперва вы должны выполнить дефрагментацию в Windows.

Если ожидание не сработает, вам нужно использовать Alternate CD, который использует текстовый инсталлятор без рабочего стола Live CD. Хотя инсталлятор и текстовый, установленная система будет иметь полноценный графический рабочий стол. Это необходимо тогда, когда Live CD не поддерживает вашу видеокарту. Текстовый инсталлятор также предоставляет больше вариантов для выбора, чем Live CD, и имеет более высокий показатель успешности установки.

[править] Перенос Home

В: Я установил Mandriva 2008 на мой новый компьютер и настроил сеть, так что могу видеть домашнюю директорию на старой машине. Теперь я хочу перенести все на новую машину, включая скрытые и конфигурационные файлы. Меня интересует, как это лучше сделать.

Смогу ли я сделать резервную копию директории /home и переустановить ее на новую машину? Или просто скопировать файлы поверх, что может занять некоторое время?

Mike, с форумов LXF

О: Если сеть поднята и у вас запущена служба SSH на старой машине, самый лучший способ сделать это – использовать rsync. Откройте на новой машине терминал от имени обычного пользователя и запустите:

 rsync -ax olduser@oldmachine:~/ ~/

Замыкающие слэши очень важны. Если имя пользователя одинаково на обоих компьютерах, можете пропустить часть olduser@. Эта команда скопирует все из вашей домашней директории, включая скрытые файлы, и установит корректные права доступа и временные отметки. Даже если Вы применяете разные имена пользователей, или одинаковые имена с разными числовыми ID, rsync обеспечит, чтобы все скопированное принадлежало новому пользователю. В ходе копирования вам не следует работать на старом компьютере, иначе вероятна ситуация, когда какие-нибудь файлы изменятся между начальным сканированием директории и копированием, и тогда rsync завершится с ошибкой. Если у вас на старом компьютере запущен рабочий стол, закройте его перед стартом rsync.

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

mkdir ~/oldhome
rsync -ax olduser@oldmachine:~/ ~/oldhome

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

Это одна из тех работ, которые быстрее делать из командной строки, но как альтернативу Вы можете предпочесть графический интерфейс. Если у вас KDE (рабочий стол в Mandriva по умолчанию), откройте окно Konqueror, выберите одну из опций Окно > Разделить..., используйте одну панель для создания и показа директории oldhome и наберите fish://olduser@oldmachine в строке адреса другой панели. Там отобразится содержимое старой домашней директории пользователя, из которой вы можете выбрать и скопировать файлы и директории. Выберите Вид > Показывать скрытые файлы для отображения файлов конфигурации, затем нажмите Ctrl+A для выбора всего содержимого и F7 для копирования. Еще один файловый менеджер, умеющий использовать FISH-протокол для доступа к файлам на удаленном компьютере – Midnight Commander.

Если вам необходимо регулярно синхронизиpовать директории на двух машинах, я настоятельно рекомендую Unison (http://www.cis.upenn.edu/~bcpierce/unison), который я использую для синхронизации моего настольного компьютера и ноутбука; но для однократного копирования это будет перебором. См. учебник "Синхронизируем Windows и Linux" в этом номере для большей информации об Unison.

[править] Копирование автоматом

В: Я хочу иметь папку в моей домашней директории, которая автоматически бы обновлялась из такой же папки на моем USB-брелке, когда я его вставляю. Если я непонятно выразился, то могу сравнить это с использованием Портфеля в Microsoft Windows. У меня KDE и Ubuntu.

sh2515, c форумов

О: В KDE имеется функция, позволяющая запускать скрипт автозапуска при монтировании съемного устройства. Правда, она нацелена на оптические диски и не работает (пока) с USB-устройствами. Зато, накропав небольшой скрипт, вы сможете сделать это напрямую с помощью udev.

Первым шагом будет установка правил udev для вашего устройства, как было написано в прошлом месяце в Ответах LXF100/101 (вопрос "Блуждающий диск"). Они могут быть установлены для конкретно го USB-брелка, или для всех устройств, имеющих файловую систему FAT (USB-брелки всегда используют ее по умолчанию).

Добавьте в конец правила следующее:

 RUN=”/usr/local/bin/synchome &”

Замыкающий символ &, отделяющий процесс от запущенного скрипта, важен – udev останавливает обработку событий, пока обрабатывается правило, а Вы ведь не хотите, чтобы копирование файлов заблокировало udev.

Теперь вам просто нужен скрипт, делающий за вас всю грязную работу по копированию файлов и использующий rsync, после того как он убедится, что соблюдены все необходимые условия. Сохраните его как /usr/local/bin/synchome (или под тем именем, которое вы дали скрипту в правиле udev) и сделайте его запускаемым с помощью chmod +x /usr/local/bin/synchome.

 #!/bin/sh
 MYUSER=”foo”
 [[ ${ACTION} == “add” ]] || exit
 if ! mount | grep -q ${DEVNAME} then MOUNTPOINT=”/media/$(basename ${DEVNAME})”
    mkdir -p ${MOUNTPOINT}
    mount ${DEVNAME} ${MOUNTPOINT} -o  uid=${MYUSER}
    MOUNTED=1
 fi
 if [[ -d “${MOUNTPOINT}/myfiles” ]] && [[ -d “/home/${MYUSER}/myfiles” ]]
 then
    su - ${MYUSER} -c “rsync -ax
 ${MOUNTPOINT}/myfiles/ /home/${MYUSER}/myfiles/”
 fi
 [[ “${MOUNTED}” ]] && umount
 ${MOUNTPOINT}

Первая строка сохраняет имя пользователя-получателя в переменной – как альтернативное решение, можно было взять имя пользователя из имени директории, содержащей файлы. Далее проверяется, что правило было выполнено, потому что было присоединено устройство. Правила udev запускаются при удалении или добавлении устройства, и переменная окружения ACTION устанавливается в соответствующее значение.

KDE может сам автоматически монтировать новые устройства, так что следующие семь строк проверяют, произошло ли это, а если нет – устройство монтируется. Затем проверяется присутствие вашей специальной директории, названной здесь myfiles, на USB-брелке и в вашей домашней директории, и запускается rsync для копирования всех новых файлов c брелка. Здесь можно использовать множество различных опций, например --delete для удаления всех файлов в ~/myfiles, которых нет на брелке.

Вместо rsync можно также использовать Unison (http://www.cis.upenn.edu/~bcpierce/unison) для двухсторонней синхронизации. Мы применяем su для запуска rsync от имени пользователя – не только потому, что это безопаснее, чем запуск из-под root, но еще и для того, чтобы избежать проблем с правами, когда в вашей домашней директории окажутся файлы, принадлежащие root.

Это только один из примеров: существует множество возможных вариантов. Полезно почитать man-страницы rsync для ознакомления с его опциями, но остерегайтесь всего, что может удалить файлы, особенно если rsync запускается автоматически в фоновом режиме.

[править] Проблемы выбора

В: Наконец, после долгих лет экономии, я накопил на новый компьютер или ноутбук. Единственная проблема заключается в том, что он должен позволять запустить Linux, так что я должен получить исчерпывающую информацию перед финальным рывком. Последние два года я использовал Debian на моем старом компьютере и не подозревал, что столкнусь со следующими «проблемами»:

  • Процессор. Загружать мне 32 или 64-битную версию? С AMD64 все ясно, а вот Core 2 Duo от Intel – 64-битный? Я увидал в Сети, что часть пользователей использует на нем 32-битную версию Linux, и запутался!
  • Графика – от Nvidia или Intel, и какая модель? Большинство виденных мною компьютеров HP используют чипсеты Nvidia Go 6100, Nvidia Go 6150 и Intel X3100. Поддерживаются ли они в Linux?

Предположим, мой новый компьютер будет с Debian (KDE), а старый компьютер уже работает под Debian (Fluxbox); как мне добраться до другого компьютера, подключенного к сети? Как обмениваться файлами между этими компьютерами, когда на них выполнен вход под разными пользователями?

Михал Нг [Michal Ng]

О: Чем больше выбор, тем сложнее решение! Сейчас многие ноутбуки имеют 64-битный процессор – процессор Intel Core 2 Duo 64-битный, а вот Core Duo 32-битный. Похоже, ваш новый компьютер – это надолго, и я порекомендовал бы 64-битную архитектуру. Некоторые люди действительно запускают 32-битную систему на 64-битном оборудовании, в основном по причине желания использовать закрытое ПО, не имеюшее 64-битной версии – но большинство 32-битных программ все равно запускаются на 64-битной системе.

Даже 32-битные модули расширения браузера можно заставить работать в 64-битном браузере с помощью nspluginwrapper (http://www.gibix.net/projects/nspluginwrapper), так что я рекомендую вам использовать 64-битный дистрибутив на 64-битной аппаратуре, если только у вас нет веских оснований сделать иначе.

Графические чипсеты и от Nvidia, и от Intel работают отлично. Nvidia дает большую производительность в 3D, но требует проприетарных драйверов. Чипсеты Intel работают с 3D с помощью драйверов X.Org. Беспроводные чипы Intel, по моему опыту, тоже «просто работают» с Linux. Другие чипсеты сперва внимательно проверьте: одна из основных проблем с ноутбуками на сегодня – совместимость беспроводного оборудования. С настольными машинами эта проблема не столь важна, так как в них почти все взаимозаменяемо. Ноутбуки в этом плане менее гибкие, и рекомендуется проверить их на http://www.linux-laptop.net на совместимость.

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

Перенос файлов между компьютерами можно обеспечить, смонтировав сетевые диски с помощью NFS и Samba, или используя scp для копирования. Поскольку у вас KDE, самый простой способ - набрать

 fish://username:password@ipaddress/путь/к директории

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

[править] В интернет из Mandriva

В: Давно хотел попробовать Linux и вот, по случаю, приобрел Mandriva 2008.0 Free. Установил, попробовал – очень понравилось, хотя немного непривычно по сравнению с также установленной у меня Windows XP. А какая же радость от работы, если нет интернета? Я живу в поселке и выхожу в Сеть через сотовый телефон (Sagem my401x), который подключается к компьютеру через Bluetooth-адаптер Cyber Brand SL-30W. Попробовал следовать инструкциям с форумов, но добился только появления окна с ошибкой

Can’t connect to DBus! Unable to start kbluetooth.
restart dbus and the bluetooth service.

Помогите сделать все по правилам.

Роман Соколов

О В первую очередь, необходимо заново запустить системную службу обмена сообщениями D-Bus. Откройте Центр управления Mandriva Linux, перейдите на вкладку Система > Сервисы и активируйте службу messagebus (в случае необходимости, поставьте также галочку При загрузке, чтобы сервис стартовал вместе с системой). Затем вставьте Bluetooth-адаптер и удостоверьтесь, что утилита kbluetooth запущена (в системном лотке должен отображаться значок Bluetooth, при наведении на него курсора мыши должна появляться информация об адаптере). Если значка нет, запустите kbluetooth из Меню > Утилиты > Системные. Теперь вернитесь в Центр управления, перейдите на вкладку Сеть и интернет и выберите пункт Настройка нового сетевого интерфейса. В появившемся мастере отметьте вариант Коммутируемое соединение по Bluetooth, укажите в списке ваш телефон (если список пуст или вашего телефона в нем нет, удостоверьтесь, что на аппарате включен Bluetooth и возможно его обнаружение другими устройствами), а затем введите APN (имя точки доступа): обычно это internet или internet.название_сотового_оператора, дополнительную информацию можно получить на сайте вашей сотовой компании. Имя пользователя и пароль обычно можно не указывать.

На следующем шаге активируйте пункт Разрешить пользователям управлять соединением (чтобы вам не приходилось вводить пароль root при каждом подключении) и снимите галочку Активировать соединение при входе в систему. Наконец, можно поставить галочку Активировать соединение сейчас и нажать кнопку Завершить. Телефон, вероятно, попросит разрешить подключение и ввести для него пин-код, тот же пин-код надо указать и в появившемся окне на компьютере.

[править] Перевод строки

В: Я часто собираю приложения из исходных текстов, загруженных из репозитория Subversion при помощи TortoiseSVN. Иногда попадаются программы, в которых есть файлы, написанные в Windows, и окончание строки у них соответствующее, что сбивает компилятор с толку. Если пересохранить такой файл с окончанием строки в стиле Unix, все отлично собирается, но их бывает очень много. Можно ли как-то автоматизировать конвертацию большого количества «неправильных» файлов?

Postal

О: Для этих целей существует программа dos2unix, которую можно установить через менеджер пакетов вашего дистрибутива или скачать по адресу http://www.megaloman.com/~hany/software/hd2u/

Пользоваться ею просто:

dos2unix имя_файла

Файлы с окончанием строки в стиле Unix не изменяются, поэтому вполне можно использовать конструкцию вроде

find . -type f -exec dos2unix ‘{}’ \;

для пакетного преобразования всех файлов в текущем каталоге. Вместо -type f можно, конечно, написать -name \*.cpp, подстроив фильтр в соответствии с вашими потребностями.

[править] Палка о двух концах

В: У меня возникла необычная проблема, и я нигде не могу найти ее решения. В некоторых приложениях Qt, при вызове мышью выпадающего списка или меню, невозможно выбрать ни один пункт или вообще кликнуть на что-либо. Работают только клавиши управления курсором на клавиатуре и Escape/Enter. Если нажать одну из них, все переходит в нормальный режим. Эта ошибка постоянно проявляется в KNetDocApp и настройках апплета системного монитора. Из-за чего она может происходить?

Стас

О: Судя по всему, что-то вмешивается в нормальный процесс обработки сообщений Qt. Проверьте, не используете ли вы программ вроде Xneur или датчиков «пробега» мыши. Попробуйте также отключить в Xneur функцию отслеживания мыши – должно помочь.

[править] Доступ ЗАПРЕЩЕН!

В: Несколько месяцев назад я установил Ubuntu с вашего диска (LXF DVD94) на новый Compaq Presario, там уже была установлена Vista. В результате я не смог выйти в интернет. Мне подсказали, что выручит маршрутизатор. Я попробовал Edimax ADSL2+ в проводном режиме, но так и не получил ответа. Узнав, как проверить статус моего интернет-соединения, я ввел в командной строке:

/sbin/ifconfig -a

Мне возвратилось следующее:

eth0 Link encap:Ethernet HWaddr 00:1A:92:B5:69:A1
      inet6 addr: fe80::21a:92ff:feb5:69a1/64
Scope:Link
      UP BROADCAST RUNNING
MULTICAST MTU:1500 Metric:1
      RX packets:38 errors:0 dropped:0
overruns:0 frame:0
      TX packets:340 errors:0 dropped:0
overruns:0 carrier:0
      collisions:0 txqueuelen:1000
       RX bytes:4014 (3.9 KB) TX bytes:37621
(36.7 KB)
      Interrupt:19 Base address:0x2000

Пожалуйста, посоветуйте, что мне делать дальше.

Барри Сьюард [Barry Seward]

О: Совет переключиться с USB-модема на подходящий Ethernet-модем правилен: они работают более эффективно, плюс большинство из них включают маршрутизатор, и вы можете подключить к интернету не один компьютер. Вывод ifconfig показывает только ваше соединение с маршрутизатором, который является мостом между локальной сетью и интернетом. Соединение с модемом и с интернетом – это разные вещи. К несчастью, вывод показывает, что вы не соединены с маршрутизатором – здесь нет поля inet addr:, показывающего ваш IP-адрес.

Убедитесь, что Вы используете DHCP в настройках вашей сети, зайдя в System > Administration > Network, выбрав ваш Ethernet-интерфейс, а затем Properties. Установите здесь Automatic Configuration (DHCP), сохранив все остальное, и соединитесь со страницей администрирования маршрутизатора, набрав http://192.168.2.1 в вашем браузере. У вас спросят имя пользователя и пароль; скорее всего это admin и 1234, если вы их не меняли.

Если страница администрирования маршрутизатора загрузилась, ваша сеть настроена правильно. Теперь надо настроить интернет-часть на маршрутизаторе. Щелкните по ссылке Quick Start, запустите мастер в вашем браузере и введите параметры, которые вам дал ваш провайдер. Если вы не уверены в каких-либо настройках, обратитесь к вашему провайдеру за разъяснениями.

Если мастер почему-либо выдает ошибку, у вас есть два варианта. Первый – использовать компьютер с Windows для запуска мастера (единожды настроенный маршрутизатор будет работать с любой OC); второй – использовать раздел Internet во вкладке Interface Setup.

При правильной настройке компьютера вы сможете запросто подключать к своему интернет-соединению другие компьютеры, до четырех за раз. Если они установлены на использование DHCP, что в большинстве дистрибутивов сделано по умолчанию, никаких настроек больше не потребуется. LXF

[править] * Уговорить OpenVPN

В: В своей работе мы используем виртуальную частную сеть на базе OpenVPN. Я легко подключаюсь к ней из Windows, применяя выданные мне администратором файлы ca.crt, <login>.PFX и ta.key. Хотел бы делать то же самое и из Gentoo Linux, но, увы, не получается – OpenVPN не принимает PFX-файл и упорно желает видеть PEM. Как правильно преобразовать выданные мне реквизиты в этот формат?

Валерий

О: PFX или PCKS#12 – контейнер, содержащий ваш приватный ключ и сертификаты, может использоваться OpenVPN напрямую: для этого нужно просто удалить из файла настройки параметры ca, cert и key, заменив их одним: pcks12 имя_файла.pfx. Если это не поможет, следует извлечь из PFX-файла ваш приватный ключ

openssl pkcs12 -in имя_файла.pfx -clcerts -nocerts -out pr_key.pem

и личный сертификат

openssl pkcs12 -in имя_файла.pfx -clcerts -nokeys -out cert.pem

а затем указать на них OpenVPN обычным образом:

ca ca.crt
cert cert.pem
key pr_key.pem
ta ta.key

[править] * Компьютеры под раздачу

В: Я работаю в Университете Западного Онтарио, Канада, и имею доступ ко множеству старых и сломанных компьютеров, которые я пересобираю и отдаю в благотворительные учреждения.

Раньше я использовал Windows, но это создает проблемы из-за авторских прав. Было бы гораздо легче использовать какую-нибудь операционную систему Linux; но мне нужно, чтобы Linux умел распознавать PCI-модемы, не заставляя искать драйверы в Сети.

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

Рэнди Коллинз [Randy Collins]

О: PCI-модемы – неприятная тема. У большинства внутренних модемов (их еще называют win- [или программными, – прим. перев.] модемами) нет контроллера: на них отсутствует процессор для цифровой обработки сигналов, который есть у нормальных модемов, и всю работу за него выполняет центральный процессор компьютера. Аппаратные модемы, имеющие полноценный контроллер, обычно распознаются как устройства последовательного порта, и их можно использовать так же, как и внешние модемы, без необходимости специальных драйверов.

Они-то вам лучше всего и подойдут, но надо тщательно проверять спецификации для полной уверенности, что данный конкретный модем – аппаратное устройство.

Некоторые win-модемы могут работать в Linux. вы найдете список поддерживаемых моделей на http://www.linmodems.org, вместе с программой, которая идентифицирует чипсет вашего модема и подскажет корректный драйвер.

Определенные марки и модели мы порекомендовать не можем, потому что изготовители иногда меняют чипсет, не меняя маркировку модели. Для пользователей Windows это не критично (кроме разве потенциальной потери производительности), потому что диск с драйверами, поставляемый с модемом, учтет различия.

Скорее всего, подойдут модемы с чипсетами Intel: их драйвера выложены на сайт http://developer.intel.com/design/modems/support/drivers.htm. Выбор дистрибутива не столь важен, так как большинство из них сейчас прекрасно распознают оборудование. Важнее будет их умение работать на старых компьютерах. См. большую статью "Вторая жизнь старого ПК" в этом номере для получения подробной информации.

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

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

[править] Часто задаваемые вопросы. Соединяемся

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

Да. Существует два основных способа сделать это, с различными вариантами в каждом. Первый – это X-проброс (X forwarding), часто это лучшее, когда на обоих компьютерах запущен Linux. Он работает через SSH-соединение, где вы запускаете программу в удаленной оболочке, и она отображается на локальном рабочем столе. Например:

 ssh -X me@my.home.computer
 kmail

Опция -X велит SSH использовать X-проброс.

  • И больше для запуска программы на моем локальном компьютере ничего не надо?

Строго говоря, программа запускается на удаленном компьютере, но отображает свое окно на локальной системе. Bам можете понадобиться редактирование /etc/ssh/sshd_config для установки ‘X11Forwarding’ на ‘yes’.

  • Но так отображается только одна программа. А если я хочу видеть весь рабочий стол? Может ли X-проброс сделать это?

Да, может – открыв новую сессию рабочего стола, которая отобразится на вашей локальной машине.

  • Но если я оставил программу работающей и хочу войти в ее окно, он мне этого не позволит?

Нет, для этого нужна программа доступа к удаленному рабочему столу, как если бы на вашем локальном компьютере был запущен Windows. Наиболее распространенным вариантом здесь является VNC (Virtual Network Computer). Это клиент/серверная система, где VNC-сервер запущен на удаленной машине, а клиент запускается на локальной. На http://www.realvnc.com представлены пакеты для всех популярных ОС. Bы можете получить доступ к рабочему столу Linux с систем Windows или Mac и наоборот.

  • Какое мне нужно ПО?

Какой рабочий стол вы используете? Если KDE, то все что нужно у вас уже есть, так как KDE имеет встроенное программное обеспечение RFB (Remote Frame Buffer). RFB – это протокол, используемый VNC и совместимыми системами. Для других рабочих столов установите пакеты VNC или TightVNC из репозитория вашего дистрибутива.

  • Что лучше: VNC или TightVNC?

VNC – это оригинальная версия, TightVNC (http://www.tightvnc.com) – версия, созданная для использования при малой ширине канала связи, с использованием усиленного сжатия.

  • Ширина канала важна? Можно ли использовать этот метод при модемном соединении?

Отображение графического рабочего стола и его обновление при изменениях на удаленной стороне требуют хорошей ширины канала – модемное соединение не подойдет. Широкополосное соединение возможно, но независимо от скорости вашего входящего ADSL-потока, исходящий поток не может быть больше чем 384 Кбит/с, так что лучше использовать TightVNC. Уменьшение размера экрана и глубины цвета, отказ от украшательств и изображений также поможет снизить объем передаваемых данных.

  • Есть ли альтернативы?

NX (http://www.nomachine.com) – проприетарная система, существенно увеличивающая скорость. Она не является открытой и запускается не на всем поддерживаемом Linux оборудовании, но если то и другое для вас не критично, ее стоит рассмотреть.

[править] Краткая справка про... Tab-дополнение

Существует ряд причин, почему пользователям Linux случается избегать командной строки. Во-первых, надо помнить различные команды; а есть еще такое чувство, что набирать длинные команды и имена файлов гораздо дольше, чем кликнуть мышью на иконке. И если вы «хреновая машинистка», как я, вы рискуете, что после всего этого ничего не заработает, так как что-то введено неправильно.

Хорошая (или плохая, смотря по точке зрения) новость, что обе эти причины не существенны, благодаря одной из самых дружественных функций оболочки – tab-дополнению.

Что такое tab-дополнение? Проще всего объяснить на примере. Предположим, вы захотели прочитать файл – скажем, /usr/share/sane/xsane/doc/sane-xsane-fax-doc.html (этот файл и вправду есть на моем компьютере). Bы открываете браузер и пытаетесь набрать его без ошибок… а можно использовать оболочку и напечатать:

 fire[TAB]/us[TAB]sha[TAB]sa[TAB]x[TAB]d[TAB]sa[TAB]x[TAB]f[TAB]

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

А вдруг совпадают более чем одна команда или файл? Оболочка допишет сколько возможно; если вы нажмете Tab снова, она покажет список всех доступных совпадений. Bы можете затем добавить один-два символа и нажать Tab cнова. Таким способом можно также просмотреть доступные команды.

При грамотном использовании, tab-дополнение повышает скорость и улучшает работу с командной строкой. Некоторые оболочки, например, Bash и Zsh, можно расширить на использование дополнения для других вещей, например, имена машин и аргументы программ, но тут уже нужны новые man-страницы.

Персональные инструменты
купить
подписаться
Яндекс.Метрика