Linux дома — но зачем??
мура этот ваш линакс.
Re: Linux дома
//а вообще Alt-Enter. Помню еще по турбопаскалевскому прошлому.
Re: Linux дома
Хоть кто-то понял, что я хотел сказать 8)
Re: Linux дома — но зачем??
«. есть где, есть с кем, есть чем, но ЗАЧЕМ?» (ц)
Re: Linux дома
Нету в NT полноэкранного текстового режима консоли. Alt+Enter — это для 95/98/Me только.
Re: Linux дома
>Не-а))) Когда его так устанавливаешь, получаешь абсолютно пустой рабочий стол, и на нём одно окно косоли.
гы, мелкомягкие меня смешат не нашутку, хоть бы тоталкоммандер или фар (он окрытый его еще проше в дистр включить) в шелл прописали. Да уж новинка, это не новинка, а боян времен NT 🙂
Re: Linux дома
> Кеды — это, имхо, единственная система, где переключалка нормально работает безо всяких костылей. Посмотрим на 4-ку: надеюсь, оставили как было.
Linux-контейнеры дома: зачем и как
Рассуждения
При упоминании словосочетания «контейнерная виртуализация», многим на ум сразу же приходят Virtuozzo и OpenVZ, а также Docker. Ассоциируется же это все, в первую очередь, с хостингом, VPS и другими подобными вещами.
Дома, на личных компьютерах многие используют виртуальные машины: в основном, пожалуй, Virtualbox. Как правило, для того, чтобы работая под Linux, иметь под рукой Windows или наоборот. Однако, при наличии множества родственных Linux-операционок, я стал замечать, что использование виртуальных машин — это, мягко говоря, нерационально.
В первую очередь, очень быстро расходуется дисковое пространство. Каждой виртуальной машине нужно место, даже если несколько из них отличаются только конфигами. Особенно критично это на невеликих размеров SSD лаптопа. В принципе, Virtualbox умеет работать с raw-девайсами и, теоретически, машинам можно назначать rw LVM-снапшот, но тут опять же встают вопросы с изменением размера файловой системы в дальнейшем, автоматизацией клонирования, переноса, удаления и тому подобное.
Во вторую — это больший расход оперативной памяти. В третью — не самые удобные инструменты взаимодействия…
Потому, возникла идея опробовать в домашних условиях контейнерную виртуализацию. OpenVZ отмел сразу, по причине необходимости возиться с кастомным ядром. Выбор же пал на LXC, поставляющийся в репозитарии стабильного Debian’a.
Что такое контейнеры и чем это все отличается от виртуализации? В случае контейнеров, не создается виртуальное аппаратное окружение, а используется изолированное пространство процессов и сетевого стека. Скажем так, получается chroot с расширенными возможностями.
— Для сборки ПО при нежелании захламлять разномастными *-dev пакетами основную рабочую систему.
— Потребность в другом дистрибутиве для запуска каких-либо специфических программ и, опять же, сборки.
— Изоляция потенциально небезопасного софта, вроде того же скайпа совершающего разные непонятные действия в домашнем каталоге пользователя и всяких сомнительных веб-технологий: уязвимость во флеше, в java, в обработчике pdf — это только то, что плавает на поверхности.
— Анонимность. Эдак можно банально остаться залогиненым в своей любимой социалочке, забыть подчистить куки или оказаться незнакомым с очередной новой веб-технологией вроде этой webrtc. Можно, конечно, держать несколько профилей браузера, но от перечисленных выше дыр и технологий это не защитит.
Итак, рассмотрим плюсы и минусы LXC:
+ Работает на ванильном ядре
+ Простота проброса устройств и каталогов хоста, так как работает это все через cgroups
+ Очень нетребовательно к ресурсам, в отличии от виртуальных машин типа Virtualbox или qemu
— Контейнеры будут работать на том же ядре, что и хост, хотя — это скорей особенность контейнерной виртуализации в целом.
— Некоторая недоделанность идущих в комплекте утилит.
Развертывание и настройка контейнера
В первую очередь, ставим пакет lxc и все необходимые утилиты:
Смотрим доступные группы томов LVM:
Указываем использовать LVM в качестве системы хранения, Volume Group ( в моем случае — nethack-vg) и размер 2 гигабайта, иначе по умолчанию будет создан одногиговый том. Хотя, если вдруг стало тесновато, можно будет сделать lvresize.
Видим, что у нас появился том deb_test.
Типовой конфиг, созданный скриптом:
Залогинимся с указанным паролем. Для запуска в headless-режиме используется ключ -d, а рутовую консоль можно получить с помощью команды
Пока у нас ни сети, ни нужных для работы программ. Для этого на хосте поднимаем мост, задаем IP, заворачиваем трафик из подсети виртуалки, при отключении интерфейса разрушаем мост.
На хосте прописываем в /etc/network/interfaces
В конфиг контейнера дописываем:
Понятно, что mac-адрес произвольный, на любой вкус.
Чтобы сразу получить рабочую сеть и возможность установки пакетов apt’ом, допишем
Понятно, что 192.168.18.1 — IP моего DNS.
Установим нужные пакеты:
Дальше либо на хосте, либо на другой рабочей виртуалке можно получить список установленных пакетов и установить их все в нашем новом контейнере:
Теперь можно по-человечески настроить сетевой интерфейс в контейнере, использовав любимый текстовый редактор:
Впрочем, это можно было сделать с хост-системы, например, смонтировав логический том. Способов много.
В принципе, в качестве DNS можно указать любой публичный, если не опасаетесь за свою приватность. Например, гугловские 8.8.8.8 и 8.8.4.4.
По доступу к устройствам хост-системы, я придерживаюсь политики «все, что не разрешено, запрещено». Добавим для этого следующую строчку в конфиг:
Попробуем подключиться через OpenVPN. Сразу же получаем ошибку:
Система пишет, что интерфейсы TUN/TAP недоступны по причине их отсутствия. Очевидно, что нужно разрешить гостевой системе использовать устройства хоста. Открываем конфигурационный файл контейнера, /var/lib/lxc/deb_test/config и добавляем туда строчку:
В контейнере выполняем:
Обратим внимание на 10:200 — это идентификатор типа устройств. Если выполним на хосте:
То увидим идентификаторы 10, 200. По ним и будем ориентироваться, разрешая доступ к устройства, например камере — video0.
Точно также добавляем остальные нужные устройства:
Для функционирования иксов и возможности их проброса через ssh, нужно добавить точку монтирования:
По аналогии можно примонтировать и другие, нужные каталоги и файлы:
Для воспроизведения звука, можно разрешить доступ к звуковому устройству, если карта многопоточная (с однопоточной при использовании dmix возникают проблемы с блокировкой):
А можно настроить pulseaudio на воспроизведение звука по сети, как это описано здесь. Кратко:
Отредактировать на хосте /etc/pulse/default.pa, дописав туда:
В итоге у нас получается вот такой конфиг:
Контейнер готов к использованию.
Использование
Доустановим, например, i2p с Tor’ом, если не сделали этого ранее, и сходу настроим privoxy:
Запускать графические приложения вроде браузера удобнее всего через ssh:
Также, разумеется, LXC предоставляет средства для клонирования контейнеров и снятия снапшотов.
Так, например, склонировать контейнер, файловая система которого будет являться LVM-снапшотом можно командой:
Будет создан контейнер deb_test2 с файловой системой, размещенной на LVM-снапшоте размером 200MB (под хранение diff’ов). Это будет точная копия deb_test, над которой можно провести пару экспериментов и, например, безболезненно удалить.
А вот lxc-snapshot с LVM в качестве хранилища, на версии lxc-1.0.6 почему-то не работает:
Проблема описывается и обсуждается здесь. Потому, снимки придется делать по старинке:
В данном случае создали read-only снапшот с именем deb_test_before_rm_rf размером 100MB. Что с ним делать дальше? Например, его можно сдампить посредством dd, перенести на другую машину вместе с конфигами контейнера, создать там том нужного размера и пролить тем же dd (cp, cat, итд) — эдакая «живая миграция».
Как писалось выше, областей применения контейнерам можно найти массу. Но главной, при домашнем использовании, на мой взгляд, является изоляция приложений.
Linux в каждый дом. Какой дистрибутив выбрать?
Данная статья – попытка поделиться личным опытом выбора дистрибутива Linux, с указанием нескольких неожиданных, а также и вполне ожидаемых, граблей.
Написание её вызвано сформировавшимся и требующим выхода мнением по поводу того, стоит ли использовать Linux дома вообще.
Как-то так случилось, что Win XP банально надоел, а денег на Win 7 не дала моя жадность (нелегальную версию не позволяет ставить обнаглевшая в последнее время совесть).
Захотелось чего-то воздушного, красивого и бесплатного… ну и приключений захотелось тоже, что окончательно толкнуло на попытку полной миграции на Linux.
Компьютер представляет из себя ноутбук ASUS F8Sg со следующими устройствами на борту:
- встроенная камера
- беспроводной адаптер Intel AGN4965
- сетевая карта Realtek RTL8111/8168B
- кардридер Ricoh
- видеокарта NVidia G9300M
- звук – Intel HDA 82801H
- адаптер Bluetooth
В качестве первого дистрибутива было выбрано свежее детище французского сообщества под ласкающим ухо названием Mandriva 2010.
Такой выбор был сделан в основном потому, что Mandriva 2008 долгое время стояла второй системой на ноутбуке, правда, исключительно для ознакомительных целей, на разделе в 10Гб (который я в итоге все равно у неё благополучно отнял и скормил ненасытной винде).
Решив, что экспериментировать – так экспериментировать, версию скачал x86_64, естественно, PowerPack.
Что ж, теперь по пунктам.
Внешний вид
Дефолтные мандривовские «кеды» ярки, блестящи и многофункциональны. Удобный (имхо) файловый менеджер Dolphin, кучи плазмоидов, гаджетов, виджетов и т.п., позволяющих захламить украсить рабочий стол.
НО: плазмоиды, требующие подключения к Интернету (например, просмотр прогноза погоды) при загрузке не дают появиться рабочему столу, пока не установят свое сетевое соединение. Т.е. при отключенном Интернете наблюдаем черный экран с курсором мыши 3-5 минут. Система при этом полностью функциональна. А если интернет отвалится в течение работы, то рабочий стол зависает, хотя все запущенные приложения доступны. Методы обойти данную проблему, наверняка, есть (может быть, это вообще частный случай моей системы), но сам факт возможности такого бага в оф. релизе вызывает легкое недоумение.
Установка и обновление ПО
Установщик ПО в Mandriva RPM-based, достаточно удобен.
НО: ковыряясь с треском звука в роликах формата .mts и вычитав, что вредить может Pulseaudio, я решил снести последний. И, к сожалению, через GUI. Отметил галочкой, нажал кнопку удалить и спокойно отошел налить чаю. Велико же было мое удивление, когда в статусе удаления я увидел пакет drakconfig, который никак не мог идти вместе с Pulseaudio. Остановил процесс, в итоге – половина пакетов, относящихся к KDE оказалась благополучно испарившейся. Глаза мои после этого стали примерно как у пингвина с эмблемы Mandriva. Кто-то скажет – через консоль нужно удалять, либо смотреть в список зависимостей. Но опять же – система не имеет права называться «Linux для всех», если в ней спрятаны такие, мягко говоря, леденящие душу грабли с зубцами реально по полметра. Не должен оказаться весь KDE в зависимости от одного побочного пакета, и никто не обязан делать что-то через консоль, если есть альтернатива в виде полнофункционального GUI.
Следующая проблема – попытки установить второй пакет сразу после установки первого (через GUI) приводят к предупреждению об отсутствующих пакетах и GUI установщика необходимо перезапустить. Подтвержденный баг, есть в errata, но до сих пор не вылечен.
Да, еще порадовало своевременное предложение «обновиться» до Mandriva 2009.1 при первом запуске системы. Но это, в принципе, не страшно, устранение – в том же errata.
Доступ в интернет моим провайдером организован так: по проводу (как более симпатичный вариант – с беспроводной точки доступа) раздается LAN, для выхода «в мир» устанавливается туннель PPPoE.
Про PPPoE под Linux рассказывать не буду – тема достаточно избита и все грабли и способы их словитьперепрыгнуть описаны более чем подробно практически для всех дистрибутивов. Все заработало, в целом, шоколадно.
НО: Wi-Fi – и вот тут здрассьте, грабли новые, кленовые. При подключении к Интернету через точку доступа провайдера обнаружил проседание скорости через нерегулярные промежутки времени. Проседание скорости не обнаруживалось в выводе команды iwconfig, но было более чем ощутимым. Тесты на speedtest.net показывали 0.6/0.3 Mbps вместо положенных 6/6 Mbps. Лечило только укладывание в down интерфейса wlan0 и переподключение заново.
Куча всевозможных диагностик, опытов и раскопок в системных логах показали, что проблема именно с wi-fi, не с pppoe или провайдером в целом. Итог: поздравляю всех счастливых обладателей Intel AGN 4965. Стандартный модуль iwlagn поддерживает её криво вплоть до текущего stable ядра 2.6.32.2 (судя по форумам). Спасение одно – ndiswrapper. Ну или отказ от радиоволн в пользу старой доброй меди.
Ndiswrapper под x86-64 удалось заставить работать (не через кривой GUI-инсталлер, а через консоль), но пошли только WinXP-шные 32-битные драйвера 4й версии от Intel (NETW4X32.INF). Процесс при активном использовании сети (качай как мы, качай лучше нас!) загружает второе ядро CPU до 80%.
Видео
Проприетарные драйвера установились без проблем, Compiz и иже с ним заработали адекватно. Запускавшиеся под wine HOMM 5, Half-Life 2 пошли вполне играбельно (это касается и звука – проблем не было). Единственное, при выключенных в настройках wine пиксельных шейдерах наблюдались проблемы с графикой в продукте Valve – например, отсутствие пятна света от фонаря. Если же пиксельных шейдеры включались, то fps резко падали. Решилось установкой флага -directx 81 при запуске игры.
Кстати, если кто не знает – утилита winetricks очень удобна для установки всяческого хлама, в т.ч. и DirectX.
Ролики .mts в итоге лучше всех проигрывал Dragon Player, идущий вместе с системой. Мой любимый smplayer видеопоток нещадно ускорял, и не лечилось это никак, а VLC периодически выдавал убогие артефакты и цветовые дефекты изображения.
Никаких общих проблем не было, даже под wine все шло с настройками по умолчанию – никакого шаманства с уровнем эмуляции и типом драйвера. Очень удивился.
А вот Amarok показался совершенно кривым поделием. Просто вис при запуске и все, из-за чего был скоропостижно и беспощадно отправлен в /dev/null, благо альтернативных проигрывателей навалом.
Оборудование
Ни к Bluetooth, ни к кардридеру, ни к камере, ни к проводной сетевой карте никаких претензий не было. Все завелось при первом же запуске и ни разу не заставляло рыться в форумах сообщества с последующими «колдунствами» в консоли.
Дополнительно
На хабре уже было несколько статей по опыту пользования Mint Rosinka (раз, два), но ведь чем больше мнений — тем лучше, не так ли?
Поехали.
Внешний вид
Идущий по умолчанию GNOME не так вызывающе ярок, как KDE, зато более стабилен и менее требователен к ресурсам. Nautilus не так гибок в настройках, как Dolphin, гаджетов/виджетов и тому подобного барахла меньше, зато и никаких приключений с плазмоидами и зависанием рабочего стола без Интернета. Единственное – показалось, что виджеты мониторинга ресурсов системы сами неплохо эти ресурсы тырят, кроме разве что самого простого апплета из дефолтного набора.
Установка и обновление ПО
Установщик ПО удобен и без обнаруженных глюков (в отличие от мандривовского). Но установка приложений из консоли с помощью apt-get все равно удобнее и быстрее. Обновление ядра с 2.6.31-14 на 2.6.31-20 через Ubuntu Tweak прошло просто и без неожиданностей.
С wi-fi проблема, естественно, никуда не испарилась (а надежда на чудо все-таки была). И добавилась новая проблема – со стандартным NetworkManager беспроводные сети работать отказались. Более того, не пойму как, но и через консоль при наличии NetworkManager в системе настроить wlan0 у меня не получилось (тут, возможно, повлиял небольшой, но все-таки имеющийся радиус кривизны рук и лень разбираться). Решил проблему радикально – выпиливание NetworkManager и установка альтернативы в виде Wicd. Сразу наступила благодать, wicd по всем параметрам удобнее и лучше.
Ndiswrapper ставил также через консоль, драйвер пошел тот же самый, что под Mandriva (NET4X32.INF). Понадобилось дополнительно заблэклистить стандартный модуль iwlagn в /etc/modprobe.d/, иначе ndiswrapper игнорировался системой.
Процесс при активном использовании сети точно так же загружает второе ядро CPU до 80%.
И совсем недавно, ни с того ни с сего, беспроводная сеть, как говорится, ВНЕЗАПНО перестала работать. Не помог ни ребут, ни откат на модуль iwlagn с последующим возвратом. Спасла только переустановка win драйвера для ndiswrapper. Все-таки, ndiswrapper – костыль, пусть с гидравликой и аэрографией, но – костыль.
Видео
С проприетарными драйверами проблем не возникло.
С запуском Half-Life 2 все аналогично Mandriva. Играть можно после маленького допила. Но другого не стоит и ожидать, а разработчики Wine достойны памятника при жизни и лютой ненависти всей компании Microsoft.
Ролики .mts в итоге лучше всех проигрывает опять какой-то невзрачный плеер, идущий вместе с системой. Странная ситуация, если у кого-то получалось заставить smplayer нормально их воспроизвести — сообщите, пожалуйста.
Никаких общих проблем не было, а вот под wine настройки по умолчанию не пошли, потребовалось выставлять драйвер OSS вместо ALSA и полную эмуляцию. Даже при этом звук периодически потрескивает.
Оборудование
Все завелось сразу и без фокусов.
Дополнительно
Встроенные по умолчанию средства позволяют удобно регулировать частоту процессора, тогда как в Mandriva для этого пришлось ставить cpufreq-utils и еще напильником их обрабатывать.
С минтовским GNOME появляется ощущение ускорения работы системы и снижения её загруженности, даже при всяческих приблудах вроде Compiz`а.
Загрузка без всяких speedboot поражает своей скорость (секунд 15), выключается машина 2-3 секунды (в Mandriva на порядок дольше).
Ну и, наконец, выводы
Mandriva 2010: для меня был все-таки FAIL.
Linux Mint Rosinka: для меня стал WIN. Видимо, концепция Ubuntu мне более близка (как и подавляющему большинству домашних пользователей Linux).