LXF158:Ответы
|
|
|
Содержание |
Ответы
Есть вопрос по открытому ПО? Пишите нам по адресу answers@linuxformat.ru, и мы найдем ответ.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
1 Виртуальное выключение
В Я виртуализировал стек LAMP на базе XP Pro. Я запускаю эту систему в качестве гостевой на SUSE 12.1 с VirtualBox 4.1.8 и KDE 4.7.2. Мне нужно гарантировать, чтобы вся система, включая виртуальный сервер, запускалась при включении питания и корректно выключалась. При включении питания я запускаю ее в KDE с помощью auto-login. Для автоматического запуска гостевой ОС на моем рабочем столе я поместил скрипт в ~home/myname/.kde4/Autostart. Пока все хорошо, и он работает. Я не запускаю его «без головы», так как хочу иметь быстрый доступ к рабочему столу сервера XP Pro. Теперь о проблеме. При попытке включить систему или хотя бы выйти из системы, VirtualBox спрашивает, что я хочу сделать с гостевой системой, и тут же прекращает работу. А мне нужно корректно завершить работу гостевой ОС, так как в ней большая база данных MySQL.
Я пытался добавить скрипт в ~home/myname/.kde4/shutdown, но похоже, что VirtualBox опережает его в цепочке событий выключения. Как заставить KDE завершить работу системы или выйти из системы так, чтобы VirtualBox понял, что нужно отправить стандартный сигнал выключения ACPI гостевой ОС? На первый взгляд это просто, но я уверен, что это не так.
Дэвид Гоудби [David Goadby]
О Вам нужна VBoxManage, утилита командной строки, с помощью которой можно управлять VirtualBox с терминала или, в данном случае, запускать скрипт выключения системы.
Напрямую отправить команду выключения виртуальной машине нельзя, хотя с помощью опции guestcontrol можно запустить в гостевой системе команду, которая сделает то, что вам нужно. Однако в виртуальных системах удобно то, что их не обязательно выключать – можно просто сохранить их состояние. Это аналогично переводу ноутбука в спящий режим – состояние гостевой системы сохраняется и восстанавливается при следующем запуске. Этого должно быть достаточно, к тому же это ускорит процесс.
Для начала определите свои виртуальные машины, командой
VBoxManage list vms
которая выведет примерно такой список:
“WinXP” {d546c405-6a1c-4bb9-9ffbf1ccec59dffd}
“Mint 12” {4d7daa80-5473-4454-b974-7048f5c4394c}
Виртуальную машину можно определить по ее имени или по UUID (длинная строка в фигурных скобках), но если используется имя, и в нем есть пробелы, оно должно быть заключено в кавычки.
Теперь можно приостановить виртуальную машину XP командой
VBoxManage controlvm “WinXP” savestate
или
VBoxManage controlvm d546c405-6a1c-4bb9-9ffb-f1ccec59dffd savestate
Действительно умно было бы написать скрипт, приостанавливающий все запущенные виртуальные машины.
for VM in $(VBoxManage list runningvms |
awk ‘{print $NF}’); do
VBoxManage controlvm $VM savestate
done
Приостановленную виртуальную машину можно перезапустить обычным образом или с помощью VBoxManage в скрипте запуска:
VBoxManage startvm “WinXP”
Для этого не нужно запускать графический интерфейс VirtualBox: VBoxManage запустит виртуальную машину напрямую. Вы уже обнаружили, что при выходе из системы KDE запускает все из ~/.kde4/shutdown. Решение – воспользоваться скриптом выключения системы, который сохранит виртуальную машину и затем велит KDE выйти из системы.
VBoxManage controlvm “WinXP” savestate
qdbus org.kde.ksmserver /KSMServer logout 0 0 0
Может понадобиться вставить команду sleep между этими двумя командами, чтобы дать виртуальной машине время на сохранение. Если открыт графический интерфейс VirtualBox, его также можно закрыть (если больше ничего не поможет, killall VirtualBox сделает эту работу). Команда qdbus отправляет KDE запрос на выход из системы. Если вы хотите завершить работу системы, а не выйти из нее, измените 0 0 0 на 0 2 2. Можете связать этот скрипт с горячей клавишей, с пунктом меню или с иконкой на рабочем столе, дав им подходящее имя.
2 Мобильный 3G-доступ
В Недавно я установил CentOS 6 с одного из ваших DVD на свой ноутбук с двойной загрузкой с Windows Vista. У меня есть 3G-модем от T-Mobile, который в Windows Vista настроился автоматически. Как заставить его работать в CentOS?
Недавно в Linux Format появилось письмо про DVD, прилагаемый к журналу. Пожалуйста, пожалуйста, не отказывайтесь от DVD. Возможности загрузки файлов по 3G-соединению просто жалкие, и целый дистрибутив загрузить трудно.
Кен Урвин [Ken Urwin]
О Это распространенная проблема, и с CentOS с ней придется повозиться немного больше. USB-модемы используют специальный прием, чтобы не пользоваться драйвером CD в Windows. Когда вы вставляете флэшку, она определяется как компакт-диск, с которого запускается установщик для Windows. После установки драйверы определяют один из этих псевдо-CD и превращают его в модем. Это можно увидеть в Linux, когда при подключении модема обнаруживается новый компакт-диск, которому соответствует не последовательное устройство модема, а /dev/ttyUSB0. Если этого устройства не существует, нужно приказать модему, чтобы он перестал вести себя как CD и стал самим собой. Обычно это можно сделать вручную, попытавшись извлечь компакт-диск. Этому компакт-диску обычно соответствует устройство /dev/sr1 (/dev/sr0 – настоящий привод CD), поэтому с помощью команды
sudo eject /dev/sr1
вы сможете избавиться от CD и увидеть устройство /dev/ttyUSB0. Вы вряд ли захотите делать это каждый раз при подключении модема, и есть программа, которая будет делать это автоматически, выполняя почти те же функции, что и драйверы Windows (драйверы являются частью ядра, поэтому их устанавливать не придется).
Эта программа – usb_modeswitch (http://www.draisberghof.de/usb_modeswitch); в CentOS пакета для нее нет, и придется установить ее вручную. Во-первых, зайдите в Установку и удаление программ [Add/Remove Software] и убедитесь, что установлены все зависимости – вам понадобятся libusb и libusb-devel. Также понадобится установить gcc, так как загружаемый пакет – это исходный код, требующий компиляции. Загрузите usbmodeswitch-1.2.3.tar.bz2 и usbmodeswitch-data-20120120.tar.bz2 с сайта usb_modeswitch. Это последние версии на момент написания статьи – на момент ее чтения там могут быть версии посвежее; тогда возьмите их. Распакуйте архивы и установите их, запустив в терминале следующие команды:
su
tar xf usb-modeswitch-1.2.3.tar.bz2
tar xf usb-modeswitch-data-20120120.tar.bz2
cd usb-modeswitch-1.2.3
make install
cd ../usb-modeswitch-data-20120120
make install
exit
Первая команда переключает вас в режим администратора. Для установки нужны привилегии администратора; в некоторых других дистрибутивах для этого перед каждой командой придется писать sudo. В двух следующих строках распаковываются загруженные архивы с программой и с данными, каждый в свой собственный каталог. Затем мы заходим в каталог программы и выполняем команду make install – она компилирует и устанавливает программу. После этого мы переходим в каталог с данными и устанавливаем их. В последней строке мы выходим из режима администратора.
После этого все должно заработать. Вставьте USB-модем, и должно появиться устройство /dev/ttyUSB0, а в меню Network Manager (Менеджер сети) должна появиться возможность настройки мобильного соединения.
3 Тормозим загрузку
В В последних номерах вы регулярно писали об ускорении загрузки; а не могли бы вы, для равновесия, рассказать, как замедлить загрузку? Во многих свежих системах я просто не успеваю прочесть загрузочные сообщения. В этом случае обычно советуют читать dmesg, но с ним есть две проблемы.
Во-первых, если загрузка останавливается в результате ошибки, dmesg не создается; во-вторых, при возобновлении загрузки единственное ключевое слово, которое я успеваю прочесть, когда оно мелькает на экране, кажется, никогда не попадает в dmesg. Иногда мне помогает параметр ядра exit, но нет ли более общего метода отслеживания ошибок?
Сесил Уоллис [Cecil Wallis]
О Если вследствие паники ядра загрузка полностью останавливается, то ошибка обычно содержится в нескольких последних сообщениях на экране. Панику ядра вызывает что-то серьезное – после возникновения такой ошибки процесс загрузки далеко не уйдет. Если загрузка завершается успешно, первым делом и правда нужно заглянуть в dmesg. Ее вывод можно пропустить через less:
sudo dmesg | less
В консоли вы можете прокручивать текст назад при помощи Shift + PageUp, но при переключении на другую виртуальную консоль буфер прокрутки очищается – поэтому запуск X-сервера и переключание обратно с помощью Ctrl+Alt+F1 вас не спасет.
Лучший подход при отладке такой проблемы – отключение X-сервера. Собственно говоря, лучше отключить максимально возможное количество сервисов.
Это не только позволяет выявить причину ошибки, но и очистит консоль, dmesg и файл системного журнала от посторонних сообщений. Если загрузка доходит до запуска системного логгера, проверьте основной лог-файл, обычно это /var/log/messages или /var/log/current в зависимости от логгера, используемого вашим дистрибутивом. Полезный прием – запустить команду:
ls -lrt /var/log
Она выведет список файлов в каталоге с лог-файлами, отсортированный по дате – нужная вам информация скорее всего будет находиться в последних файлах.
Последний вариант – войти в интерактивный режим во время загрузки. Если у вас нет заставки и вы видите загрузочные сообщения, должно появиться что-то вроде «Press I to enter interactive mode [Нажмите I для входа в интерактивный режим]».
После этого перед запуском каждого сервиса будет выдаваться запрос – это даст вам достаточно времени, чтобы прочесть вывод, и, что важнее, определить, какой сервис провоцирует проблему.
4 Массовая пересылка
В Как быстрее всего скопировать 1 ТБ данных с одного жесткого диска на другой по USB? Мне нужно скопировать видео с NAS, который решил сбросить свои настройки, но любезно отформатировал свой жесткий диск(и) в ext3.
Я хочу подключить жесткий диск NAS к своему MythBox через адаптер SATA ->USB. Как быстрее всего скопировать эти данные?
В идеальном случае, смог бы я перевести задачу в фоновый режим, время от времени проверяя ее состояние: rsync, cp или Ctrl + C, Ctrl + V на рабочем столе в файловом менеджере Thunar?
bobthebob1234, с форумов
О Сразу скажем, что быстрее сделать это невозможно: скорость ограничена шиной, используемой для передачи (USB), а не программами, работающими с ней. Однако проще всего это сделать с помощью rsync:
rsync -a /path/to/source/ /path/to/dest/
Она копирует все из источника (/path/to/source) в место назначения (/path/to/dest), сохраняя все атрибуты, в том числе временные метки каталогов, чего нельзя добиться с помощью других способов копирования.
А главное достоинство, пожалуй, в том, что передачу с rsync можно возобновить, если она почему-либо прервалась. Просто запустите команду снова, и rsync проанализирует содержимое обоих каталогов и скопирует только файлы, не попавшие «под раздачу».
Для отображения списка копируемых файлов можно добавить параметр -v, это может несколько замедлить процесс, если у вас много маленьких файлов и медленный терминал (в частности, при работе по SSH). Обязательно укажите завершающие слеши, так как они определяют способ работы rsync с каталогами.
Если опустить их, то мы получим копию исходного каталога в каталоге назначения; указав слеши, мы копируем в каталог назначения содержимое исходного каталога – это как раз то, что нам нужно.
Ход процесса в другом терминале в любой момент можно просмотреть, запустив там команду:
du -sh /path/to/source /path/to/dest
5 Архитектурная ошибка
В При каждой моей попытке запустить Eliot 1.14 с LXFDVD156 или с web-страницы все заканчивается сообщением «wrong architecture [неверная архитектура]». Это происходит в Ubuntu 10.10 на Lenovo X61. Это первая ошибка, которая вообще появилась на этом компьютере. Файл system.txt приложен.
Билл Хекл [Bill Heckle]
О Такое сообщение обычно означает, что вы пытаетесь запустить 64-битную программу в 32-битной системе, или наоборот. Убедитесь, что вы выбрали верный пакет с DVD – i386 для 32-битной архитектуры, amd64 для 64-битной. Даже если установлен процессор Intel (который и есть у вас), если он 64-битный, нужно использовать пакет amd64.
Причины такого обозначения – исторические: AMD первой представила 64-битный процессор на основе прежней 32-битной технологии. У Intel были свои совершенно другие процессоры Itanium. Хотя сейчас Intel производит процессоры с помощью той же базовой архитектуры (в компьютере, за которым я пишу этот текст, как раз один из таких), и их официальное название было EMT64, а затем Intel 64; все на тот момент уже пользовались названием AMD64, и оно закрепилось. Независимое от производителя название – x86_64.
Если вы выбрали нужный пакет и ошибка все еще возникает, проверьте, что любые зависимости, которые вы могли установить для этого пакета, также имеют верную архитектуру. Если больше ничего не помогает, на DVD есть и исходный код – попробуйте установить программу из него с помощью инструкций в tar-архиве, это гарантирует вам компиляцию для нужной архитектуры.
6 Увеличение размера раздела
В Я обновил жесткий диск своего ноутбука с 40 ГБ до 250 ГБ. Исходный диск в 40 ГБ (/dev/sda1 и раздел подкачки /dev/sda5) я клонировал в диск 250 ГБ с помощью CloneZilla, и после установки нового диска с него прекрасно загрузилась Ubuntu 9.04.
Я ожидал, что CloneZilla увеличит размеры разделов чтобы использовать новое место. К сожалению, новые разделы того же размера — 40 ГБ с неиспользуемой областью в 201 ГБ. Затем я загрузил GParted с Live CD, но в ней можно было только уменьшить размеры разделов, так как неиспользуемое место не отображалось. Как увеличить размер разделов?
Стюарт Мак-Федьен [Stuart McFadyen]
О Вы столкнулись с ограничением таблицы разделов MS DOS, используемой уже 30 лет с гаком. Это ограничение в четыре первичных раздела (которое было нелишним во времена жестких дисков размерами в 10 МБ). Чтобы можно было добавить дополнительные разделы, один из них нужно сделать расширенным, и он сможет включать в себя логические разделы. Ваш загрузочный раздел – первичный. Хотя раздел подкачки swap находится на логическом разделе, они нумеруются от 5 и выше. Клонировав диск, вы создали копию разделов жесткого диска в 40 ГБ, и еще 200 ГБ свободно в конце. На них можно создавать добавочные разделы и монтировать их куда требуется (например, организовать отдельный раздел для /home), либо переместить раздел swap в конец диска, чтобы можно было менять размер sda1. Раздел подкачки swap можно переместить и в работающей системе, но проще воспользоваться Live CD.
Загрузитесь с Live CD, запустите GParted (или QtParted в Live CD с KDE), удалите раздел swap и содержащий его расширенный раздел (скорее всего, sda2, если на диске больше ничего нет). Затем создайте новый раздел swap в конце диска, чтобы неиспользуемое пространство находилось сразу после sda1. Теперь измените размер sda1. Потом смонтируйте sda1 и измените etc/fstab для этого раздела. Измените в строке swap ранее используемый UUID на имя устройства (типа /dev/sda2) или на новый UUID. Чтобы его узнать, откройте терминал и запустите команду
sudo blkid /dev/sda2
Решив сделать это, не прекращая работы системы, сначала отключите раздел swap:
sudo swapoff /dev/sda5
Затем запустите GParted, измените fstab и снова включите swap командой
sudo swapon /dev/sda5
Далее при первой загрузке нажмите e в меню Grub для изменения параметров загрузки, удалите quiet splash из строки конфигурации ядра и нажмите Ctrl + X, чтобы продолжить загрузку. Так мы выключим заставку только для этой загрузки, чтобы увидеть сообщения об ошибках.
Работу swap после загрузки можно проверить командой
cat /proc/swaps
Волшебные кнопки
» Зачем компьютерам кнопка перезагрузки? Потому что они поставляются с операционной системой от Microsoft.
» Эта шутка устарела еще при динозаврах. По-вашему, в Linux программы никогда не падают? Ядро Linux весьма стабильно, и падение программы обычно не слишком затрагивает остальную часть системы. Но иногда все может испортить неконтролируемый процесс, захвативший все ресурсы процессора или памяти (или и те, и другие), и может понадобиться перезагрузка. Или паника ядра может остановить едва начавшийся процесс загрузки.
» Значит, нам все-таки нужна эта ужасная кнопка сброса? Нет, не нужна. В ядре Linux предусмотрено маленькое волшебство. Если нажать Alt, SysRq и командную клавишу, ядро ответит на нее, если оно не заблокировано полностью. Так как это функция ядра, она начинает работать после загрузки ядра, и ею можно пользоваться в процессе загрузки системы.
» А у меня нет кнопки SysRq — тогда что делать? Клавиша SysRq также используется для печати с экрана (Print Screen, PrtSc) – на ней может быть любое название из этих двух или оба одновременно.
» Что такое командные клавиши? Есть несколько командных клавиш для выполнения различных операций, но самые полезные – R, E, I, S, U и B, нажатые в этом порядке. R сбрасывает драйвер клавиатуры в «сырой» режим, E отправляет всем процессам сигнал TERM, I отправляет сигнал KILL. Не используйте две последних клавиши при удаленном подключении, потому что они прервут сетевое соединение. S синхронизирует все смонтированные файловые системы, то есть немедленно записывает все закэшированные данные на диск. U размонтирует все смонтированные файловые системы, затем перемонтирует их в режиме только для чтения. Последние две операции гарантируют, что содержимое дисков будет корректно записано и не сможет быть повреждено. После этого можно безопасно нажать третью командную клавишу B для немедленной перезагрузки системы.
Так как все диски синхронизированы, то вы не увидите предупреждений после перезагрузки, и будет не нужно запускать fsck.
» Как запомнить эту последовательность? Есть несколько расшифровок; некоторые очень глупые. Можете воспользоваться таким – «Reboot Even If System Utterly Broken [перезагрузиться, даже если система совсем вышла из строя]», что весьма точно передает суть, или запомнить, что это «BUSIER», читаемое задом наперед.
» Dcе это хорошо, если у компьютера есть клавиатура; ну, а если это удаленный или автономный компьютер? В этом случае запустите следующую волшебную команду:
echo s >/proc/sysrq-trigger
Если вы можете подключиться к оболочке компьютера (shell), то сможете и синхронизировать диски (sync), и завершить работу системы (shutdown).
» Существуют ли другие полезные клавиши и команды? Полный список и другие важные подробности можно найти в документации ядра в файле /usr/src/linux/Documentation/sysrq.txt или на сайте www.mjmwired.net/kernel/Documentation/sysrq.txt.