воскресенье, 14 декабря 2008 г.

Compiz и прозрачность

xUbuntu way: Compiz и прозрачность

Введение

[info]sashkins_tux на днях спросила как сделать окна прозрачными, ну, я думал, что все будет просто и отправил её в настройки компиза, мол, сама догадаешься. Оказалось, что новичку такое вовсе не поплечу...

Подготовка
Первым делом надо включить плагины, которые отыечают за нужные на эффекты:

ADD Helper - позволяет настраивать неактивные окна, причем, не только прозрачность;
Opacity, Brightness and Saturation - собственно, в названии все сказано, с помощью него мы и будем делать окна прозрачными;
Blur Windows - дабы фон за прозрачными окнами (и менюшками) не напрягал, мы его размажем :)

Запускаем Система -> Параметры -> Менеджер Настройки CompizConfig и включаем их:



Настройка
Настраиваем, выставляем все как на скришотах, а после уже как вам больше нравится будете настраивать:

ADD Helper => Toolbar | Utility | Dialog | ModalDialog | Fullscreen | Normal



Opacity, Brightness and Saturation => type=Menu | PopupMenu | DropdownMenu | Dialog | ModalDialog

Чтобы добавить прозрачности какому-нибудь конкретному приложению, надо снова нажать создать, подвинуть ползунок процентов на 90, нажать плюс, в открывшемся окне в графе Тип выбрать Имя Окна, нажать Считать, появившемся крестиком ткнуть на нужное приложение, нажать Добавить и закрыть, готово.



Blur Windows => toolbar | utility | normal | PopupMenu | DropdownMenu | Dialog | ModalDialog | Menu

=> normal | Menu | PopupMenu | DropdownMenu | Dialog | ModalDialog



Теперь все обязано быть ^___^

p.s. Используемые ресурсы:
  1. Хвала великому гуглу :)
  2. Вот описание основных настроек компиза;
  3. А здесь можно найти информацию по настройке и т.п. (все на английском).
p.p.s. теперь пишу все в http://2-die-4-life.livejournal.com/
соответственно, любые вопросы и комментарии лучше туда, вот линк этого поста.

Автор: Masaki на 12:20  

суббота, 13 декабря 2008 г.

Установка Ubuntu с жесткого диска / installing from hdd without cdrom

Ubuntu Beginners / Новичкам в Ubuntu: Установка Ubuntu с жесткого диска / installing from hdd without cdrom

Довольно давно я пользуюсь archlinux. Несколько месяцев назад, перед летом, передо мною встала задача установки Ubuntu Feisty 7.04 с винта, без использования CD-RW, так как оного не было. А образ спокойно себе лежал на винте. И сел я читать бубунтскую документацию на предмет "Как установить Ubuntu с винта, без использования CD-ROM, имея на борту другой работающий линукс". Повторяю - имея на борту линукс, а не виндовс. Так вот, оказалось, что это возможно и крайне просто.

Только вот статью я начал писать давно, и скриншоты тоже делал давненько, а теперь, когда вышла Ubuntu 7.10 Gutsy Gibbon - все это переписывать, перерисовывать, перекачивать и тем более перепроверять, что все работает, мне, честно говоря, впадлу. Поэтому у вас будет просто интересный полуакадемический пример, дальше включаем мозги, если надо.

Перед началом предупреждаю: абсолютным новичкам будет не интересно. И еще - статья основана на разделе "D.4. Installing Ubuntu from a Unix/Linux System" документации по установке, входящей в состав серверного диска Ubuntu 7.04, файл apds04.html. Всё, предупредил...

Реализация

в общем, опуская далее изложенные подробности, процесс будет такой:
  • Естественно, для всего этого нам понадобится уже скачанный iso образ нужной версии Ubuntu. Но не всякий образ, как показывает практика, для такой задачи подходит. Работает либо alternate, либо server сборка. А desktop не подходит. Почему точно, не знаю, но подозреваю, что из-за отсутствия пакетов debian-installer-а на десктоп варианте диска. В общем, сначала качаем образ.
  • Дальше подготавливаем раздел для инсталляции будущей Убунты. Не забываем, что своп ей тоже нужен (если его нет), что её корневому разделу нужно около 2GB пространства, думаем, какую файловую систему создать в будущем корне, придумываем и создаем;
  • Инсталлим в свою рабочую линукс-систему дебиановский инсталлер debootstrap, с помощью которого пройдет установка базовой бубунты на созданный для неё раздел;
  • Чрутимся внутрь нового раздела в базовую среду, настраиваем fstab, networking, юзера, судо, ставим ядро и что нибудь еще, если очень надо, например ядерные модули;
  • В свой бутлоадер добавляем строку загрузки в убунту на созданный раздел, в частично настроенный корень.
  • Перегружаемся в убунту, чтобы попасть в полноценную консоль, загруженную родным ядром, ставим ubuntu-desktop, который сносит нафиг тщательно продуманный fstab :) , загружаем gdm и имеем перед собой красивый гномовский логин;
  • Логинимся, смотрим на красоту, ощущаем счастье от собственной значимости и шаманской смекалки;
  • Особо ушлые чпокают бутылочкой пива и закуривают ароматный табачок.

Подробное описание:

  • Подготовка раздела. Ищем или создаем раздел, на который хотим ставить Ubuntu. У меня для этой цели уже отведен hda4 - 10 Gb. На нем будет жить будущая Убунта.

    Так же нам понадобится swap, для него выделен hda2 - 500 Mb, своп я буду использовать тот же, что и для текущей рабочей системы, мне его не придется пересоздавать (вы можете создать отдельный раздел для убунтовского свопа, если вам нужно).

    После того, как нашли или выделили раздел под корень (который у меня hda4), на нем нужно создать файловую систему и смонтировать в некую рабочую директорию, например /newubuntu. По моим предпочтениям предлагаю создавать reiserfs для корневой системы.

    На этом же этапе в документации предлагают смонтировать все части, которые будут нужны в будущей файловой системе, у меня таких отдельных частей, крайне необходимых для базовой работы, только /home раздел, который я опять буду использовать свой, рабочий, существующий /home на hda3 разделе. Итак:
    ## под рутом или sudo в терминале: #mkfs.reiserfs /dev/hda4 #mkdir /newubuntu #mount -t reiserfs /dev/hda4 /newubuntu #mkdir /newubuntu/home #mount -t ext3 /dev/hda3 /newubuntu/home/
  • Установка debootstrap. Для начала, нужно найти и выкачать его для вашей архитектуры (i386, amd64, powerpc или sparc) из пула убунтовских дебутстрапов. Выкачать нужно в еще одну некую директорию (у меня /home/archafon/dbstr), в которой распаковать и из которой установить. На текущий момент я подобрал данную версию пакета: debootstrap_1.0.1~feisty1_all.deb.

    Кроме того, для распаковки deb-архива понадобится утилита ar, которая в моем дистрибутиве была найдена в пакете binutils, так что полагаю, она есть и у вас. Приступим:
    #mkdir /home/archafon/dbstr #cd /home/archafon/dbstr #wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.1~feisty1_all.deb ## распаковка содержимого deb-архива #ar -x debootstrap_1.0.1~feisty1_all.deb #cd / ## и далее под рутом или под sudo ## для установки содержимого пакета в свою текущую систему #zcat /home/archafon/dbstr/data.tar.gz | tar xv 
    Теперь инсталлятор убунты debootstrap успешно установлен в нашу систему. Можно приступать к следующему шагу.
  • Установка базовой среды для будущей системы Ubuntu. Для начала нам нужно подмонтировать куда-нибудь скачанный iso образ Ubuntu, чтобы debootstrap из него установил базовую систему. У меня он лежит в ~/data/iso/ubuntu-7.04-server-i386.iso, а смонтирую я его в /mnt/cd
    ## под рутом или sudo в терминале #mount -o loop /home/archafon/data/iso/ubuntu-7.04-server-i386.iso /mnt/cd 
    Далее запускаем debootstrap, рассказывая ему о своих параметрах:
    - архитектура (в моем случае i386).
    - имя устанавливаемого дистрибутива.
    - путь, куда это все устанавливать.
    - путь, откуда брать установочные пакеты.
    ## под рутом или sudo в терминале #/usr/sbin/debootstrap --arch i386 feisty /newubuntu file:/mnt/cd/ubuntu 
    Во время удачной установки вы должны видеть довольно обширный список устанавливающихся пакетов. Этот процесс занимает около минуты-двух, и в завершение вы должны увидеть важную фразу: Base system installed successfully - на скриншоте выделено зеленым цветом.

    Еще на этом же скрине видно одну неудачную попытку установки server сборки. Это из-за того, что первая неудачная попытка установки сборки desktop диска оставила после себя несколько директорий в /newubuntu, которые я просто не подумал сразу почистить. Естественно, оставляю в живых свой примонтированный /newubuntu/home, и уже после этого пытаюсь запускать debootstrap на server сборке начисто. Не повторяйте моих ошибок :)
  • Настройка базовой среды. Настал момент первой истины. Чрутимся внутрь будущей убунты. Теперь нашы задачи:
    • создать fstab и прописать в нем все нужные маунты.
    • Настроить console-setup для клавиатуры.
    • Настроить сеть: /etc/network/interfaces, /etc/resolv.conf, /etc/hostname, /etc/hosts и
    • Установить ядро.
    ##из-под рута #LANG= chroot /newubuntu /bin/bash ## создаем fstab #vim /etc/fstab 
    ## Обязательные виртуальные файловые системы #proc /proc proc defaults 0 0 #sys /sys sysfs defaults 0 0 ## Наши винты и своп #/dev/hda2 swap swap defaults 0 0 #/dev/hda4 / reiserfs defaults 0 1 #/dev/hda3 /home ext3 defaults 0 2 ## Это CD-Rom и флешка, чтоб не париться потом /dev/cdrom /mnt/cd iso9660 ro,users,noauto,unhide,utf8 0 0 /dev/sda1 /mnt/flash vfat iocharset=utf8,codepage=866,users,noauto 0 0 ##остальное, если надо, добавлю потом
    #mkdir /mnt/cd /mnt/flash
    Теперь вручную подключим sys и proc для дальнейших действий.
    #mount -t proc proc /proc #mount -t sysfs sysfs /sys 
    Следующий шаг, настройка консоли - клавиатура, раскладки, кодировка и шрифт в консоли:
    #dpkg-reconfigure console-setup
    Настраиваю сеть. Для этого, грубо говоря, создаю файлы /etc/network/interfaces, /etc/resolv.conf, /etc/hostname, /etc/hosts, в которые копирую содержимое соответствующих файлов из текущего рабочего линукса. Единственное, в моем арче нет первого файла :) но это не страшно. Примеры настройки для убунту можно посмотреть через zcat /usr/share/doc/ifupdown/examples/network-interfaces.gz. Для моего случая я имею:

    /etc/network/interfaces
    ##обязательные настройки #auto lo #iface lo inet loopback  ##DHCP кабельный модем, смотрящий в интернет #auto eth1 #iface eth1 inet dhcp  ##Обычная сетевая карточка, связанная сетевым шнурком с ноутбуком #auto eth0 #iface eth0 inet static #     address 192.168.0.1 #     netmask 255.255.255.0 #     broadcast 192.168.0.255 
    /etc/resolv.conf
    ## Это мои DNS-ы, на удивление, файл создался с содержимым! Да еще и правильным. #search voliacable.com #nameserver 82.144.192.130 #nameserver 82.144.192.131 #nameserver 82.144.192.32 #nameserver 82.144.192.30 
    /etc/hostname - Напишите внутрь всего одно слово, имя вашего убунту. Мой будут звать Juggernaut, почему бы и нет...

    /etc/hosts - имена известных адресов:
    127.0.0.1   localhost localhost Juggernaut


    С сеткой покончено. Теперь нужно настроить /etc/apt/sources.list. Если после (успешной) установки вы собрались все ставить через интернет, оставьте файл как есть, а лучше допишите дополнительные репозитории. На данный момент его содержимое довольно убого:
    deb http://archive.ubuntu.com/ubuntu feisty main
    Если же планируете использовать образ диска и дальше, давайте слегка подкрутим настройки. Но прежде позаботьтесь, чтобы образ был виден из убунты, например, был в подключенном /home, как у меня. Сделать нужно следующее. Просто пишем в убунтовской консоли, то есть там, куда мы зачрутились:
    #mkdir /cdrom; #apt-cdrom add 
    На предложение "Please insert a Disc in the drive and press enter" открываем еще одну консоль и чрутимся в убунту опять. Там пишем:
    #mount -t iso9660 -o loop /home/archafon/data/iso/ubuntu-7.04-server-i386.iso /cdrom 
    Ну и дальше редактируем sources.list и оставляем только нужное, либо интернет, либо диск, который придется маунтить всякий раз в /cdrom. Теперь нужно сделать apt-get update для обновления списка пакетов.

    И - основной шаг - ставим ядро. Это вообще просто.
    #apt-cache search linux-image
    Из полученного списка выбираем нужный пакет и ставим. Я ставлю linux-image-2.6.20-15-generic
    #apt-get install linux-image-2.6.20-15-generic
    В один момент инсталлятор спросит, хотим ли мы прервать установку ядра (Do you want to abort чего-то там?) Жмем "НЕТ", не хотим abort, и тогда ядро нормально установится.

    Последние шаги :) Добавляем юзера, создаем группу admin, пропихиваем юзера туда и разрешаем ему администрировать комп через sudo:
    #adduser jugger #addgroup --system admin #adduser jugger admin #visudo ##Добавляем в конец файла: #%admin ALL=(ALL) ALL 
    В свой бутлоадер, в текущем работающем линуксе, из которого вы это все делали, добавляем строку для загруки в убунту. В grub я это делаю так:
    #vim /boot/grun/menu.lst ##И добавляю в конец файла строки, в соответствии с именем того ядра, которое установил: # Ubuntufeisty #title  Ubuntu Feisty #root   (hd0,3) #kernel /vmlinuz root=/dev/hda4 ro vga=773 #initrd /initrd.img 
  • Теперь настал момент последней истины.

    ПЕРЕГРУЖАЕМСЯ в Ubuntu!

    Логинимся созданным юзером и устанавливаем ubuntu-standard
    #sudo apt-get install ubuntu-standard

    Это был последний шаг. Собственно, теперь все зависит от вас. Если вы делали установку с alternate диска или прописали в sources.list выход в интернет, а не на образ, можно ставить ubuntu-desktop или kubuntu-desktop, или xserver с fluxbox-ом... Все зависит от желания и умения.

    Ну а я после перезагрузки в убунту выловил первый же косяк - с русскими буковками в консоли совсем не сложилось. Наверное, не правильно настроил console-setup. Tак что мне косяки, а вам удач в искусстве настройки linux.

Написано libc6 в 00:33

Compiz settings manager, emerald, awn

Ubuntu Beginners / Новичкам в Ubuntu: Compiz settings manager, emerald, awn

Продолжая тему кастомизации гномовского десктопа, расскажу об установке правильного менеджера настроек compiz, установке компизовского декоратора окон emerald-е и тем для emerald, а так же об установке правильного awn дока. Почему это все со словом "правильно", будет ясно дальше. Кроме того, весь рассказ касается установки под Ubuntu 8.04 Hardy Heron.

Для тех, кто вообще не в курсе, что такое вышеуказанные вещи.

  • Compiz - это менеджер окон, который создает эффекты этих окон и рабочего стола. Эффекты создаются через "композицию". То есть, вместо того, чтобы отрисовывать окно сразу (посылать чистый GTK-шный или QT-шный объект "окно" прямо на видеокарту), объект сначала проходит через множество программных преобразований, и только потом его преобразование посылается на перерисовку видеокартой. Или, посылается не объект "окно", а объект "сильно измененная картинка". Примерно так.
  • Emerald - это декоратор окон для оконного менеджера Compiz. Если взять стандарный декоратор (рамка окна и элементы управления окном) из metacyti, он работать не будет. Потому что прорисовывается не через композитинг. Вместо него используется gtk-compiz-decorator, или что-то вроде этого, хотя в Убунту этот пакет называется совершенно по-другому. Emerald - именно композитный декоратор, заточенный именно для работы с композитингом в оконном менеджере compiz. Вот так.
  • AWN - это док для рабочего стола, внешним видом и функциональностью похожий на док из МакОСи. Он содержит иконки быстрого запуска приложений - quicklaunch, и набор различных апплетов, как то: часы, календарь, погода, заметки, корзина, главное системное меню, маунтеры устройств и много чего другого.
Теперь к делу.

Статья предполагает, что драйвера под вашу видеокарту установлены и "изначально задуманный компиз" в Убунту у вас тоже работает. Проверяется это следующим образом. Идем в меню "Система - Параметры - Внешний вид", открываем вкладку "Визуальные эффекты" и там отмечаем радиобатон "Нормально" или "Много". Если все хорошо, то включатся эффекты окон, которые вы однозначно распознаете. А так как это обязательное условие для дальнейших действий, то именно отсюда начинается мой рассказ. Начну с ccsm - менеджера настроек эффектов компиз.

Copmiz settings manager

В своих репозиториях убунту предлагает два пакета менеджера настроек компиз. Это simple-ccsm и compizconfig-settings-manager. Первый представляет из себя упрощенную версию настроек, второй полный, правильный и настоящий. К упрощенному менеджеру можно доступиться из элемента "Внешний вид" на вкладке "Эффекты". В этом окне появится дополнительная строка состояния "пользовательских" эффектов с кнопкой "Настроить". И в нем действительно много чего можно настроить. Эффект для переключения окон по Alt-Tab, эффекты свертывания, закрытия и открытия окна, количество рабочих столов и ээфект переключения между ними, действия при перетаскивании курсора мыши в указанный угол экрана. Но, как ни крути, а это все-таки упрощенная настройка. Правильный же менеджер настроек позволяет настраивать всё. Море эффектов на различные действия, а кроме эффектов еще и управление окнами, можно создавать команды и шоткаты к ним, задать шоткаты для управления состоянием окон или их перемещения между рабочими столами, поведение окон при действиях с ними, указать, какие именно типы окон будут отвечать на нужный эффект, а какие нет. Это просто море для фантазии! Но за это придется платить, хелпа не будет, большинство настроек придется включать и проверять, что они значат :)

К этому всему хорошо еще установить пакет fusion-icon. При запуске этой программы она повесит в трей иконку, контекстное меню которой позволяет быстро доступаться к некоторым переключательным настройкам компиза.

Подведем итоги.

sudo apt-get install simple-ccsm # если нужно sudo apt-get install compizconfig-settings-manager #обязательно sudo apt-get install fusion-icon # полезно и удобно иметь в наборе 

Emerald. Window decorator для Compiz

Тут все просто. Разработчики Убунту добавили пакет emerald в репозитории. Но в его сборке идет всего одна дефолтовая тема. Об остальных в версии Hardy они почему-то позабыли. Поэтому темы придется скачать в виде пакета из репозиториев Feisty - http://packages.ubuntu.com/feisty/x11/emerald-themes и потом установить пакет вручную. Даблклик для deb пакетов сделает это для вас, а если по-серьезному, то сделаем так:

sudo apt-get install emerald wget http://mirrors.kernel.org/ubuntu/pool/universe/e/emerald-themes/emerald-themes_0.2.1-0ubuntu1_all.deb sudo dpkg -i emerald-themes_0.2.1-0ubuntu1_all.deb 
Теперь через fusion-icon переключаемся на использование emerald-a, элемент меню "Select window decorator", и потом через тот же fusion-icon можно запустить Emerald Theme Manager. Все. Выбираем тему.

AWN - Avant window navigator

AWN в репозиториях тоже есть. Однако, сборка его не полная. Он идет только с lounch-компоненом. Ни апплетов, ни тем в нем нет. В то время как апплеты сосоставляют неотъемлемую часть awn-дока и без них он выглядит убого и в общем-то мало полезен. Поэтому стоит заняться установкой правильного навигатора со всем, чем нужно. Прежде всего, нужно добавить репозиторий, содержащий полный awn. Строка для добавления репозитория

UPD: В комментариях сообщили про смену репозиториев на: deb http://ppa.launchpad.net/reacocard-awn/ubuntu hardy main. Прочтите пожалуйста комментарии, и внесите изменения в собственную установку.
deb http://ppa.launchpad.net/awn-testing/ubuntu hardy main
Эту строку можно добавить как через synaptic так и вручную в файл /etc/apt/sources.list, после чего обновить список доступных пакетов. Теперь устанавливаем следующее:
sudo apt-get install avant-window-navigator-bzr awn-core-applets-bzr awn-manager-bzr 
Все остальное подтянется по зависимостям. В общем-то, док можно запускать ("Приложения - Стандартные - Avant window navigator") и редактировать его настройки через awn-manager, доступный из меню "Система - Параметры - AWN manager". Осталось натаскать тем.

Их есть несколько http://wiki.awn-project.org/Themes здесь или на www.gnome-look.org, только на gnome-look придется воспользоваться поиском по словам "awn theme". Установку тем можно провести через интерфейс в awn-manager-е или вручную распаковывая архивы тем в ~/.config/awn/themes/, это я к тому, что установка через интерфейс несколько подглючивает, приходится устанавливать, закрывать и запускать заново awn чтобы увидеть новую тему.

Автозагрузка

Осталось последнее. Загружать все необходимые приложения при старте сессии, то есть после логина. Идем в меню "Система - Параметры - Сеансы" и на первой же вкладке добавляем три новых автозагрузки:

Имя: Compiz Fusion Icon Команда: fusion-icon --no-start Комментарий: Start and manage Compiz Fusion 
Имя: Emerald Decorator Команда: emerald --replace Комментарий: Emerald Compiz Decorator 
Имя: AWN Команда: avant-window-navigator Комментарий: A dock-like window navigator. 
Всё. При следующем сеансе все правильно загрузится и будет работать. Enjoy. Использованы ресурсы: 1) cool-awn-applets-to-adorn-your-ubuntu 2) Emerald themes in 8.04 3) Install-AWN-on-Hardy-Heron

Написано libc6 в 16:53

Кастомизация внешнего вида Gnome / Appearance Customization

Ubuntu Beginners / Новичкам в Ubuntu: Кастомизация внешнего вида Gnome / Appearance Customization

Речь пойдет о простых вещах для новичков. Как поменять внешний вид Гнома. Цвета, бекграунд, иконки, темы. Это все очень просто, но те, кто видят Гном (или дефолтный Ubuntu) впервые, врядли знают, куда копать и где брать заготовки под все это.

Немного теории.

Гном представляет из себя Десктопную Среду. Desktop Environment, он же DE. Это означает, что он не просто управляет окнами, а состоит из множества программ, утилит, содержит свои значки, скрипты, панельки, треи, области оповещений и тд. У него свой менеджер окон и свой графический движок. Своя система взаимодействия с устройствами и драйверами ядра, свой способ взаимодействия с другими программами и тп.

В отличае от Window Manager-ов - которые в сути предоставляют ТОЛЬКО управление окнами - DE предоставляет всё. Типа как фреймворк... я не знаю как по-другому сказать. Одно слово - СРЕДА.

Что же можно поменять в Гноме.

Оконным менеджером у Гнома служит metacity. В разрезе этого поста он отвечает за рамку окна и заголовок окна с контроллами управления - свернуть, развернуть, закрыть, спрятать и т.п, то же самое - тема metacity. То есть, тему этой рамки можно поменять.

Графическим джижком работает GTK - GIMP Toolkit. Когда-то чуваки из Gimp-a смастерили себе графический движок, который потом стал отдельным проектом и теперь, собственно, в ответе за все программы, писанные под GTK. Если по-простому, то графический движок отвечает за средства управления графическими элементами - кнопки, прокрутки, прогресс-бары, менюшки, радиобатоны с чекбоксами и списками выбора и, естественно, за внешний вид всего этого. Клоню я к тому, что тему GTK тоже можно менять.

Остались не менее значительные вещи

  • иконки, которые складываются в целые icon themes,
  • обои рабочего стола, то бишь wallpapers - настенные бумажки,
  • и темы окна логина - GDM темы.
  • В принципе, туда же можно отнести и темы мышиного курсора, cursor themes, хотя они как-бы и не являются частью кастомизации Гнома. Просто там где можно менять остальные темы, можно менять и темы курсоров.

Где брать и как менять.

Основное хранилище этого разнообразия можно без труда получить на www.gnome-look.org - чудесном сайте, созданном специально для целей кастомизации внешнего вида Гнома. Есть еще art.gnome.org, но он будет поменьше и попроще. Не запрещено рыться и в остальном интернете, некоторые люди просто выкладывают свои темы на своих блогах, скромно и не броско. Темы обычно представляют из себя архив tar.gz или bz2, которые поддерживаются утилитой установки новых тем. Архив качается на локальный компьютер и тема из него устнавливается далее описанным способом. Иногда народ пакует свои темы чем-то другим, или включает инструкцию по установке вручную, если тема не устанавливается штатным способом, но в 99% случаев все просто и дополнительных телодвижений не требует.

Устанавливать это все так. Главный инструмент установок любых новых тем - утилита gnome-appearance-properties, которую можно достать через меню "Система - Параметры - Внешний Вид". Можно покопаться в предустановленных темах, их не много, но для экспериментов хватит.
Любая новая тема чего угодно, описанного в этой статье, кроме тем GDM, устанавливается через эту утилиту. Жмите кнопку "Установить". После успешной (обычно) инсталляции темы появится вопрос, "хотите ли вы использовать эту тему прямо сейчас?". Если вы не устанавливаете полтора десятка тем сразу, то, наверное, нужно ответить "да" :). Если нажать на "Настроить" вместо "Установить", то в текущей теме можно по порядку настроить отдельные элементы:

  • Элементы управления - это тема GTK
  • Рамку окна - это тема Metacity
  • Значки - это Icon тема
  • Указатель - это мышиный курсор, Cursor Theme
С этим разобрались.

Отдельным элементом кастомизации стоит тема экрана входа в систему - GDM theme. Взять тему можно на том же www.gnome-look.org, а вот устанавливается она по-другому, с помощью утилиты gdmsetup, человеческий доступ к которой осуществляется через меню "Система - Администрирование - Окно входа в систему". Как обычно, можно выбрать удну из предустановленных тем, или "Добавить" свою, скачанную из интернета. После установки новой GDM темы, чтобы она применилась в будущем, её нужно выбрать и закрыть окно. В следующий раз, когда вы будете логиниться в Гном, эта тема будет использована. Ну, а если вы хотите немедленно увидеть ее в действии, можно нажать комбинацию

[Ctrl]+[Alt]+[BkSpace]
, по доброй линуксовой традиции эта комбинация без всяких вопросов и предупреждений убивает иксы, то есть МГНОВЕННО завершает процесс Xorg. Не забывайте сохранять свои документы ;)

Ну, а в итоге совершенных манипуляций можно получить что-то вот такое: Тема значков Kamel, тема GTK - Tigris. Согласитесь, совсем не похоже на дефолтную Ubuntu.

Написано libc6 в 20:13

вторник, 9 декабря 2008 г.

Открываем mailto ссылки в Firefox и (или) GNOME в GMail

Открываем mailto ссылки в Firefox и (или) GNOME в GMail / Google / Хабрахабр

Так как я пользуюсь исключительно почтой на GMail и стандартный убунтовский Evolution мне не к чему, я решил настроить свою систему так, что бы все ссылки mailto открывались в GMail.

Итак делаеться это в 2 этапа. В начале переведем Ubuntu а затем Firefox.

Делай раз:

1) Открываем в Ubuntu: System \ Preferences \ Preferred Applications

image

2) Выбераем в Mail Reader — Custom и вводим:

~/.config/open_mailto.sh %s

3) Создаем файл:

nano ~/.config/open_mailto.sh

и вписываем туда:

#!/bin/sh
firefox https://mail.google.com/mail?view=cm&tf=0&to=`echo $1 | sed 's/mailto://'`


4) Даем права

chmod u+x ~/.config/open_mailto.sh

Делай два:

1) Открываем Gmail в Firefox

2) В адресной строке вкладки в которой открыт GMail вводим

javascript:window.navigator.registerProtocolHandler("mailto","https://mail.google.com/mail/?extsrc=mailto&url=%s","GMail")

3) Соглашаемся с тем что мы хотим добавить Gmail

image

4) Теперь кликаем на mailto ссылку и Firefox спросит вас, как её открыть. Выбераем Gmail, ставим галочку «Запомнить мое решение»

image

Вот и все. Теперь ваша Ubuntu и Firefox использует по умолчанию Gmail.

Источники:
http://www.howtogeek.com
http://lifehacker.com
8 декабря 2008, 08:40

понедельник, 8 декабря 2008 г.

Менеджер пакетов Smart - "умный" способ обновления вашей системы

Виртуальная энциклопедия "Linux по-русски": новости, статьи, ссылки на материалы по операционной системе GNU/Linux.

Оригинал статьи: Updating your system the Smart way
Автор: Federico Kereki. Дата: 8 ноября 2007 г.
Перевел: М.Антипенко. Дата перевода: 5 декабря 2008 г.
Страница Smart: http://labix.org/smart

У всех дистрибутивов Linux есть что-то общее, но многие отличаются применяемыми средствами инсталляции и обновления программ. Gentoo основан на Portage. SUSE использует YaST. Fedora и Red Hat выбирают yum, Linspire предпочитает CNR ... Да, вспомните еще различные форматы пакетов: RPM, Debian, source (исходники) и другие, менее известные.

Менеджер пакетов Smart работает со всеми основными дистрибутивами (Mandriva, Fedora, RHEL, Debian, SUSE, PCLinuxOS, Slamd64 и др.- примечание переводчика), заменяя родные инструментальные средства и устанавливая различные типы пакетов.

Как пользователь openSUSE, я попробовал YaST, Zen, zypper, apt-get и Synaptic, но наконец-то остановился на Smart. Теперь мой первый шаг после каждой инсталляции и обновления � установка Smart и избавление от всех альтернатив.

Smart к моменту перевода статьи имеет версию 1.1 (скачать исходники) и доступен по лицензии GPL.

Почему Smart "умный"?

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


Кликните чтобы увеличить
Smart также гибок относительно поддержки зеркал. Зеркало � это Интернет-сайт, имеющий то же информационное наполнение, что и оригинальный сайт. Если есть несколько альтернативных зеркал, то Smart решит, какое из них использовать, основываясь на хронологии предыдущих загрузок. Он выбирает самые быстрые зеркала с наименьшим количеством ошибок и проблем. Он может делать параллельные загрузки, допускает множественные подключения к сайтам, поддерживает проверку даты создания файла, возобновление прерванной загрузки и кэширование файлов. Он может работать со всеми обычными протоколами: FTP, FTPS, HTTP, HTTPS, SCP, Telnet, LDAP.

Использование Smart.

Smart предлагает несколько видов интерфейса для различных видов пользователей. Вы можете использовать интерфейс командной строки, интерфейс оболочки (который облегчает выполнение множества операций) или графический интерфейс, основанный на языке Python. Пользователи KDE могут также установить ksmarttray и получать уведомления о доступных обновлениях.

Самый простой способ установить Smart � использование стандартных репозиториев и инструментальных средств Вашего любимого дистрибутива. Например, на сайте openSUSE Smart находится в репозитории suser-guru и Вы можете установить его с помощью YaST.

Для определенных дистрибутивов возможна загрузка готовых бинарников Smart (есть бинарные пакеты для Mandriva, Fedora, RHEL, Debian, SUSE, PCLinuxOS, Slamd64 и др.- примечание переводчика). Если и это не получается, то Вы можете загрузить исходники Smart, скомпилировать и установить его самостоятельно.

Что такое каналы.

Как только вы установите Smart, Вы можете использовать его, чтобы установить другие приложения. В терминологии Smart программные репозитории называются каналами. Вы можете узнать о возможных каналах Smart, используя команду smart channel --help, которая показывает, что Smart может работать со следующими репозиториями (некоторые из дистрибутивов, использующих указанный формат, показаны в скобках):

apt-deb

APT-DEB репозитории

apt-rpm

APT-RPM репозитории

deb-dir

DEB репозитории (Debian и конечно Ubuntu)

red-carpet

Red Carpet каналы

rpm-dir

RPM директории (Fedora)

rpm-hdl

RPM header list

rpm-md

RPM metadata

slack-site

Slackware репозитории (очевидно Slackware)

urpmi urpmi репозитории (Mandriva)
yast2 YaST репозитории (openSUSE)

Чтобы определить каналы, используя графический интерфейс, выберите пункт Edit->Channels. Вы увидите окно, которое показывает все определенные каналы и позволяет Вам добавлять, удалять и изменять каналы.

Самый прямой способ добавить канал, это перейти к New->Provide Channel->Information, выбрать тип канала, и затем определить алиас (псевдоним, короткое название), полное имя, приоритет и URL для репозитория. Затем щелкните на Manual update для ручного обновления канала вместо автоматического. Нажмите Disabled, чтобы выбрать, использовать канал или нет. И нажмите Removable, если выбранный репозиторий находится на сменных носителях, таких как CD или DVD.

Создав или отредактировав все Ваши каналы, нажмите на значок Update, расположенный вверху слева, или перейдите File->Update Channels. Если при этом какой-то из каналов будет недоступен, то процесс обновления остановится, пока Вы не закроете окно предупреждения; если же Вы будете использовать shell-версию, то Smart переключится на следующий канал.

Вы можете также выполнять эти действия из командной строки:

Smart channel --add мой_канал type="тип_канала" name="имя_репозитория" baseurl="URL_канала"

Вы можете подробнее узнать об этом с помощью команд smart --help или man smart.

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

Если Вы используете openSUSE, то Вам будет полезна эта информация на официальном сайте SUSE. С ее помощью можно быстро добавить несколько репозиториев, в том числе для старых версий openSUSE.

Установка и обновление программного обеспечения.

Установка или обновление установленного программного обеспечения проходит очень живо. Используя графический интерфейс, Вы можете найти определенный пакет (для этого нажмите на значок с изображением увеличительного стекла и напечатайте, что Вы ищете) или просто просматривать различные группы пакетов. После того, как Вы найдете желаемые пакеты, нажимаете на них для выбора. По окончании выбора щелкните по значку запуска (или выбираете File->Execute Changes) и Smart загрузит и установит все, что Вами отмечено.

Также могут помочь две опции обновления в меню View: выберите одновременно Hide Non-upgrades и Hide Old, и тогда Вы будете видеть только последние обновления программного обеспечения Вашей системы. Если Вы достаточно предприимчивы, то Вы можете нажать на Edit->Upgrade all (обновить все), или же выбрать только несколько пакетов. Не волнуйтесь о зависимостях: Smart позаботится о них за Вас, и Вы ничего не должны будете делать, если только Smart не попадет в тупиковое состояние. В этом случае самое безопасное, что можно сделать � отложить обновление до лучших времен.

Если Вы не хотите использовать версию с GUI, то Вы можете попробовать установить желаемый пакет или провести полное обновление из командной строки:

Smart install "желаемый_пакет" или Smart upgrade all

Еще лучше использовать smart --shell и затем команды search, install, upgrade и commit; используйте help, чтобы узнать о них больше.

Если Вы проводите слишком много времени, ища пакеты, решая зависимости вручную и напрасно тратя время на обновления, то Smart � самый простой способ поддерживать вашу систему в актуальном состоянии или установить новое программное обеспечение. Вы можете использовать его в нескольких различных дистрибутивах. Это позволит Вам работать с пакетами единообразно, вместо того, чтобы изучать особенности многих различных менеджеров пакетов.

Об авторе: Federico Kereki является инженером Uruguayan systems ("Уругвайских систем") с более чем 20-летним опытом разработки систем, работы консультантом и преподавания в университетах.

Мир лицензий: разбираемся с лицензиями BSD

Мир лицензий: разбираемся с лицензиями BSD / Dura Lex / Хабрахабр

Недавно мной была написана статья Мир лицензий: разбираемся с GNU GPL, в которой я попытался обобщить основную информацию про лицензии GPL, кратко рассказать об истории лицензии, ее версиях и совместимости других лицензий с GPL. В комментариях к статье возникло несколько вопросов и, для ответов на некоторые из них, мной был сделан частичный перевод официального GPL FAQ.

Как это часто бывает, первая статья стала поводом к продолжительным спорам, суть которых сводилась к одному вопросу: «что лучше (для людей, программ, мира, будущего) GPL или BSD лицензии?». На мой взгляд, этот спор сродни вопросу «с какого конца разбивать яйцо?» и не имеет одного определенного ответа. Использование определенной лицензии — это дело каждого и разнообразие их — лишь положительный фактор, который дает разработчикам (и авторам) больше свободы и возможностей для распространения своих трудов.

В этой статье я постараюсь рассмотреть вторую сторону споров — лицензии BSD, их различия, историю и производные. Кроме того, я попытаюсь сравнить GPL и BSD и рассказать, почему оригинальная BSD-лицензия несовместима с GPL.


BSD


Наверное, всем известно, что BSD расшифровывается как «Berkeley Software Distribution». Это название пакета программ, которые собрал Билл Джой, выпускник Калифорнийского Университета Беркли, как приложение к шестой версии операционной системы UNIX. В 1983 году, согласно wiki, пакет 2.9BSD уже являл собой не просто пакет программного обеспечения, но полноценную операционную систему, представляющую из себя модифицированную UNIX v7. Таким образом, «BSD» стало означать «BSD UNIX» и в таком значении эта аббревиатура дожила до наших дней.

Лицензии BSD


С лицензией BSD связана любопытная история, описание которой расположено здесь. Вкратце, уже 4.3BSD в 1986 году содержала в себе отсылки к лицензии BSD в виде комментариев в исходном коде. Но, в силу неких причин, сам текст лицензии не был приложен к дереву проекта. И только 4.4BSD вышедшая в 1994 году содержала в себе полный текст оригинальной лицензии BSD, который (согласно источнику) датируется 1990 годом.

Впрочем, другой источник сообщает о том, что лицензия была использована еще в 1980 году. Как бы то ни было, на сегодняшний день существует несколько вариантов BSD-лицензий.

Original BSD license


Это первый вариант лицензии, который принято называть лицензией 4-ех пунктов (по количеству пунктов условий в тексте). Лицензия разрешала свободное использование и распространение исходных или бинарных кодов с модификациями или без, но с условиями, перечисленными в этих четырех пунктах. Условия эти гласили:
1. Распространенные копии исходного кода должны содержать копирайты указанные выше, этот список условий и отказ от ответственности указанный ниже.
2. Распространенные копии бинарного кода должны воспроизводить копирайты указанные выше, этот список условий и отказ от ответственности указанный ниже в документации и/или других материалах поставляемых с распространяемым пакетом.
3. Все рекламные материалы, ссылающиеся на возможности или использование этого ПО, должны демонстрировать следующее уведомление: Этот продукт включает ПО, разработанное Университетом Калифорнии, Беркли и помогавшими лицами.[1]
4. Ни наименование Университета, ни имена соучастников не могут быть вписаны или использованы для продвижения продуктов произведенных на основании этого программного обеспечения без специального предварительно написанного разрешения.

К сожалению, именно третий пункт придавал лицензии оттенок не совсем свободной, поскольку требовал от авторов модифицированного кода сообщать в копирайтах ссылку рекламного характера. Эта версия лицензии была подвергнута критике и Ричардом Столлманом, автором лицензии GPL. Именно из-за третьего пункта оригинальная BSD-лицензия не совместима с GPL лицензиями и коды выпущенные под ней не могут быть использованы в GPL-проекте.

Revisited BSD license


Проблема с третьим пунктом была решена в 1999 году, когда 22 июля было выпущено обращение Вильяма Хоскинса директора отдела по лицензированию Университета Беркли, в котором отменялся третий пункт лицензии для всех продуктов BSD. Согласно этому документу, более не требовалось включать ссылку на Университет Беркли в своих рекламных материалах.

Таким образом, возникла пересмотренная лицензия BSD, известная так же как лицензия 3-ех пунктов. Этот вариант лицензии стал совместим с лицензиями GPL, что, несомненно, имело важные последствия. Теперь коды обеих лицензий, собранные вместе, можно было выпускать в одном продукте под одной GPL лицензией.

Clear BSD license


Эта разновидность лицензии основана на Revisited BSD license и содержит один дополнительный пункт, который говорит о том, что лицензия не предоставляет никаких прав на патенты. Clear BSD была создана компанией MetaCarta, которая объясняет модификацию желанием исключить неопределенность по отношению к патентам в BSD-лицензиях. Различие в лицензиях заключается в этой строке: «NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.»[2]. Clear BSD совместима с GPLv2 и GPLv3.

FreeBSD license


Эта лицензия так же известна как лицензия 2-ух пунктов. По сравнению с модифицированной BSD-лицензией в этой лицензии убран пункт условий о Университете Беркли. Лицензия родилась при разработке проекта FreeBSD — операционной системе на базе UNIX. Лицензия совместима с GNU GPL.

ISC license (OpenBSD license)


В 1995 возникла очередная вариация UNIX, которую основатели назвали OpenBSD. Для ее распространения использовалась лицензия созданная Internet Software Consortium, которая была схожа с BSD-лицензией двух пунктов (FreeBSD), но по сути убирала эти два пункта, так как согласно Бернской конвенции об охране литературных и художественных произведений они уже не требовались. В итоге лицензия стала представлять собой, кроме отказа от ответственности, одно предложение «Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies». Эта простейшая лицензия совместима с GPL-лицензиями.

GPL и BSD, вместо заключения


По своей сути все лицензии BSD не являются copyleft-лицензиями. То есть они не требуют от производного кода быть свободным. Все лицензии, за исключением самой первой оригинальной, совместимы с GPL-лицензиями, но это не мешает разгораться спорам о том, какая из форм лицензий лучше или хуже, какая лицензия более свободна или какая более хорошо влияет на мир и имеет будущее.

GPL и BSD олицетворяют собой две точки зрения на мир свободного программного обеспечения. Первая считает, что ПО должно быть свободным и порождать свободное ПО. «Свобода или Смерть» — лозунг Столлмана как нельзя лучше отражает смысл этой точки зрения. Вторая точка зрения предполагает, что свобода должна заключаться и в том, чтобы делать несвободное ПО. Это более либеральная точка зрения. По сути, здесь возникает философский вопрос: можно ли считать свободой разрешение на ограничение свободы.

На самом деле хорошо, что большинство разработчиков не увлекаются и подходят к вопросу просто: если они хотят видеть части своего ПО только в подобных свободных продуктах, то они выбирают GPL, если им все равно, то они часто выбирают BSD-лицензии. Именно безразличие к судьбе своего ПО и характеризует отличный от GPL подход к свободе.

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

Источники


[1] Лицензия BSD
[2] The Clear BSD: Introduction

PS:
пожалуйста, если вы нашли неточность или ошибку в статье, сообщите в комментариях или мне на личную почту

_________
Текст подготовлен в ХабраРедакторе

6 декабря 2008, 19:46

вторник, 2 декабря 2008 г.

Файловые системы в Linux

Файловые системы в Linux / Linux для всех / Хабрахабр

XFS — начало разработки 1993 год, фирма Silicon Graphics, в мае 2000 года предстала в GNU GPL, для пользователей большинства Linux систем стала доступна в 2001-2002 гг. Отличительная черта системы — прекрасная поддержка больших файлов и файловых томов, 8 эксбибайт — 1 байт (8*260-1 байт) для 64-х битных систем. Ко всему прочему обладает другими немаловажными особенностями — непрерывные области дискового пространства, задержка выделения пространства и онлайн дефрагментация. Является одной из старейших журналируемых файловых систем для *nix, и содержит в себе наиболее отлаженный, в этом контексте, исходный код.

ReiserFS (Reiser3) — одна из первых журналируемых файловых систем под Linux, разработана Namesys. Имеет некоторые врождённые головные боли, но в целом неплохая система, ведущая отсчёт дней своих с 2001 года. Оговорюсь, что смысл журналируемых систем заключается в дисковых транзакциях, которые последовательно пишутся в специальную зону диска (журнал, он же лог), перед тем как данные попадают в конечные точки файловой системы. Максимальный объём тома для этой системы равен 16 тебибайт (16*240 байт).

JFS (Journaled File System) — файловая система, детище IBM, явившееся миру в далёком 1990 году для ОС AIX (Advanced Interactive eXecutive). В виде первого стабильного релиза, для пользователей Linux, система стала доступна в 2001 году. Из плюсов системы — неплохая масштабируемость. Из минусов — не особо активная поддержка на протяжении всего жизненного цикла. Максимальный рамер тома 32 пэбибайта (32*250 байт).

ext (extended filesystem) — появилась в апреле 1992 года, это была первая файловая система, изготовленная специально под нужды Linux ОС. Разработана Remy Card с целью преодолеть ограничения файловой системы Minix.

ext2 (second extended file system) — была разработана Remy Card в 1993 году. Не журналируемая файловая система, это был основной её недостаток, который исправит ext3.

ext3 (third extended filesystem) — по сути расширение исконной для Linux ext2, способное к журналированию. Разработана Стивеном Твиди (Stephen Tweedie) в 1999 году, включена в основное ядро Linux в ноябре 2001 года. На фоне других своих сослуживцев обладает более скромным размером пространства, до 4 тебибайт (4*240 байт) для 32-х разрядных систем. На данный момент является наиболее стабильной и поддерживаемой файловой системой в среде Linux.

Reiser4 — первая попытка создать файловую систему нового поколения для Linux. Впервые представленная в 2004 году, система включает в себя такие передовые технологии как транзакции, задержка выделения пространства, а так же встроенная возможность кодирования и сжатия данных. Ханс Рейзер (Hans Reiser), главный разработчик системы, рекламировал использовать своё детище непосредственно как БД с улучшенными метаданными. После того, как Ханс Рейзер был осуждён за убийство в 2008 году, дальнейшая судьба системы стала сомнительной.

ext4 — попытка создать 64-х битную ext3 способную поддерживать больший размер файловой системы (1 эксбибайт). Позже добавились возможности — непрерывные области дискового пространства, задержка выделения пространства, онлайн дефрагментация и прочие. Обеспечивается прямая совместимость с системой ext3 и ограниченная обратная совместимость при недоступной способности к непрерывным областям дискового пространства.

UPD: Btrfs (B-tree FS или Butter FS) — проект изначально начатый компанией Oracle, впоследствии поддержанный большинством Linux систем. Многие считаеют систему эдаким ответом на ZFS. Ключевыми особенностями данной файловой системы являются технологии: copy-on-write, позволяющая сделать снимки областей диска (снапшоты), которые могут пригодится для последующего восстановления; контроль за целостностью данных и метаданных (с повышенной гарантией целостности); сжатие данных; оптимизированный режим для накопителей SSD (задаётся при монтировании) и прочие. Немаловажным фактором является возможность перехода с ext3 на Btrfs. С августа 2008 года данная система выпускается под GNU GPL.

Tux2 — известная, но так и не анонсированная публично файловая система. Создатель Дэниэл Филипс (Daniel Phillips), система базируется на алгоритме «Фазового Дерева», который как и журналирование защищает файловую систему от сбоев. Организована как надстройка на ext2.

Tux3 — наступая на пятки Btrfs, представлена новая файловая система. Система создана на основе FUSE (Filesystem in Userspace), специального модуля для создания файловых систем на *nix платформах. Данный проект ставит перед собой цель избавиться от привычного журналирования, взамен предлагая версионное восстановление (состояние в определённый промежуток времени). Преимуществом используемой в данном случае версионной системы, является способ описания изменений, где для каждого файла создаётся изменённая копия, а не переписывается текущая версия. Такой подход позволяет более гибко управлять версиями.

UPD: Xiafs — задумка и разработка данной файловой системы принадлежат Frank Xia, основана на файловой системе MINIX. В настоящее время считается устаревшей и практически не используется. Наряду с ext2 разрабатывалась, как замена системе ext. В декабре 1993 года система была добавлена в стандартное ядро Linux. И хотя система обладала большей стабильностью и занимала меньше дискового пространства под контрольные структуры — она оказалась слабее ext2, ведущую роль сыграли ограничения максимальных размеров файла и раздела, а так же способность к дальнейшему расширению.

UPD: ZFS (Zettabyte File System) — изначально созданная в Sun Microsystems файловая система, для небезызвестной операционной системы Solaris в 2005 году. Отличительные особенности — отсутствие фрагментации данных как таковой, возможности по управлению снапшотами (snapshots), пулами хранения (storage pools), варьируемый размер блоков, 64-х разрядный механизм контрольных сумм, а так же способность адресовать 128 бит информации! В Linux системах может использоваться посредствам FUSE.

По мотивам www.kev009.com/wp/2008/11/on-file-systems/

Настройка резервного копирования в Ubuntu за 20 минут.

Настройка резервного копирования в Ubuntu / Linux для всех / Хабрахабр


Для работы над проектами использую svn, который находится на удаленном виртуальном выделенном хосте, под управлением ubuntu 8.04. Со временем объемы данных выросли, как и критичность этих данных. Потеря чего-то снилась в кошмарах. Время от времени копировал репозитории на локальный компьютер. Недавно мне это надоело. И я стал искать возможности автоматизировать это дело. Не буду говорить о поисках и вариантах, расскажу о результатах.

Итак, мы имеем удаленный хост под управлением ubuntu, с некоторым массивом довольно критичных данных. Довольно логичным было бы настроить бэкап прямо на удаленном хосте, с помощью tar по крону, rsyns и т.д. Но, т.к. место на виртуальном выделенном хостинге довольно дорого и использовать его лучше по делу, идеально было бы, чтобы данные автоматически копировались на какую нибудь локальную машину, место на которой хоть отбавляй. В моем случае это файловый сервис в офисе, под управлением все той же Ubuntu.


Подготовка


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

$ ssh-keygen -t dsa

Оставьте папку по-умолчанию, а пароль сделайте пустым.
Эта команда должна создать в папке ~/.ssh(по умолчанию) два файла — private и public key. private предназначается для локальной машины, pub отправляется на удаленный.

Теперь копируем private key в папку /root/.ssh, чтобы пользователь root так мог пользоваться им

$ cd ~/.ssh
$ sudo mkdir /root/.ssh
$ sudo cp id_dsa /root/.ssh


Теперь надо скопировать public key на удаленную машину, с которой мы хотим копировать данные. Предварительно создайте пользователя backup на удаленной машине(команда adduser). Не забудьте дать этому пользователю права на чтение каталогов, которые вы хотите копировать.

$ cat ~/.ssh/id_dsa.pub | ssh backup@remotehost.ru "cat >> ~/.ssh/authorized_keys2"

Теперь можем попробывать зайти через ssh на удаленную машину:

$ ssh backup@remotehost.ru

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

remotehostru$ chmod 700 .ssh
remotehostru$ chmod 400 .ssh/authorized_keys2
remotehostru$ exit


Настройка rsnapshot


rsnapshot — утилита для создания копий состояния файловых систем на базе rsync. Она упрощает создание периодических копий с локальной и удаленных машин по ssh. Она использует, по возможности, жесткие связи, что позволяет существенно уменьшить объем необходимого дискового пространства. (цитата отсюда)

Установка


Устанавливаем rsnapshot:

$ sudo apt-get install rsnapshot

Если вы используете не debian-подобный дистрибутив, rsnapshot наверняка тоже есть в репозиториях вашего дистрибутива. Для CentOS, при включенных RPMForge это делается, например, так:

# yum install rsnapshot

Теперь нам нужно создать директорию, где мы собираемся хранить наши «снимки»:

$ sudo mkdir /var/snapshots

Настройка


Теперь можно перейти к настройке, собственно, rsnapshot:

$ sudo nano /etc/rsnapshot.conf

Вместо nano вы можете использовать любой другой редактор, например vi, или gedit, если работаете в GNOME.
Настроить нужно следующие параметры:

snapshot_root - директория, в которую вы хотите сохранять "снимки".

interval xxx yy - ххх - название интервала(например hourly, daily), yy - количество снимков для каждого. Например:
interval hourly 6
interval daily 7


Означает, что мы хотим хранить 6 ежечасных копий и 7 ежемесячных. Если уже доступно указанное количество копий, rsnapshot будет заменить старую более новой.

Расскомментируйте cmd_cp. cmd_ssh расскоментируйте и измените на

cmd_ssh /usr/bin/ssh

Настройка бэкапа осуществляется командой backup <откуда> <куда>:

#Добавляем папку /etc/ с локальной машины в папку localhost/
backup /etc/ local/
#Добавляем папку /var/svn с удаленной машины в папку remotehost/
backup backup@remotehost.ru:/var/svn/ remotehost/


Помните, что в конфигурационном файле недопустимы пробелы — используйте только табы.

Пробный запуск


Запустим rsnapshot:
$ rsnapshot hourly

Второй параметр означает интервал, который мы задали в конфигурационном файле.
Команда может выполняется продолжительное время. После выполнения, смотрим, что она создала:
$ ls -l /var/snapshots

Пока что в директории должен быть один каталог: hourly.0. При следующем запуске rsnapshot будет создавать каталоги hourly.1, hourly.2 и т.д., пока не упрется в максимум, указанный нами в конфигурационном файле.

Настройка cron


В Ubuntu автоматически создается файл /etc/cron.d/rsnapshot со следующим содержанием:
0 */4 * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly


Вот и все. Теперь у вас 6 раз в сутки должен автоматически создаваться снимок данных с вашего удаленного сервера. Данные в сохранности, да еще и географически распределены.

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

Дополнительная информация


С помощью параметра backup_script можно также настроить резервное копирование баз данных MySQL, да и вообще всего, чего угодно. Я не описывал сей процесс, т.к. у меня он не используется и ничего конкретного сказать не могу.
Подробнее можно почитать в гугле. По запросу rsnapshot вылезает куча релевантных ссылок, правда на английском языке.

Прошу особо не ругать, на гуру администрирования(да и linux) я не похож, но довольно долго искал, как просто автоматизировать резервное копирование — нашел способ, решил поделиться.
Но конструктивной критике и предложениям буду, конечно, рад.
_________
Текст подготовлен в ХабраРедакторе

понедельник, 1 декабря 2008 г.

GTK-Qt Theme Engine feat QtCurve

GTK-Qt Theme Engine feat QtCurve « yarodin

Опубликовал yarodin на 25 Ноя 2008

У меня на десктопе KDE 3.5.10. Как и большинству пользователей, приходится время от времени использовать несколько безальтернативных приложений, написанных с использованием библиотек оконных элементов отличных от QT3. В частности: GTK2 - GIMP, DIA, Firefox, OpenOffice, EasyTAG; Qt4 - QStarDict, SMPlayer, Avidemux (в принципе можно использовать и GTK2).

После того как меня в первый раз утомил винегрет в интерфейсах используемых программ, открыл для себя GTK-Qt Theme Engine - по сути плагина для GTK, позволяющего GTK приложениям использовать Qt стили виджетов. Несколько позже, случайно наткнулся на KGtk - программку через враппер подменяющей GTK'шный диалог открытия файлов KDE'шным. И если KGtk меня на 200% устраивала (особенно после моих доделок), то GTK-Qt Theme Engine по большей части добавляла всего лишь цвета+некоторые иконки в GTK'шные приложения. Т.е. все выглядело вот так:

 
И я бы и дальше довольствовался этим, если бы не чудовишные артефакты в 3-м Firefox: искажения у табов (отмечены красным), и искажения у полосы прокрутки (не получилось изобразить на скриншоте). Как водится, погуглил и нашел QtCurve - набор стилей виджетов для придания однообразного вида GTK2,Qt3,Qt4 приложениями. Единственная проблема возникла при сборке qtcurve для Qt4, так как у меня KDE 3й версии. Решил ее просто:

USE="-kde" emerge x11-themes/qtcurve-qt4

GTK-Qt Theme Engine отправлять на свалку истории не стал - очень удобно с помощью нее управлять стилями GTK приложений через kcontrol. В результате вся настройка представила из себя указание стиля QtCurve в:

1. kcontrol->Внешний вид и темы->Стиль.

2. kcontrol->Внешний вид и темы->Стили и шрифты GTK.

3. qtconfig.

В результате получилось вот так:

Однообразие элементов интерфейса просто потрясающее!!! Все артефакты в Firefox, как можно видеть, исчезли. Количество GTK'шный иконок заменных на соответствующие Qt/KDE изрядно больше чем в чистой GTK-Qt Theme Engine. В гостях у сказки :)