октября 07, 2007

Удаление sendmaill из дочерних зон

Проблема - удалил из глобальной зоны sendmail, а в локальных зонах он не был остановлен... И не удалился соответственно.

Получилась патовая ситуация - в глобальной зоне пакета нет (SUNWsndmr), а в локальной он не удаляется, потому, что нужно удалить сначала из глобальной. Что делать?

Попытка прямого удаления пакета из зоны:

  $ sudo pkgrm -A SUNWsndmr
  pkgrm: ERROR: no package associated with <SUNWsndmr>

Правильная команда позволяет удалять любой пакет из зоны, не удаляя из глобальной зоны и выглядит так:

  $ sudo pkgrm -s /var/sadm/pkg SUNWsndmr
  ...
  Removal of <SUNWsndmr> was successful.

► Статья полностью...

октября 03, 2007

Сворачивание статей в блоге.

В движке блога blogspot.com все меня устраивало, кроме одного - как сделать так, чтобы статьи не публиковались на главной странице целиком?

В общем озадачился я этой проблемой и нашел-таки решение. Далее привожу свою версию последовательности действий.

1. Сначала нужно экспортировать шаблон в файл XML в разделе "Шаблон" => "Изменить HTML" => "Зарезервировать/восстановить шаблон"

2. Далее, открыв файл шаблона в редакторе, вставляем ниже следующий код внутрь тэга <head>:

<style>
  <b:if cond='data:blog.pageType == "item"'>
    span.fullpost {display:inline;}
  <b:else/>
    span.fullpost {display:none;}
  </b:if>
</style>

3. Находим тэг <data:post.body/> и после него ставим:

<b:if cond='data:blog.pageType != "item"'><br />
  <a expr:href='data:post.url'>Подробнее...</a>
</b:if>

4. Измененный шаблон загружаем обратно. Там же, в разделе "Зарезервировать/восстановить шаблон"

5. В дальнейшем, в процессе редактировании каждой новой статьи блога, свертываемую часть сообщения - ту которая не должна отображаться на главной странице, нужно заключить в тэг <span class="fullpost"> </span>. Это конечно не совсем наглядно, однако позволяет четко знать, какая часть сообщения видна.

Ссылки


► Статья полностью...

июля 10, 2007

Запуск програм X11 через ssh туннель из под root и используя sudo

Существует проблема запуска программ X11 из под другого пользователя (root) через ssh туннель и с помощью sudo в сеансе пользователя. Она связана с аутентификацией сеансов X11 (Например выдается ошибка: Invalid MIT-MAGIC-COOKIE-1 keyError: Can't open display: :0.0). Данная проблема решается указанным далее образом.

  • Подключаемся к удаленному хосту:
  • ssh -Y USER@some.hostname
  • Получаем рутовые привилегии:
  • su -
  • И объединяем файлы Xauthority:
  • xauth merge /home/USER/.Xauthority

Все, можно запускать программы X11 от имени root.

Кстати, можно включить форвардинг X11 глобально, в конфигурации ssh - /etc/ssh/ssh_config ( ForwardX11 yes), тогда не нужно добавлять флаг -Y в командной строке.

Запуск программ X11 используя sudo

Для того, чтобы запускать программы X11 используя sudo достаточно внести изменения в файл конфигурации /etc/sudoers. А именно - добавить в список параметра env_keep значения DISPLAY и XAUTHORITY:

Defaults env_keep = "DISPLAY XAUTHORITY ..."

Все, можно запускать программы X11 через sudo. Например попробуйте запустить - sudo xclock.

Этот способ работает и из под Gnome и из под KDE. Если в sudoers установлен параметр требовать пароль пользователя, то нужно запускать команду sudo из терминала, так как стандартного диалога GTK/KDE для ввода пароля на предусмотрено.


► Статья полностью...

июня 21, 2007

Замена Sendmail на Postfix в Solaris 10

В Solaris 10 сильно не понравилось отсутствие родного Postfix - все-таки настройка Sendmail это не тривиальная проблема. Проще его снести и поставить что-то приличное. Как это сделать смотрите здесь. У меня все установилось без проблем (V490/SPARC).


► Статья полностью...

Open Source Software for Solaris

Жутко надоело работать с SUNFREEWARE - весьма нудно ставить пакеты и вручную разбирать зависимости. Я уж было решил, что на солярке все так - гм... криво. Оказалось, что не все! Нашел поразительно удобный репозитарий OpenSource пакетов для Solaris 10 - BlastWare. Ну прямо почти как yum! Очень обрадовался. Пользоваться легко - читаем HOWTO, устанавливаем пакет утилит, и все. Можно устанавливать любой пакет из репозитария с автоматическим отслеживанием зависимостей и поддержкой обновлений. Например устанавливаем fortune:
$ sudo /opt/csw/bin/pkg-get -i fortune

► Статья полностью...

июня 18, 2007

Обновление FC6 - FC7

Ну вот, решил обновить свою Fedora Core 6 на 7. Посмотреть на подвижки на фронте разработки FC... Запасся всяческими полезными от здоровья вещами, т.е. пивом, вкусным ужином и DVD с FC7 и вечерком в пятницу засел за медитацию на своем IBM ThinkPad Z60t.

В общем в течении одного-двух часов это было довольно скучное занятие, ничего не происходило, кроме сосредоточенного шуршания винчестера. Я уж даже было поверил, что мне таки удасться обновить систему на гоп-стоп :/

Но потом таки началось развлечение! Сначала, практически закончив все устанавливать инсталлятор anaconda вывалился с какой-то дикой ошибкой, видимо не справившись со всеми этими зависимостями и нимало сумняшись пошел на ребут... Вообще конечно странно и немного непонятно - зачем сосредоточенно готовить какую-то транзакцию по установке, если она не откатывается по ошибке?

Она естественно и не откатилась... Правда система загрузилась практически без проблем, ну не считая каких-то невразумительных выкриков nash. И естественно оказалось, что старые пакеты не деинсталлированны и у меня 5.5G винта забросано системой, что собственно ровно в 2 раза больше нормального.

Удаление пакетов FC6

В общем нужно удалить старые пакеты FC6... Не особо приятно, но надо. Первое, что пришло в голову - делаю выборку всех fc6 пакетов в файл stale.fc6 :

$ sudo rpm -qa | grep "fc6$" | tee stale.fc6

И получаю 800 с лишним пакетов. Гм. Будем резать. Что еще остается?

# cat stale.fc6 | xargs rpm -ev

Естественно вывалилась куча ошибок. Оказалось, ну не то чтобы совсем неожиданно ;), что много fc6 пакетов входят стандартно в fc7. Соответственно есть зависимости. Эти пакеты я не трогаю, просто либо удаляю их из файла stale.fc6, либо прописываю то, что от них зависит. Не мудрено, что инсталлятор сдох...

После того, как нужные пакеты все таки удалились, оказалось что удаляясь они частично попортили уже установленные новые пакеты. А вот это неприятно. Нужно восстановить установленные пакеты fc7.

Восстановление пакетов FC7

Это вот сложнее, чем удалить старые пакеты. Пришлось писать маленькую программку:

#!/usr/bin/perl
# (C) 2007 by Vladimir Kolundin
# Check broken rpms
# Parameters: path of the RPM storage (e.g. DVD)

use strict;

my ($cur_rpm, $cur_arch, $is_bad, $repo);

$repo = shift;
open(RPMH, "rpm -qa 2>&1 |") ||
  die "[938826] Can't execute rpm utility.";

while(<RPMH>) {
  chomp;
  $cur_rpm = $_;
  $is_bad = 0;
  open(CURH, "rpm -q --verify --nodigest $cur_rpm 2>&1 |") ||
    die "[248984] Can't execute rpm utility.";

  while (<CURH>) {
    if (/^missing/i) {
      next if m[/usr/share/doc/];
      $is_bad = 1;
      last;
    }
  }

  close CURH;

  if ($is_bad) {
    $cur_arch = `rpm -q --qf '%{ARCH}' $cur_rpm`;
    $cur_rpm = "$cur_rpm.$cur_arch.rpm";
    print "$cur_rpm\n" if (-e "$repo/$cur_rpm");
  }
}

Суть программки состоит в следующем:

  • Открываем вывод утилиты rpm как файл.
  • Проводим верификацию каждого пакета в выводе на предмет missing файлов, а так как я не особенно не торопился (C), то пакеты у которых не хватает только документации пропускаем (next if m[/usr/share/doc/];).
  • Для найденных битых пакетов ищем файлы на DVD (путь к репозиторию - параметр скрипта), ибо что толку найти битый пакет и не иметь возможности его переустановить?

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

# perl check-missing.pl /media/cdrom/Fedora | tee reinstall.fc7
# cd /media/cdrom/Fedora
# cat ~/reinstall.fc7 | xargs rpm -Uhv --force

В результате у меня все пакеты были переустановлены. Осталось только навести глянец.

Наводим глянец

Естественно я подразумеваю, что интернет Вы уже настроили ;) Я же обновляю систему, а не устанавливаю.

Устанавливаем репозиторий LIVNA:

$ sudo rpm -Uvh \ http://rpm.livna.org/fedora/7/i386/livna-release-7-2.noarch.rpm

Приводим в порядок шрифты

$ sudo rpm -Uvh \ http://avi.alkalay.net/software/freetype.bci/FC7/freetype-freeworld-2.3.4-1.i386.rpm

Перезапускаем иксы. Чтобы понять, как это работает читаем Linux Font HOWTO.

Устанавливаем шрифты Web Standard Fonts

Эти пакеты содержат популярные шрифты, такие как Arial, Times New Roman, Tahoma, Verdana, а так же новые шрифты Windows Vista and MS Office 2007. Подробнее смотрим здесь.

$ sudo rpm -Uvh \
http://avi.alkalay.net/software/webcore-fonts/webcore-fonts-3.0-1.noarch.rpm \
http://avi.alkalay.net/software/webcore-fonts/webcore-fonts-vista-3.0-1.noarch.rpm

После этого настраиваем рабочий стол как описано в Linux Font HOWTO, для KDE или Gnome.

Поддержка MP3

$ sudo yum -y install kdemultimedia-extras-nonfree id3v2

Устанавливаем Amarok

$ sudo yum -y install amarok-extras-nonfree

Устанавливаем DVD плеер

$ sudo yum -y install vlc

Вот собствено в общих чертах и все... В районе 5:30 утра я пошел спать. Вполне удовлетворенный :)


► Статья полностью...

апреля 12, 2007

[Solaris] Как узнать к какому пакету принадлежит файл?

Для этого нужно воспользоваться командой pkgchk. Например, для того, чтобы определить к какому пакету принадлежит файл /usr/local/lib/libgmodule-2.0.so.0.1300.0, выполним следующую команду:
$ sudo pkgchk -lp /usr/local/lib/libgmodule-2.0.so.0.1300.0
Pathname: /usr/local/lib/libgmodule-2.0.so.0.1300.0
Type: regular file
Expected mode: 0755
Expected owner: bin
Expected group: bin
Expected file size (bytes): 15484
Expected sum(1) of contents: 22106
Expected last modification: Mar 18 07:35:19 2007
Referenced by the following packages:
        SMCglib
Current status: installed

► Статья полностью...

февраля 21, 2007

Outlook Web Access (OWA) - Неизвестная ошибка.

Сбой: При создании нового сообщения в Outlook Web Access (OWA) IE долго думает, а потом пишет в окне нового сообщения вполне лаконично - Неизвестная ошибка. После нескольких последовательных попыток падает, при этом успевая сказать, что "в то время как он падал" была загружена библиотека [mimectl.dll]. Данные ОС: IE 6.0 Win XP Pro 2002 SP2 Решение: Этот сбой вызван ошибкой модуля S/MIME и (говорят) исправлен во Exchange SP2. Решения два: 1. Удалить сбойный модуль. Выполнить следующие команды в cmd:
prompt> c: prompt> cd "%SystemRoot%\Downloaded Program Files" prompt> regsvr32 /u exsmime.dll prompt> regsvr32 /u mimectl.dll
2. Зарегистрировать новую версию модуля (если установили Exchange SP2) в OWA.
Настройки->Безопасность электронной почты->Установка последней версии элемента управления S/MIME.
Положительным фактором последнего варианта является то, что в дальнейшем этот модуль появляется (как бы можно удалить) в "Установка и удаление программ" -> Microsoft Web Access S/MIME. Отрицательным - то, что он так и не заработал :( Кстати, эта ошибка исправлена и есть хотфикс для Exchange SP 2. Описание бага следующее:
The Compose Message form stops responding after you install Internet Explorer 7.0 and the S/MIME control on an Outlook Web Access client in Exchange Server 2003
Заметьте, что используется 7-я версия IE... Вот еще обсуждение этого фикса на течнете. Кстати после установки этого хотфикса на Exchange 2003 и переустановки модуля на 6-м Explorer'e глюк продолжил свое функционирование :(. Так что придется устанавливать IE 7.0, но на это сегодня я уже не готов...

► Статья полностью...