nginx 0.8.20 для Debian Lenny

Собрал для Debian Lenny deb-пакет.

Что нового в 0.8.20 версии:

*) Изменение: теперь по умолчанию используются следующие шифры SSL:
"HIGH:!ADH:!MD5".

*) Исправление: модуль ngx_http_autoindex_module не показывал последний
слэш для линков на каталоги; ошибка появилась в 0.7.15.

*) Исправление: nginx не закрывал лог, заданный параметром конфигурации
--error-log-path; ошибка появилась в 0.7.53.

*) Исправление: nginx не считал запятую разделителем в строке
"Cache-Control" в строке заголовка бэкенда.

*) Исправление: nginx/Windows мог не создать временный файл, файл в
кэше или файл с помощью директив proxy/fastcgi_store, если рабочий
процесс не имел достаточно прав для работы с каталогами верхнего
уровня.

*) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
FastCGI-сервера не скрывались при кэшировании, если не
использовались директивы fastcgi_hide_header с любыми параметрами.

*) Исправление: nginx неверно считал размер кэша на диске.

Взять можно тут

Также собрал пакет, в который включены патчи, позволяющие использовать:
переменные $crc32_name и $md5_name
переменные $loadavg_1m, $loadav_5m, $loadavg_15m
А также использовать оперраторы < !< > !> в if-условиях

За патчи отдельное спасибо Кириллу Коринскому

Пакет можно взять тут

Обновление Debian Lenny до Squeeze

Решился я таки проапдейтить свою десктопную тачку ("тачка на прокачку" ? 🙂 ) с lenny на squeeze.

Первое что нужно сделать до апгрейда -  проверить что с системой и пакетами все впорядке и нет неразрешенных зависимостей.

aptitude update && aptitude -f install

Если все нормально получаем нечто такого:

# aptitude update
Hit http://ftp2.debian.org.ua lenny Release.gpg
Ign http://ftp2.debian.org.ua lenny/main Translation-en_US
Ign http://ftp2.debian.org.ua lenny/non-free Translation-en_US
Ign http://ftp2.debian.org.ua lenny/contrib Translation-en_US
Hit http://ftp2.debian.org.ua lenny/updates Release.gpg
Ign http://ftp2.debian.org.ua lenny/updates/main Translation-en_US
Ign http://ftp2.debian.org.ua lenny/updates/contrib Translation-en_US
Ign http://ftp2.debian.org.ua lenny/updates/non-free Translation-en_US
Hit http://ftp2.debian.org.ua lenny/volatile Release.gpg
Ign http://ftp2.debian.org.ua lenny/volatile/main Translation-en_US
Ign http://ftp2.debian.org.ua lenny/volatile/contrib Translation-en_US
Ign http://ftp2.debian.org.ua lenny/volatile/non-free Translation-en_US
Hit http://ftp2.debian.org.ua lenny Release
Hit http://ftp2.debian.org.ua lenny/updates Release
Hit http://ftp2.debian.org.ua lenny/volatile Release
Ign http://ftp2.debian.org.ua lenny/main Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/non-free Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/contrib Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/main Sources/DiffIndex
Ign http://ftp2.debian.org.ua lenny/non-free Sources/DiffIndex
Ign http://ftp2.debian.org.ua lenny/contrib Sources/DiffIndex
Ign http://ftp2.debian.org.ua lenny/updates/main Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/updates/contrib Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/updates/non-free Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/updates/main Sources/DiffIndex
Ign http://ftp2.debian.org.ua lenny/updates/contrib Sources/DiffIndex
Ign http://ftp2.debian.org.ua lenny/updates/non-free Sources/DiffIndex
Ign http://ftp2.debian.org.ua lenny/volatile/main Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/volatile/contrib Packages/DiffIndex
Ign http://ftp2.debian.org.ua lenny/volatile/non-free Packages/DiffIndex
Hit http://ftp2.debian.org.ua lenny/main Packages
Hit http://ftp2.debian.org.ua lenny/non-free Packages
Hit http://ftp2.debian.org.ua lenny/contrib Packages
Hit http://ftp2.debian.org.ua lenny/main Sources
Hit http://ftp2.debian.org.ua lenny/non-free Sources
Hit http://ftp2.debian.org.ua lenny/contrib Sources
Hit http://ftp2.debian.org.ua lenny/updates/main Packages
Hit http://ftp2.debian.org.ua lenny/updates/contrib Packages
Hit http://ftp2.debian.org.ua lenny/updates/non-free Packages
Hit http://ftp2.debian.org.ua lenny/updates/main Sources
Hit http://ftp2.debian.org.ua lenny/updates/contrib Sources
Hit http://ftp2.debian.org.ua lenny/updates/non-free Sources
Hit http://ftp2.debian.org.ua lenny/volatile/main Packages
Hit http://ftp2.debian.org.ua lenny/volatile/contrib Packages
Hit http://ftp2.debian.org.ua lenny/volatile/non-free Packages
Reading package lists... Done

# aptitude -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done

Убедились, что текущая версия обновлена и не имеет проблем с пакетами и их  зависимостями. Теперь в файле /etc/apt/sources.list  заменим где встречается lenny на squeeze.

# cat /etc/apt/sources.list
deb http://ftp2.debian.org.ua/debian/ squeeze main non-free contrib
deb-src http://ftp2.debian.org.ua/debian/ squeeze main non-free contrib

deb http://ftp2.debian.org.ua/debian-security/ squeeze/updates main contrib non-free
deb-src http://ftp2.debian.org.ua/debian-security/ squeeze/updates main contrib non-free

обновляем списки пакетов:

# aptitude update

Теперь нужно поставить новые версии apt, dpkg и aptitude

# aptitude install apt dpkg aptitude
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following packages are BROKEN:
apt-utils libapt-pkg-perl
The following packages will be upgraded:
apt aptitude dpkg libept0
The following packages are RECOMMENDED but will NOT be installed:
aptitude-doc-cs aptitude-doc-en aptitude-doc-fi aptitude-doc-fr aptitude-doc-ja libparse-debianchangelog-perl
4 packages upgraded, 0 newly installed, 0 to remove and 802 not upgraded.
Need to get 7048kB of archives. After unpacking 471kB will be freed.
The following packages have unmet dependencies:
libapt-pkg-perl: Depends: libapt-pkg-libc6.9-6-4.7 which is a virtual package.
apt-utils: Depends: libapt-pkg-libc6.9-6-4.7 which is a virtual package.
The following actions will resolve these dependencies:

Remove the following packages:
libperl-dev

Upgrade the following packages:
apt-utils [0.7.21 (now) -> 0.7.23.1 (testing)]
libapt-pkg-perl [0.1.23 (now) -> 0.1.24 (testing)]
libperl5.10 [5.10.0-22 (now) -> 5.10.0-25 (testing)]
perl [5.10.0-22 (now) -> 5.10.0-25 (testing)]
perl-base [5.10.0-22 (now) -> 5.10.0-25 (testing)]
perl-modules [5.10.0-22 (now) -> 5.10.0-25 (testing)]

Score is 419

Accept this solution? [Y/n/q/?] Y
The following packages will be REMOVED:
libperl-dev{a}
The following packages will be upgraded:
apt apt-utils aptitude dpkg libapt-pkg-perl libept0 libperl5.10 perl perl-base perl-modules
The following packages are RECOMMENDED but will NOT be installed:
aptitude-doc-cs aptitude-doc-en aptitude-doc-fi aptitude-doc-fr aptitude-doc-ja libparse-debianchangelog-perl
10 packages upgraded, 0 newly installed, 1 to remove and 795 not upgraded.
Need to get 16.6MB of archives. After unpacking 5968kB will be freed.
Do you want to continue? [Y/n/?] Y
Writing extended state information... Done
Get:1 http://ftp2.debian.org.ua squeeze/main dpkg 1.15.3.1 [2164kB]
Get:2 http://ftp2.debian.org.ua squeeze/main perl-modules 5.10.0-25 [3199kB]
Get:3 http://ftp2.debian.org.ua squeeze/main perl 5.10.0-25 [4512kB]
Get:4 http://ftp2.debian.org.ua squeeze/main libperl5.10 5.10.0-25 [620kB]
Get:5 http://ftp2.debian.org.ua squeeze/main perl-base 5.10.0-25 [968kB]
Get:6 http://ftp2.debian.org.ua squeeze/main apt-utils 0.7.23.1 [193kB]
Get:7 http://ftp2.debian.org.ua squeeze/main libept0 0.5.29 [208kB]
Get:8 http://ftp2.debian.org.ua squeeze/main aptitude 0.4.11.11-1+b2 [3034kB]
Get:9 http://ftp2.debian.org.ua squeeze/main libapt-pkg-perl 0.1.24 [87.6kB]
Get:10 http://ftp2.debian.org.ua squeeze/main apt 0.7.23.1 [1642kB]
Fetched 16.6MB in 3min 0s (92.3kB/s)
(Reading database ... 148233 files and directories currently installed.)
Removing libperl-dev ...
(Reading database ... 148237 files and directories currently installed.)
Preparing to replace dpkg 1.14.26 (using .../dpkg_1.15.3.1_i386.deb) ...
Unpacking replacement dpkg ...
Processing triggers for man-db ...
Setting up dpkg (1.15.3.1) ...
Installing new version of config file /etc/logrotate.d/dpkg ...
(Reading database ... 148232 files and directories currently installed.)
Preparing to replace perl-modules 5.10.0-22 (using .../perl-modules_5.10.0-25_all.deb) ...
Unpacking replacement perl-modules ...
Preparing to replace perl 5.10.0-22 (using .../perl_5.10.0-25_i386.deb) ...
Unpacking replacement perl ...
Preparing to replace libperl5.10 5.10.0-22 (using .../libperl5.10_5.10.0-25_i386.deb) ...
Unpacking replacement libperl5.10 ...
Preparing to replace perl-base 5.10.0-22 (using .../perl-base_5.10.0-25_i386.deb) ...
Unpacking replacement perl-base ...
Processing triggers for man-db ...
Setting up perl-base (5.10.0-25) ...
(Reading database ... 148235 files and directories currently installed.)
Preparing to replace apt-utils 0.7.21 (using .../apt-utils_0.7.23.1_i386.deb) ...
Unpacking replacement apt-utils ...
Preparing to replace libept0 0.5.26+b1 (using .../libept0_0.5.29_i386.deb) ...
Unpacking replacement libept0 ...
Preparing to replace aptitude 0.4.11.11-1+b1 (using .../aptitude_0.4.11.11-1+b2_i386.deb) ...
Unpacking replacement aptitude ...
Preparing to replace libapt-pkg-perl 0.1.23 (using .../libapt-pkg-perl_0.1.24_i386.deb) ...
Unpacking replacement libapt-pkg-perl ...
Preparing to replace apt 0.7.21 (using .../archives/apt_0.7.23.1_i386.deb) ...
Unpacking replacement apt ...
Processing triggers for man-db ...
Processing triggers for menu ...
Setting up apt (0.7.23.1) ...
Installing new version of config file /etc/cron.daily/apt ...
gpg: key 6070D3A1: "Debian Archive Automatic Signing Key (4.0/etch) <ftpmaster@debian.org>" not changed
gpg: key ADB11277: "Etch Stable Release Key <debian-release@lists.debian.org>" not changed
gpg: key BBE55AB3: "Debian-Volatile Archive Automatic Signing Key (4.0/etch)" not changed
gpg: key F42584E6: "Lenny Stable Release Key <debian-release@lists.debian.org>" not changed
gpg: key 55BE302B: "Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>" not changed
gpg: key 6D849617: "Debian-Volatile Archive Automatic Signing Key (5.0/lenny)" not changed
gpg: Total number processed: 6
gpg: unchanged: 6
Setting up libperl5.10 (5.10.0-25) ...
Setting up apt-utils (0.7.23.1) ...
Setting up libept0 (0.5.29) ...
Setting up aptitude (0.4.11.11-1+b2) ...
Setting up libapt-pkg-perl (0.1.24) ...
Setting up perl-modules (5.10.0-25) ...
Setting up perl (5.10.0-25) ...
Processing triggers for menu ...
localepurge: Disk space freed in /usr/share/locale: 12488K
localepurge: Disk space freed in /usr/share/man: 444K

Total disk space freed by localepurge: 12932K

Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done

Current status: 795 updates [-11].

Все что нужно было, aptitude сделал сам. Теперь, собственно, делаем апгрейд всей системы

# aptitude full-upgrade

В процессе обновления возникнут проблемы с зависимостями, которые решаются подтверждением обновления версии. Так же будут установлены новые пакеты.

Как восстановить сохраненный пароль в kopete

Для восстановления сохраненного пароля в kopete для jabber-аккаунта  можно воспользоваться следующим кодом на питоне:

from ConfigParser import ConfigParser
import sys
from kdecore import KStringHandler
config = ConfigParser()
config.read(".kde/share/config/kopeterc")
cryptedpass = config.get("Account_JabberProtocol_" + sys.argv[1], 'Password')
print KStringHandler().obscure(cryptedpass.decode('utf-8'))

Сохраняем код в файле ~/getpass.py и затем выполняем его:

# python ./getpass.py userid@jabber.org

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

Если в скрипте заменить Account_JabberProtocol_ на Account_ICQProtocol_ то можно вытянуть из конфига kopete пароль от icq

Код нашел на этом блоге.

Для KDE4 код такой:

from ConfigParser import ConfigParser
import sys
from PyKDE4.kdecore import *
config = ConfigParser()
config.read('./kopeterc')
cryptedpass = config.get('Account_JabberProtocol_' + sys.argv[1], 'Password')
print KStringHandler.obscure(cryptedpass.decode('utf-8'))

Этот код для KDE4 любезно предоставил Lex