- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF130:Ответы
Материал из Linuxformat.
Ответы
- Есть вопрос по открытому ПО? Пишите нам по адресу [maito:answers@linuxformat.ru answers@linuxformat.ru]
1 Экраны в экранах
В Иногда мне требуется пользоваться командой runlevel 3. Поскольку я делаю это из Konsole, мне, к сожалению, приходится открывать множество терминальных сеансов. Не подскажете ли вы какой-нибудь более изящный способ?
Мохд Ридзуан Бистами [Mohd Ridzuan Bistami]
О Подходящая Вам программа называется Screen. Это стандартный инструмент GNU, и он должен иметься в репозиториях Вашего дистрибутива. Screen можно назвать оконным менеджером для терминалов или виртуальным терминалом. Запустите эту программу из терминала; помимо них, она работает и в виртуальной консоли или X-терминале, и на вид ничего не произойдет. Но на самом деле Ваш терминальный сеанс заменится сеансом Screen; он выглядит так же, как терминальный, и разницы Вы не ощутите, пока не освоите магические трюки этой программы. Запустите команду вывода какой-нибудь информации – допустим, ls – и нажмите комбинацию клавиш Ctrl+A, затем C. На первый взгляд Вам покажется, что терминальный вывод исчез, однако это заблуждение: Вы просто создали новое окно Screen. Запустите какуюнибудь команду и здесь – скажем, top – и нажмите клавиши Ctrl+A, а затем – Shift+N. Вывод команды top исчезнет, и вместо него появится вывод команды ls. Чтобы переключиться обратно, снова нажмите клавиши Ctrl+A N.
При запуске, Screen открывает единственное окно – в нем вы давали команду ls. Комбинация Ctrl+A – командная последовательность Screen: клавиша, нажатая вслед за ней, воспринимается как команда. Клавишей C создается новое окно, клавиша N переключает на следующее окно, а цифры от 0 до 9 перенесут Вас в окно с соответствующим номером. Итак, Вы создали новое окно, запустили в нем команду, а потом переключились между двумя окнами. Закрывается окно Screen точно так же, как обычный сеанс терминала: командой logout или нажатием комбинации Ctrl+D. После закрытия последнего окна завершится и сама программа.
Первое, что я делаю в Screen сразу же после его установки – добавляю следующие строки в конец файла /etc/screenrc:
# Заголовок в последней строке caption always “%{= kw}%w%{= BW}%n%t%{}%+w %= @%H %LD %d %LM %c”
Эти команды добавляют в нижнюю часть всех окон Screen строку состояния, отображающую список окон и имя хоста (что полезно при запуске Screen через SSH). Опции можно помещать в файл /etc/screenrc или в пользовательский файл .screenrc. Помимо прочего, Вы можете изменить комбинацию, переводящую в командный режим, если Вам не по душе клавиши Ctrl+A.
Screen предлагает куда больше возможностей, чем простое создание двух терминалов в одном окне. Например, запустите команду и, не дожидаясь ее завершения, нажмите клавиши Ctrl+A D – Screen закроется. Теперь запустите Screen снова, на сей раз с опцией повторного прикрепления [reattach]:
screen r
Вы снова увидите свой сеанс Screen, где будет работать все та же команда. Данная возможность невероятно полезна при работе с SSH. Например, можно зайти из офиса на домашний компьютер, начать закачку чего-то большого и выйти из Screen; а загрузка будет продолжаться.
Еще одна удобная для Вас опция – разделение экранов. Она включается клавиатурной комбинацией Ctrl+A, затем Shift+S. Ваш открытый сеанс screen со всеми его окнами отъедет в верхнюю половину терминального окна, а нижняя опустеет. Нажатие Ctrl+A Tab переведет Вас в пустую область; нажмите клавиши Ctrl+A C и создайте в ней новое окно. У Вас будет два терминала, видимых одновременно; например, с командой tail -f можно просматривать файл журнала и одновременно запускать команды. Man-страница Screen объясняет использование этих и многих других опций данной программы. НБ
2 Частный DNS-сервер
В В моей домашней сети несколько компьютеров. Как создать частный сервер DNS для поддержки фиктивного домена? Вместо запоминания IP-адресов, я хотел бы обращаться к моим компьютерам по именам наподобие larry.mydomain.home, sally.mydomain.home и т. п. У меня есть выделенный Linux-сервер с Ubuntu 9.10 Server Edition. Сейчас я использую его как сервер для резервного копирования, и на нем работает BackupPC (как было описано в LXF125).
Джейсон Ли [Jason Li]
О Программа, которая Вам нужна, называется Dnsmasq (http://www.thekelleys.org.uk/dnsmasq/doc.html). Хотя в различных DNS-серверах недостатка не ощущается, данный вариант предназначен именно для той цели, которую Вы себе поставили. Его легко установить, он надежен (я сам много лет пользуюсь им в своей сети) и входит в состав большинства дистрибутивов Linux, включая Ubuntu. Dnsmasq работает как сервер, кэширующий имена, и не требует сложной процедуры настройки полномерной службы доменных имен (в отличие от Bind).
В простейшем варианте, программа требует информации из двух файлов: /etc/resolv.conf и /etc/hosts. Первый сообщает, где искать вышестоящие DNS-серверы, и уже предоставляет корректные сведения, если Ваш сервер подключен к Интернету. Файл /etc/hosts содержит список имен хостов, их псевдонимы и IP-адреса. Именно так Вы и настраивали бы имена хостов в локальной сети, но благодаря Dnsmasq достаточно поддерживать этот файл только на сервере. Формат данного файла – по строке на хост, наподобие адрес имя псеводнимы Например, с учетом ваших имен выйдут такие строки:
192.168.1.1 larry.mydomain.home larry 192.168.1.2 sally.mydomain.home sally mail.mydomain.home
Вместо основного доменного имени допускаются псевдонимы, и в данном примере Вы можете обращаться к larry.mydomain.home по имени larry, а на компьютер sally.mydomain.home ссылаться как на mail.mydomain.home. Использование доменных имен в соответствии с выполняемыми задачами упрощает организацию и настройку сети. Например, если Вы решите использовать в качестве почтового сервера другой компьютер, потребуется изменить файл hosts только в одном месте, а не переконфигурировать почтового клиента на каждой из машин.
Доменному имени совершенно не обязательно быть фиктивным, так как чтение из файла /etc/hosts производится до обращения Dnsmasq к серверам имен, перечисленным в /etc/resolv.conf. Поэтому Вы можете использовать доменное имя, существующее где-либо еще, и пользователи Вашей сети получат нужный адрес из /etc/hosts. Останется только настроить все остальные компьютеры на использование вашего нового DNS-сервера.
Это простейшее из применений Dnsmasq. Ваша жизнь еще упростится, если Вы воспользуетесь встроенным в Dnsmasq сервером DHCP. Когда одна и та же программа присваивает IP-адреса и обслуживает их для других компьютеров, уже незачем отслеживать все адреса всех компьютеров – можно обойтись их именами. Большинство дистрибутивов по умолчанию настраивают сеть на использование DHCP и отправляют имя хоста в составе этого запроса, так что новый компьютер не нужно настраивать: достаточно добавить строку в конфигурационный файл Dnsmasq. Но так как этот файл при обновлении системы может быть перезаписан, лучше отредактировать файл /etc/dnsmasq.conf, сняв символ комментария с последней строки:
conf-dir=/etc/dnsmasq.d
После этого можно добавить в какой-нибудь файл, расположенный в указанном каталоге, примерно следующее:
domain=mydomain.home dhcp-host=larry,192.168.1.1,infinite
Первая строка потребуется только один раз. Она задает домен, добавляемый ко всем именам хостов DHCP. Вторая строка выделяет IP-адрес 192.168.1.1 компьютеру larry на неограниченный срок. Кроме того, можно указать MAC-адрес сетевой карты компьютера. Определите его, скомандовав sudo ifconfig и найдя в выводе команды поле HWaddr.
Преимущество данного подхода в том, что адрес и имя хоста для этого компьютера сохраняются неизменными, сколько бы разнообразных дистрибутивов Linux (или даже Windows) Вы на нем ни установили. Формат команды –
dhcp-host=01:23:45:67:89:AB,192.168.1.1,larry
Три поля, разделенные запятыми, задают MAC-адрес, IP-адрес и имя хоста. Если у Вас много компьютеров и Вам требуются напоминания, кто есть кто, добавьте после команды dhcp-host строку txt-record в следующем формате:
txt-record=larry,My desktop computer
Первое поле – имя хоста, а второе задает описание, выводимое в ответ на DNS-запрос txt. Например, если Вы забыли, для чего у вас компьютер larry, дайте такую команду:
dig +short larry txt
Она освежит Вашу память! MC
3 Слияние AVI-файлов
В У меня есть несколько видеофильмов в формате AVI, порезанных на несколько файлов поменьше. Как объединить эти файлы в один AVI? Пытался применить для этого Cat, но полученный файл воспроизводится только до конца первой части.
Джон Уотсон [John Watson]
О Видеоролики AVI содержат в самом начале файла, перед собственно кадрами, данны е офайле: его разрешение, частоту кадров и длительность. Соединив файлы, Вы оставили заголовок первой части без изменений, потому-то и не можете просмотреть весь новый файл целиком. Иногда для слияния файлов рекомендуют применять программу avimerge, но тогда случаются проблемы синхронизации звука и видео. Еще один недостаток этой программы – допускается только формат AVI. Существует лучшее решение – Mencoder, часть пакета MPlayer. Mencoder отлично работает и принимает файлы и других форматов, например, MPEG и OGG. Для объединения нескольких файлов дайте следующую команду:
mencoder -forceidx -oac copy -ovc copy -o movie.avi movie1.avi movie2.avi ...
Опция -forceidx велит Mencoder перестроить индекс и метаданные файла. Две следующие дают указание передавать аудио и видео без изменений (oac и ovc означают выходной аудио- и видеокодек, соответственно), а copy – естественно, копирование. Затем идет имя результирующего файла, а за ним – список объединяемых файлов. НБ
4 Изменение раздела LVM
В Спустя много лет пользования другими дистрибутивами, вернулся к Mandriva. И я потрясен! Но из-за небрежности при установке я получил смехотворно маленький раздел, и теперь мне не хватает места. Не проблема, подумал я: ведь я предусмотрел LVM, и теперь просто увеличу пространство для корневого раздела. Однако обнаружилось, что диск разбит на разделы следующим образом:
sda1 -MESH rescue partition sda2 -Windows 7 NTFS sda3 -boot partition ext4 sda4 -LVM (containing root, home and swap volumes)
За ними следует огромный кусок пустого, свободного места. Мне очень нужно изменить размеры раздела LVM, чтобы заполнить весь диск и получить возможность выделять логические тома. Просто создать новый раздел и добавить его как дополнительный физический том я не могу, так как Mandriva уже исчерпала запас первичных разделов. Я не враг командной строки, но не хотелось бы угробить таблицу разделов, если что-то пойдет не так.
cmcevoy, вопрос с форумов
О Неприятно, что Mandriva по умолчанию выбрала использование первичного раздела, мешая Вам создать новые, но изменить размеры существующего раздела вовсе не сложно. Рискну предположить, что свободное пространство располагается за концом sda4. Если начало раздела останется на прежнем месте, можно удалить раздел, а потом создать новый, побольше, не затронув его содержимое. Фактически, содержимое останется в неведении и будет «считать», что раздел имеет прежние размеры.
Чтобы изменить раскладку разделов, потребуется загрузиться с дистрибутива Live CD. Для манипулирования разделами я применяю cfdisk – эта команда дает более четкое представление информации по сравнению с fdisk; но Вы можете взять любое приложение по Вашему вкусу. Удалите раздел sda4, но не сохраняйте внесенных изменений. Затем создайте новый раздел, который заполнит все свободное дисковое пространство – ту область, которая ранее не использовалась, плюс область, которая ранее была занята sda4; после этого сохраните таблицу разделов.
Теперь перезагрузите Mandriva и убедитесь в том, что LVM по-прежнему работает. Запуск vgs и pvs покажет, что ничего не изменилось. Нужно только изменить размеры физического тома, чтобы они соответствовали новым размерам раздела, командой
pvresize /dev/sda4
Все это делается от имени root. После завершения свободное пространство будет доступно Вашей группе томов. Запуск vgs в терминальном сеансе покажет, что объем свободного пространства увеличился. ПХ
5 Два диска в деле
В У меня есть старый компьютер с двумя дисками SATA объемом по 500 ГБ и привод DVD-RW. Бывший владелец установил на нем Ubuntu Server 7.04. Мне хотелось бы создать новую инсталляцию 9.10. Как разбить два диска, имеющихся на этом компьютере? Во-вторых, хотелось бы получить совет по настройке rsync, чтобы резервное копирование данных с первого диска выполнялось на второй. Данные на первом диске будут резервными копиями содержимого двух других компьютеров, подключенных к моей сети (на одном из них 64‑разрядная Windows Vista, а на другом — Linux Mint 8), желательно выполненными BackupPC, как описано в LXF125.
Рональд Зек [Ronald Zec]
О Спросив 10 экспертов по Linux о том, какая схема разбиения на разделы лучше, Вы, скорее всего, получите 10 разных ответов. Если Вы хотите использовать второй жесткий диск для резервного копирования содержимого первого, то все должно быть установлено на первом диске. На сервере большая часть данных хранится в каталоге /var, но для BackupPC нужен отдельный раздел. Если Вы не запускаете рабочий стол и все ассоциированное с ним ПО, то Ваш корневой раздел не обязательно должен быть большим.
Основное решение, которое Вам нужно принять на данном этапе – сколько пространства выделить файлам и сколько – BackupPC. В качестве отправной точки неплоха такая конфигурация:
/ 8GB swap 2GB /var 200GB /var/lib/BackupPC 290GB
Обратите внимание, что когда Вы назначите схему разбиения диска на физические разделы, изменение этой конфигурации в будущем займет много времени. По этой причине рекомендуется использовать Logical Volume Management (LVM) и разбить диск так, чтобы его единственный физический раздел был поделен на виртуальные тома. Каждый том можно сделать достаточным для Ваших текущих потребностей, а остальное пространство физического раздела оставить невыделенным. Затем, решив, что одна из Ваших файловых систем требует большего объема дискового пространства, Вы сможете просто увеличить ее размер. Инсталлятор Ubuntu Server дает возможность включить LVM в процессе установки системы.
Если Вы хотите использовать второй диск для резервного копирования, неплохо будет настроить его идентично первому. Тогда при отказе первого диска Вы сможете подменить его вторым. Установите для второго диска те же файловые системы, но смонтируйте их под другим именем, например, /backup. После этого Вы сможете создать резервные копии файловых систем /var и BackupPC с помощью следующих команд:
rsync -ax --delete /var/ /backup/var/ rsync -ax --delete /var/lib/BackupPC/ /backup/ var/lib/BackupPC/
Однако эта система не идеальна. Например, она не поможет, если Вы удалите не тот файл и не догадаетесь об этом до того, как выполните очередное резервное копирование. Альтернативный вариант – применять утилиты вроде rdiff-backup, они позволяют восстанавливать более старые версии файлов. Но если Вы пользуетесь BackupPC, лучше применять ее для резервного копирования всего содержимого диска, а затем использовать rsync для переноса на другой диск.
При выполнении резервного копирования на другой диск на том же самом компьютере следует иметь в виду еще несколько фактов. Факт первый: аппаратный сбой, особенно блока питания, выведет из строя оба жестких диска. Гораздо безопаснее использовать диск, подключенный к любой другой точке, хотя бы к порту USB на том же компьютере. Факт второй: всегда найдутся люди, которые завопят о применении RAID. Но RAID – не альтернатива резервному копированию, а просто другой способ защиты. Так или иначе, если Вы все же собираетесь использовать два внутренних жестких диска и синхронизировать их, RAID действительно обеспечивает уровень защиты, аналогичный тому, что Вы получаете при частой синхронизации, если для резервного копирования применяется BackupPC.
На основании того, что Вы рассказали, я бы разместил операционную систему и данные – предпочтительно с использованием LVM – на первом диске, и применял бы BackupPC для резервного копирования на второй. НБ
6 Экранное разрешение
В Я использую три компьютера, подключенных к переключателю KVM (не гипервизору!), и они хорошо работают с Windows XP, а также с Ubuntu 9.04 и более ранними версиями. А вот с Ubuntu 9.10 и Fedora 12 возникла проблема (Fedora 12 я попробовал в надежде ее решить). Создается впечатление, что ни один из этих новых дистрибутивов не умеет читать блок EDID, и экранное разрешение не установить выше чем 800 × 600. Файла xorg.conf нет, и я сгенерировал его следующей командой:
Xorg -configure :1
Эту рекомендацию я нашел в LXF117. Кроме того, я попробовал пользоваться Modeline, как было описано в указанном номере журнала, но X-сервер перестал запускаться, и Modeline пришлось удалить. Попытался добавить следующие строки в раздел «Screen»:
SubSection “Display” Modes “1280x800” EndSubSection
— но они, похоже, были проигнорированы. Как добиться, чтобы X-сервер работал с высокими экранными разрешениями, если он не читает EDID (через переключатель KVM) и игнорирует настройки в xorg.conf?
Роб Соломон [Rob Solomon]
О X-сервер игнорирует заданные Вами настройки, так как думает, что Ваш монитор не поддерживает разрешения выше 800 × 600. Быстро решить проблему поможет грубый трюк: подключите монитор напрямую к компьютеру и проверьте, может ли он читать информацию EDID и корректно настраивать дисплей. Затем дайте команду sudo X -configure Она запишет существующую работоспособную конфигурацию в файл /root/xorg.conf. Проверьте, что эта конфигурация работает – выйдите из X, войдите в виртуальную консоль и дайте команду
sudo X -config /root/xong.conf
Если это сработает, скопируйте файл /root/xorg.conf в /etc/X11, и Вы получите работоспособную конфигурацию, где вся необходимая информация находится в xorg.conf, а читать данные EDID с самого монитора будет незачем.
Повторите эту процедуру для каждого компьютера, затем переподключите их через KVM.
7 Софт-модемы и ВМы
В Я купил новый компьютер и установил на него Mandriva 2010, Linux Mint 7 и Windows XP. Однако его программный модем [softmodem] Agere Systems PCI не работает в Mandriva 2010. Я как-то возился с настройкой такого модема при установке Linux, но это было несколько лет и пару компьютеров тому назад, и я ничего не помню, кроме того, что для определения чипсета запускалась специальная программа, а после загрузки драйвера пришлось «покувыркаться» с командной строкой. Не могли бы Вы подсказать мне направление, куда двигаться? Я работаю в Папуа, Новая Гвинея, у меня очень медленное модемное соединение, очень высокие расценки на скачивание, и я не хотел бы долго раскапывать эту информацию в Web.
Еще одна проблема — я пользуюсь VirtualBox, но не могу организовать общий доступ к данным на моей виртуальной машине Windows XP в установленных дистрибутивах Linux. Нельзя ли как-нибудь скопировать файлы на общий раздел?
USB на VirtualBox тоже не работает, так что файлы не переместить и таким путем. Как активизировать USB?
Дэрил Брентон [Daryl Brenton]
О Местом Вашей «первой остановки» должен быть сайт http://linmodems.org: там описано все, что необходимо знать об использовании программных модемов, известных также под названием «модемов Windows» [winmodems]. Сайт ориентирован на пользователей, выходящих в Интернет по коммутируемым каналам, он мало использует графику, и должен загружаться очень быстро. На нем имеется прямая ссылка для скачивания утилиты ScanModem – скорее всего, это и есть нужный Вам инструмент: http://132.68.73.235/linmodems/index.html#scanModem. Коммутируемый доступ и медленный, и стоит дорого; попробуйте вариант с широкополосным мобильным доступом 3G. Даже при мобильном сигнале среднего качества Вы получите производительность выше, чем у телефонного соединения, и это будет более рациональным вложением средств. Большинство провайдеров используют один и тот же тип модема (Huawei), разве что иногда с другой надписью, и Linux поддерживает эти устройства вполне прилично.
По второму вопросу: виртуальные машины отделены от операционной системы машины-хоста, и обычно не имеют прямого доступа к дискам компьютера или других виртуальных машин. Однако в сети они видятся как самостоятельные компьютеры; поэтому лучше всего предоставить в общий доступ Ваш системный раздел Windows XP (обычно – диск C:). Щелкните правой кнопкой мыши по значку Мой компьютер [My Computer] и выберите из меню команду Общий доступ [Sharing], а затем примонтируйте этот диск в хостсреде Linux. Большинство дистрибутивов Linux и вариантов рабочего стола имеют обозреватель, позволяющий обнаруживать тома Windows, предоставленные в общий доступ, и монтировать их с других компьютеров, расположенных в Вашей сети.
Общий доступ, организованный таким образом, должен работать без добавочного ПО. Но чтобы сделать то же самое из Linux-хоста для гостевой операционной системы Windows, потребуется установить и сконфигурировать на Linux-хосте Samba. Соответствующий учебник можно найти в LXF117.
Наконец, VirtualBox позволить Вам активизировать и использовать устройства USB, но только если у Вас есть двоичный вариант сборки – поддержка USB была исключена из версии с открытым кодом. Проверьте, какой вариант дистрибутива установлен у Вас, потому что, возможно, придется удалить его и заново установить из другого источника. Это может быть другое имя пакета, другой репозиторий или версия, доступная для загрузки с сайта http://www.virtualbox.org/wiki/Downloads. MС
8 Дистрибутивы не равны
В Внастоящий момент я осваиваю Linux, и мне очень нравится экспериментировать с разными дистрибутивами. Недавно я без всяких проблем создал на своем ноутбуке конфигурацию с двойной загрузкой — Windows 7 и Linux Mint, и все работало замечательно. Прочитав обзоры в вашем журнале, я решил попробовать OpenSUSE и установил этот дистрибутив поверх Mint. Но, похоже, на моем ноутбуке (Dell Latitude D531, довольно распространенная модель) нет драйверов беспроводной сети. Попытка поисков в Интернете тоже оказалась неудачной. Выходит, старая версия Mint работает хорошо, а вот новая хваленая версия OpenSUSE — нет. Правильно я понимаю?
А если да, то в чем дело — я думал, что основная идея была в том, чтобы абсолютно все было открытым и свободно доступным. Так почему парни из команды OpenSUSE не приложили рук к вещам, которые существуют давно, известны всем и считаются полезными? Конечно, можно вернуться обратно к Mint (не исключено, что так я и поступлю), но не дадите ли вы мне какой-нибудь совет, пока я не принял окончательное решение?
Роб Дэйвенпорт [Rob Davenport]
О Одна из причин, по которым не все дистрибутивы поддерживают одно и то же оборудование, кроется в доступности драйверов и условиях лицензирования. Поставщики крупных коммерческих дистрибутивов, к которым относится и SUSE, должны соблюдать осторожность, включая что бы то ни было в состав системы. Если драйвер не абсолютно свободен (т.е. не является открытым и имеет ограничения на распространение), они могут не поместить его в репозиторий. Именно поэтому Linux Mint имеет две версии: одну – для загрузки, и вторую, несколько более ограниченную – для коммерческого распространения.
Загружаемая версия содержит ПО, которое может быть не полностью свободным – а то и нелегальным в стране вашего проживания. То же относится и к таким вещам, как воспроизведение зашифрованных DVD или даже файлов MP3. Хотя дистрибутивы и не включают необходимых файлов непосредственно, они обычно доступны из дополнительного репозитория через менеджер пакетов конкретного дистрибутива.
В Вашем случае, скорее всего, проблема в беспроводной сетевой карте Broadcom BCM94311MCG. Для проверки запустите в терминале от имени root команду lspci. Хотя ядро включает драйвер b43 для этого устройства, ему также необходим файл прошивки, а тот в состав дистрибутива по названным причинам не входит. Чтобы решить этот вопрос, подключите свой компьютер к сети с помощью кабеля Ethernet, откройте терминальный сеанс и дайте команду
sudo /usr/sbin/install_bcm43xx_firmware
Файл прошивки загрузится и установится. Возможно, для появления беспроводного подключения придется перезагрузиться. ГМ
9 Окно в Интернет
В На моем компьютере установлена 64-битная ОС Ubuntu 9.04 и виртуальная машина VirtualBox, в которой работает ОС Windows XP SP2. На компьютере с Ubuntu есть подключение к Интернету. Как средствами Ubuntu соединить два сетевых интерфейса (виртуальный vboxnet0 и реальный eth0) в сетевой мост, чтобы Интернет был и в Windows XP? Есть ли другой вариант попроще?
Rewer8
О Разумеется, есть: Вам просто нужно выбрать в качестве типа виртуального сетевого интерфейса VirtualBox (Сеть > Тип подключения) «NAT». В результате Windows в гостевой машине окажется примерно в такой же ситуации, как настоящий домашний компьютер за WiFi-маршрутизатором.
Организовать мост также нетрудно: для этого нужна команда brctl, обычно входящая в состав пакета bridge-utils. Создайте мост командой sudo brctl addbr br0, затем добавьте в него интерфейсы (sudo brctl addif br0 eth0 и sudo brctl addif br0 vboxnet0). Переведите сетевые интерфейсы в неразборчивый [promiscuous] режим командами sudo ifconfig имя_интерфейса 0.0.0.0 promisc up и настройте br0 как обычную сетевую карту. Однако в большинстве случаев NAT будет оптимальным решением. Единственная ситуация, с которой он не справится – это предоставление прямого интернетдоступа к сервисам в виртуальной копии Windows XP, что само по себе не лучшая идея. ВС
10 Как использовать телефон под управлением Android в качестве модема 3G?
В У меня есть мобильный телефон, работающий под управлением Android, и «безлимитный» пакет 3G. Как я могу этим воспользоваться, чтобы подключить свой ноутбук к Интернету и не переплачивать за другой пакет и 3G-модем?
Мартин Уэллс [Martin Wells]
О Большинство смартфонов умеют работать модемами; обычно для этой цели требуется соединение через USB или Bluetooth. В стандартной системе Android это невозможно, потому что для этого необходим доступ с привилегиями root. Однако доступ с привилегиями root к телефону Android можно получить без особых проблем, как показывает быстрый поиск в Web. Единственное, о чем умалчивают web-страницы – это проблемы с безопасностью изза полного доступа root ко всем приложениям, работающим на телефоне. Серьезно подумайте, то ли это, что Вам нужно, потому что существует и альтернатива: программа Proxoid, которая превращает Ваш телефон Android в проксисервер Web. Набор разработчика Android (Developer Kit) содержит ПО для отправки TCPзапросов на телефон через USB-кабель.
На своем телефоне установите Proxoid через Android Market. Чтобы телефон поддерживал связь с компьютером через USB, надо активизировать отладку USB. На домашнем экране выберите команды Меню > Настройки > Приложения > Разработка [Menu > Settings > Applications > Development] и включите опцию Отладка USB [USB debugging]. Затем запустите и активизируйте Proxoid. На компьютере, чтобы он распознал Ваш телефон, нужно выполнить настройку: подключите устройство через USB, скомандуйте sudo lsusb и поищите запись для своего телефона (если Вы не уверены, запустите команду дважды: при подключенном и отключенном телефоне).
Вы увидите идентификатор (ID); за ним идут два шестнадцатеричных числа – идентификаторы производителя и продукта. Так, у нас это были
Bus 001 Device 003: ID 22b8:41db Motorola PCS
Затем создайте файл /etc/udev/rules.d/11-android.rules от имени root и добавьте в его состав следующую строку:
SUBSYSTEMS==”usb”, SYSFS{idVendor}==”22b8”, SYSFS{idProduct}==”041db”, MODE=”0666”, OWNER=”ваше_имя_пользователя”
Замените эти коды на соответствующие Вашему телефону и укажите свое имя пользователя. Теперь при подключении телефона владельцем узла устройства, создаваемого udev, будете Вы.
Затем потребуется установить Android SDK. Если он есть в репозитории Вашего дистрибутива, добавьте его стандартным образом; если нет, загрузите пакет с адреса http://develoPer.android.com/sdk – это файл .tar.gz. Распакуйте ПО гденибудь в пределах Вашего домашнего каталога, запустите терминал, перейдите в каталог android-sdk-linux_86/tools и дайте команду ./adb forward tcp:8080 tcp:8080 Запрос на TCPсоединение будет перенаправлен через порт 8080 компьютера на порт 8080 телефона, где по умолчанию работает Proxoid (при желании, эту настройку можно изменить средствами Proxoid). Теперь остается только настроить Ваш браузер для использования прокси-сервера на порту 8080 локального хоста, после чего все его запросы будут проходить через телефон. Когда Вам потребуется переключиться обратно на обычное интернет-соединения, просто отключите прокси в Вашем браузере.
Шаг за шагом: Настройка модема Android
- 1 Установка Proxoid
- Первый шаг – установка приложения Proxoid. На своем телефоне найдите Proxoid в репозитории Android Market и установите его.
- 2 Активизация отладки USBэээ
- Далее, выберите на телефоне опции Applications > Development и активизируйте отладку USB.
- 3 Настройка udev
- Перейдите на свой компьютер и воспользуйтесь командой lsusb, чтобы найти идентификаторы вашего телефона. Затем создайте правило udev, чтобы распознать его при следующем подключении.
- '4 Установите SDK
- Воспользуйтесь менеджером пакетов либо возьмите tar-архив и распакуйте в удобном месте (точное местоположение роли не играет).
- 5 Настройка браузера
- Настройте браузер так, чтобы в качестве прокси-сервера использовался localhost:8080, но вашу локальную сеть отсюда следует исключить.
- 6 Настройка Proxoid
- Параметры по умолчанию вполне годятся, однако Proxoid можно и перенастроить – например, указав для прослушивания другой порт.
Часто задаваемые вопросы rsync и Unison
- Что это за программа rsync, о которой все болтают?
- Это способ синхронизации содержимого двух директорий, причем обе будут полностью идентичны.
- А что, нельзя применить для этого cp?
- cp копирует все подряд. rsync – только те файлы, которые различаются. Если изменились большие файлы, копируются только измененные части.
- Как ею пользоваться?
- rsync archive delete /путь/к/источнику/ /путь/к/назначению/ создаст точную копию первой директории во второй. Параметр delete удаляет файлы, которых нет в первой директории, а archive копирует также права доступа и временные отметки. Замыкающие слэши важны для rsync: они указывают, что вы хотите синхронизировать содержимое директорий. Без слэшей программа просто скопирует одну директорию в другую.
- Можно ли синхронизировать директории разных компьютеров?
- При наличии SSH-доступа к web-серверу, можно сделать так:
rsync archive delete имя_сервера:/путь/к/сайту/
- Если один из путей или оба содержат имя компьютерахоста, rsync использует для передачи удаленную оболочку. По умолчанию это SSH, но можно заменить ее любой другой.
- Что если я изменю файлы на двух компьютерах и захочу обновить оба?
- Вам необходима программа, разработанная специально для этой цели, например, Unison (http://www.cis.upenn.edu/~bcpierce/unison/). Unison использует rsync и SSH, так что вы сохраните все вышеперечисленные преимущества; но при этом предназначается для двусторонней синхронизации. Если вы изменили несколько файлов на одном компьютере и еще несколько на другом, то Unison гарантирует, что на каждом компьютере у вас будет храниться новейшая версия.
- А если я отредактирую один и тот же файл на обоих компьютерах?
- Unison не может читать ваши мысли и определять, какую версию вы хотите сохранить. Но программа сообщит вам, что изменились оба файла, и спросит, какую из версий вы хотите использовать.
- Небось надо заучить сотни опций командной строки?
- Да, надо. Или пользуйтесь графическим интерфейсом. Он нужен только на компьютере, инициирующем передачу, поэтому вы попрежнему сможете применять программу для синхронизации с удаленной машиной, где есть Unison.
Коротко про... top
Случалось ли вам обнаружить, что ваш компьютер тормозит, утратил отзывчивость или «стрекочет» жестким диском, и недоумевать о причинах такого поведения? В следующий раз запустите в терминале Top. Эта программа предоставляет большой объем информации в очень сжатом формате.
Верхняя часть экрана отображает системную статистику: время работы компьютера, число пользователей, количество выполняющихся задач и т.д. Далее, программа выводит общую загрузку процессора, распределенную между пользовательскими программами (us), системными операциями (sy), программами, сменившими свой приоритет (ni), простаивающими (id) и процессами, находящимися в ожидании (wa).
Очевидно, простаивающие процессы относятся не столько к использованию, сколько к неиспользованию, и это число показывает доступный объем свободных ресурсов процессора.
Число, относящееся к ожидающим программам, показывает процессы, которые задерживаются изза ожидания наступления какогонибудь другого события – обычно ввода/вывода на диск.
Ниже приведен список работающих задач, отсортированный по нагрузке на процессор. Он покажет, которая программа забирает все циклы CPU. Нажмите клавиши Shift+F, чтобы изменить сортировку этого списка по использованию, например, памяти.
Top не только показывает процессы, но и способен менять их. Например, чтобы завершить процесс, нажмите клавишу K [kill]; а чтобы сменить приоритет процесса, нажмите клавишу R [renice]. Увеличение значения nice [«вежливости»] для программы делает ее уступчивее по отношению к другим процессам («только после вас») и менее алчной до циклов CPU.
Команды kill и renice требуют указать идентификатор процесса (process ID, PID), как показано в левом столбце. Если вы укажете неверный идентификатор, это чревато катастрофой. Но при запуске Top в X-терминале можно дважды щелкнуть мышью на PID нужного Вам процесса и нажать среднюю кнопку мыши, чтобы скопировать его и избежать недоразумений.
Top предлагает намного больше опций, к большинству из которых можно получить доступ нажатием единственной клавиши. Самая важная клавиша – H [help], она отображает онлайнсправку о программе.