Отключение IPv6 в BIND/NAMED

BIND/named постоянно спамит в логах сообщением о недоступности корневых серверов в адресном пространстве IPv6.

named[15789]: error (network unreachable) resolving 'ns2.ett.com.ua/AAAA/IN': 2001:67c:258::1#53
named[15789]: error (network unreachable) resolving 'ns2.ett.com.ua/AAAA/IN': 2001:67c:e0::121#53
named[15789]: error (network unreachable) resolving 'ns2.tsua.net/A/IN': 2001:503:a83e::2:30#53
named[15789]: error (network unreachable) resolving 'ns.ukr.net.ua/A/IN': 2001:678:4::9#53
named[15789]: error (network unreachable) resolving 'ns.ukr.net.ua/AAAA/IN': 2001:678:4::9#53
named[15789]: error (network unreachable) resolving 'ns.kolo.net/AAAA/IN': 2001:503:231d::2:30#53
named[15789]: error (network unreachable) resolving 'ns2.wn.net.ua/A/IN': 2001:500:14:6012:ad::1#53
named[15789]: error (network unreachable) resolving 'ns2.wn.net.ua/AAAA/IN': 2001:500:2e::1#53
named[15789]: error (network unreachable) resolving 'ns.wn.net.ua/AAAA/IN': 2a03:6300:1:102::3#53
named[15789]: error (network unreachable) resolving 'ns.dn.ua/A/IN': 2001:470:2e:1::27#53
named[15789]: error (network unreachable) resolving 'ns.zp.ua/AAAA/IN': 2001:6b0:7::2#53
named[15789]: error (network unreachable) resolving 'ns.dn.ua/A/IN': 2001:6b0:7::2#53
named[15789]: error (network unreachable) resolving 'ns.zp.ua/A/IN': 2001:7f8:55::65#53
named[15789]: error (network unreachable) resolving 'ns.dn.ua/A/IN': 2a02:2b30::225:125#53

Учитывая, что IPv6 адрес провайдером не выдан – отключим IPv6 запросы в BIND.
Для отключения IPv6 в named корректируем /etc/sysconfig/named:

OPTIONS="-4"

После чего необходимо перестартовать named

Трудности сборки php

Проблема

checking for U8T_DECOMPOSE...
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing.
 This should not happen. Check config.log for additional information.
make: *** No targets specified and no makefile found.  Stop.

Решение

Установить libc-client-devel. Стоит обратить внимание, что на диске CentOS 6 выкачанном с официального сайта, ниже приведенных пакетов нет. Скачать можно с любого из зеркал по пути /mirror/centos/6.0/os/x86_64/Packages

rpm -Uhv libc-client-2007e-11.el6.x86_64.rpm
rpm -Uhv libc-client-devel-2007e-11.el6.x86_64.rpm

Проблема

configure: error: Kerberos libraries not found.

Решение

ln -s /usr/lib64 /usr/kerberos/lib

Проблема

configure: error: Cannot find ldap libraries in /usr/lib.

Решение

Создать символические ссылки на искомые библиотеки

ln -s /usr/lib64/liblber.so /usr/lib/liblber.so
ln -s /usr/lib64/libldap.so /usr/lib/libldap.so
ln -s /usr/lib64/libldap_r.so /usr/lib/libldap_r.so

Проблема

configure: error: Cannot find libmysqlclient under /usr

Решение

Опция –with-libdir=lib64 решает проблему, естесственно при установленном mysql-devel. Не путать с опцией –libdir.

Проблема

При компиляции PHP и bzip2 в 64 битной системе, возникает ошибка:

/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../libbz2.a(bzlib.o):
  relocation R_X86_64_32S against `.text' can not be used when making a shared object;
  recompile with -fPIC
/usr/lib/gcc/x86_64-redhat-linux/4.4.4/../../../libbz2.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1

Решение

В папке, из которой был установлен bzip2 правим Makefile добавив -fPIC строке CFLAGS

CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) -fPIC

Пересобираем и устанавливаем bzip2, следующими командами. (PREFIX опционально)

make clean
make install PREFIX=/usr

После чего можем собирать php

500 OOPS: cannot change directory:/home/user

Как наиболее вероятная ошибка данного сообщения кроется в selinux (системе принудительного контроля доступа). Данная система входит в ядро linux и по умолчанию включена в большинстве современных дистрибутивов.

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

setsebool ftp_home_dir 1

Проверить текущие установки всех разрешений

getsebool -a

Или можно отключить SeLinux, любым из доступных способов. Хотя лучше этого не делать.

Отмена перехода на зимнее время. Украина. 2011.

В Украине отменен переход на зимнее время. Верховная Рада поддержала законопроект №8330 «Об изменении порядка исчисления времени на территории Украины». В связи с этими законодательными инновациями, на плечи украинских IT-шников легла производственная задача – 30 октября 2011 навсегда остаться в киевском летнем времени. Теперь этот часовой пояс в unix называется FET – Further-eastern European Time или дальневосточно-европейское время.

Время в Linux. Теория

Текущий часовой пояс в ОС Linux устанавливается файлом /etc/localtime. Этот файл представляет собой ссылку на информационный файл зоны или его копию, в большинстве дистрибутивов расположенный в каталоге /usr/share/zoneinfo. В данном каталоге размещена zoneinfo database база данных информации о зонах, или другими словами, tz database (timezone database — база данных часовых поясов) — совместно собираемая информация о мировых временных зонах. Иногда она упоминается как «база данных Олсона» (Olson database), так как была основана Артуром Дэвидом Олсоном (Arthur David Olson). Редактором и хранителем базы является Пол Эггерт (Paul Eggert). Обновления кода базы данных часовых поясов можно получить непосредственно из источника на ftp://elsie.nci.nih.gov/pub/

Как не перейти на зимнее время. Решение

  • Качаем обновление tzdata2011k.tar.gz от 26 сентября 2011 года, в котором присутствует информация по новым часовым поясам для Украины, в которое вошли зоны Europe/Kiev, Europe/Uzhgorod, Europe/Zaporozhye, Europe/Simferopol.
  • Распаковываем
    mkdir tz
    mv tzdata2011k.tar.gz ./tz
    cd tz/
    tar xzf tzdata2011k.tar.gz
    
  • Перед внесением изменений проверим переходы времени для нашей текущей зоны. Видим ежегодное расписание переходов времени зимнее/летнее вплоть до 2038 года.
    zdump -v Europe/Kiev
    ...
    Europe/Kiev  Sun Mar 27 00:59:59 2011 UTC = Sun Mar 27 02:59:59 2011 EET isdst=0 gmtoff=7200
    Europe/Kiev  Sun Mar 27 01:00:00 2011 UTC = Sun Mar 27 04:00:00 2011 EEST isdst=1 gmtoff=10800
    Europe/Kiev  Sun Oct 30 00:59:59 2011 UTC = Sun Oct 30 03:59:59 2011 EEST isdst=1 gmtoff=10800
    Europe/Kiev  Sun Oct 30 01:00:00 2011 UTC = Sun Oct 30 03:00:00 2011 EET isdst=0 gmtoff=7200
    ...
    Europe/Kiev  Sun Oct 25 00:59:59 2015 UTC = Sun Oct 25 03:59:59 2015 EEST isdst=1 gmtoff=10800
    Europe/Kiev  Sun Oct 25 01:00:00 2015 UTC = Sun Oct 25 03:00:00 2015 EET isdst=0 gmtoff=7200
    ...
    
  • Убедимся в наличии необходимого обновления
    vi europe
    ...
    Zone Europe/Kiev        2:02:04 -       LMT     1880
                            2:02:04 -       KMT     1924 May  2 # Kiev Mean Time
                            2:00    -       EET     1930 Jun 21
                            3:00    -       MSK     1941 Sep 20
                            1:00    C-Eur   CE%sT   1943 Nov  6
                            3:00    Russia  MSK/MSD 1990
                            3:00    -       MSK     1990 Jul  1 2:00
                            2:00    -       EET     1992
                            2:00    E-Eur   EE%sT   1995
                            2:00    EU      EE%sT   2011 Mar lastSun 1:00u
                            3:00    -       FET # Further-eastern European Time
    
    ...
    
  • На всякий случай делаем резервную копию файла с текущими настройками:
    mv /etc/localtime  /etc/localtime-old
    
  • Компилируем временные зоны для Европы. zic читает текстовый файл с описаниями зон и на выходе формирует файлы специфического формата. Стоит обратить внимание что без ключа -d пишет файлы временных зон сразу в /usr/share/zoneinfo, что нам и необходимо.
    zic europe
    
  • Создаем ссылку на обновленную временную зону
    ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime
    
  • Проверяем установленную зону в файле
    cat /etc/sysconfig/clock | grep ZONE
    ZONE="Europe/Kiev"
    
  • После обновления проверим переходы времени для нашей текущей зоны. В последний раз переход произошел Mar 27 04:00:00 2011
    zdump -v Europe/Kiev
    ...
    Europe/Kiev  Sun Mar 27 00:59:59 2011 UTC = Sun Mar 27 02:59:59 2011 FET isdst=0 gmtoff=7200
    Europe/Kiev  Sun Mar 27 01:00:00 2011 UTC = Sun Mar 27 04:00:00 2011 FET isdst=0 gmtoff=10800
    Europe/Kiev  Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 06:14:07 2038 FET isdst=0 gmtoff=10800
    Europe/Kiev  Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 06:14:07 2038 FET isdst=0 gmtoff=10800
    
  • Убедимся, что 30 октября 2011 года время будет «непереход» на зимнее время.
    # date
    Wed Sep 28 15:48:51 FET 2011
    # date --date='768hours'
    Sun Oct 30 15:48:58 FET 2011
    

PS: Всвязи с судебными процедурами, и временной недоступностью первоисточника размещаю копию tzdata2011k.tar.gz.

PS: Для тех кто уже перевел, выкладываю предыдущую версию TZ данных без изменений по Украине от 20 сентября, отмененных 18 октября 2011tzdata2011j.tar.gz

wuauclt ключи

Процесс wuauclt предстевляет собой средство управления сервисом обновлений Windows

Документированные
/DetectNow – Клиентская рабочая станция обращается на сервер обновлений вне заданного расписания инициирует процесс обновления, по завершению которого отправляет отчет.
/ReportNow – Клиентская рабочая станция отправляет отчет на сервер обновлений вне заданного расписания.
/ShowSettingsDialog – Показывает диалоговое окно настроек Windows Update
/ResetAuthorization – Сбрасывает ключи авторизации с сервером отчетов
/ShowWU – Показать страницу статуса Windows Update
/ShowWindowsUpdate – Показать страницу статуса Windows Update
/CloseWindowsUpdate – Закрыть страницу статуса Windows Update
/DemoUI – Показывает иконку обновлений в трее.
Не документированные
/RunHandlerComServer
/RunStoreAsComServer
/ResetEulas
/SelfUpdateManaged
/SelfUpdateUnmanaged
/UpdateNow

Ошибка Windows Update 80070003

При проверке обновлений Windows Update выдает сообщение об ошибке 80070003, для решения данной проблемы необходимо удалить временные файлы используемые Windows Update для идентификации обновлений на компьютере. Для выполнения удаления необходимо выполнение следующих действий с правами администратора, все ниже приведенные действия можно выполнить через GUI в пару десятков кликов мышкой, но мне ближе такой способ.

REM Остановка сервиса Центра обновления Windows
net stop wuauserv
REM Удаление временных файлов обновления
del %WINDIR%\SoftwareDistribution
REM Запуск сервиса Центра обновления Windows
net start wuauserv
REM Принудительный запуск обновления вне расписания
wuauclt /detectnow

Cписок ключей wuauclt

Загрузка Linux. Ошибка с библиотекой libblkid.so.1

При загрузке Linux возникает ошибка

fsck: /lib/libblkid.so.1: no version information available (required by fsck)
...
fsck: relocation error: fsck: symbol blkid_evaluate_tag, version BLKID_2.15
not defined in file libblkid.so.1 with link time reference

Происходит при некорректных привязках библиотек. Смотрим:

# ls -al /lib/libblk*
lrwxrwxrwx 1 root root     17 May  6 11:35 /lib/libblkid.so.1 -> libblkid.so.1.1.0
-rwxr-xr-x 1 root root 678656 May  6 11:35 /lib/libblkid.so.1.1.0
-rwxr-xr-x 1 root root 39160 Sep  3  2009 /lib/libblkid.so.1.0
# ls -al /lib64/libblk*
lrwxrwxrwx 1 root root    15 May 31 11:22 /lib64/libblkid.so.1 -> libblkid.so.1.0
-rwxr-xr-x 1 root root 44160 Sep  3  2009 /lib64/libblkid.so.1.0

Решение: удаляем символические ссылки и устаревшую библиотеку, запускаем ldconfig для реконфигурирования динамических привязок библиотек.

rm -f /lib64/libblkid.so.1
rm -f /lib/libblkid.so.1.0
rm -f /lib/libblkid.so.1
ldconfig