марта 2 2009

Как выбрать самое быстрое зеркало. Debian. Apt-spy

Apt-spy утилита с помощью которой можно подобрать самое быстрое зеркало. Asp-spy сгенерирует новый файл /etc/apt/source.list с самыми быстрыми серверами.

Что бы получить список всех зеркал

apt-spy update

Ищем самый быстрый сервер для примера в Северной Америке (ветка testing), запускаем

apt-spy -d testing -a north-america

Что бы найти самое быстрое зеркало stable в Германии, выполняем

apt-spy -d stable -s de

Фев 26 2009

Установка Oracle на Debian

Установить Oracle на Debian очень легко, с того момента как Oracle создал свой собственный репозиторий для Debian, и появилась возможность скачать и установить Oracle используя наши любимые команды apt-get и aptitude.

Настраиваем доступ к Oracle Debian репозиторию.
Для этго добавим следующую строку в файл /etc/apt/source.list

# Oracle Repository
deb http://oss.oracle.com/debian unstable main non-free

Обновляем базу данных репозитория командой:

apt-get update

Теперь у вас должна появится возможность устанавливать Oracle след. пакеты:

libaio
oracle-xe-client
oracle-xe
oracle-xe-universal

Устанавливаем Oracle Express пакеты

aptitude install oracle-xe oracle-xe-client

Конфигурируем:

/etc/init.d/oracle-xe configure

Веб интерфейс оракла будет доступен по адресу:

http://127.0.0.1:8080/apex

Во времья инсталяции Оракла может появиться сообщение о том что пакет Oracle без gpg ключа, в любом случае это не помешает установке.

Если вы хотите избавиться от этого сообщения, тогда нужно скачать и добавить Oracle gpg-public ключ в связку apt-key ключей.

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -

Более подробно о том как установить Oracle на Debian/Ubuntu можно на сайте Oracle тут.


Фев 26 2009

Как обновить Debian Etch (Сервер & Десктоп) до Debian Lenny

В этой краткой заметке, я расскажу как обновить Debian Etch до Debian Lenny.

1) Первым делом сделайте бекап вашей Debian Etch системы.

2) Устанавливаем последние обновления Debian Etch
Убедитесь что в файле /etc/apt/source.list у вас прописаны репозитории Debian Etch, а не Lenny.

cat /etc/apt/source.list
deb http://ftp2.de.debian.org/debian/ etch main
deb-src http://ftp2.de.debian.org/debian/ etch main
 
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

Если все ок, обновляем систему:

aptitude update
aptitude upgrade


3) Изменяем /etc/apt/source.list что бы использовать репозитории Lenny

nano /etc/source.list
deb http://ftp2.de.debian.org/debian/ lenny main
deb-src http://ftp2.de.debian.org/debian/ lenny main
 
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib

Обновляемся:

aptitude update

4) Подготовка к полному обновлению системы
Далее мы установим

  • Lenny
  • версии пакетов dpkg, aptitude, apt

    aptitude install dpkg aptitude apt

    Минимальное обновление пакетов

    aptitude upgrade

    Если вы пытаетесь обновить десктоп систему, тогда проверьте установлен ли пакет libfam0c102

    dpkg -l libfam0c102 | grep ^ii

    Если у становлен, тогда вам нужно установить Lenny версию этого пакета

    aptitude install libfam0

    4) Обновляем дистрибютив
    Запускаем следующую комманду что бы полностью обновить дистрибютив Debian etch до Debian Lenny

    aptitude full-upgrade

    (Это тоже самое что использовать команду aptitude dist-upgrade)
    Перезагружаем систему

    reboot

    После перезагрузки проверяем версию ядра

    uname -r

    В моем случае это выглядит так:

    server:~# uname -r
    2.6.26-1-486
    server:~#

    Также теперь можно посмотреть в /etc/debian_version

    cat /etc/apt/source.list
    server1:~# cat /etc/debian_version
    5.0
    server1:~#

    6) Ссылки по теме
    debian.org


    Фев 3 2009

    Как создать deb пакет из исходников. Краткое руководство

    Все чаще сталкиваюсь с тем что в репозиториях много старых пакетов, в бекпортах бывает версия поновее, но все же не последний релиз, а порой вообще никакой версии нет! Почитал разной информации на эту тему, пришел к выводу что ничего сложного нет, и можно самому собрать deb пакет. Конечно разных примудростей там полно, но мы ведь делаем пакеты для себя =), а не для миллионов пользователей. А если вы хотите стать крутым ментейнером, тогда вам быстрее всего не сюда, а на сайт debian.org, читать оригинальную инструкцию, где все подробно расписано.

    Есть конечно выход скачать исходники, откомпилировать, установить и пользоваться, только зачем делать из сервера помойку.

    Цель данной заметки описать максимально кратко, процесс создания deb пакета из исходников.
    Собирать будем nginx.

    Нам понадобятся следующие пакеты:

    $ apt-get install  autoconf automake libtool autotools-dev dpkg-buildpackage fakeroot dh-make

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

    $ mkdir /root/deb/nginx
    $ mkdir /root/deb/nginx/0.7.33
    $ cd /root/deb/nginx/0.7.33 
    $ wget http://sysoev.ru/nginx/nginx-0.7.33.tar.gz
    $ mv nginx-0.7.33.tar.gz nginx_0.7.33.orig.tar.gz
    $ tar zxvf nginx_0.7.33.orig.tar.gz
    $ cd nginx-0.7.33

    Далее конфигурируем, делаем как обычно ./configure –prefix=/usr && make (но не устанавливаем!)

    Дебианизируем

    $ dh_make
     
    Type of package: single binary, multiple binary, library, kernel module or cdbs?
     [s/m/l/k/b] s
     
    Maintainer name : root
    Email-Address   : info@root
    Date            : Sun, 8 Jun 2009 14:12:55 +0200
    Package Name    : nginx
    Version         : 0.7.33
    License         : blank
    Type of Package : Single
    Hit <enter> to confirm:

    Мы скомандовали сформировать пекет для одиночного бинарного файла.

    Первое что теперь нужно сделать, это открыть файл debian/control и добавить описание программы.

    Description: <insert up to 60 chars description>
     <insert long description, indented with spaces>

    В место и без кавычек вписываем описание что это за программа.

    Теперь правим debian/rules, нам нужно расскоментировать dh_install в секции binary-arch:
    Вышеописанные действия нужны для сборки любого deb пакета, а теперь приступаем конкретно к nginx. Нужно немного подправить debian/rules, указать в секции config.status: что нас интересует и куда должен устанавливается nginx.

    config.status: configure
            dh_testdir
    ./configure --prefix=/var/lib/nginx --sbin-path=/usr/sbin --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --with-http_flv_module --with-http_ssl_module --with-http_realip_module

    Если вы пользуетесь nginx, и как раз пытаетесь его собрать, вы можете посмотреть с какими параметрами он у вас собран, и собрать его с точно такими же параметрами.

    $ nginx -V #покажет вам все

    Раз у нас уже все готово, можем приступить к созданию deb пакета.

    $ cd /root/deb/nginx/0.7.33/nginx-0.7.33 
    $ dpkg-buildpackage -rfakeroot

    В конечном итоге вы получите deb пакет nginx_0.7.33-1_i386.deb, который можно установовить как обычные debian пакеты:

    dpkg -i nginx_0.7.33-1_i386.deb

    Ссылки && Что почитать:

    1) http://forum.ubuntu.ru/index.php?topic=11609.0;topicseen
    2) Официальное полное руководство на Русском http://www.debian.org/doc/maint-guide/

    Удачных вам сборок и компиляций ;) .