Как пересобирать пакеты Debian

08:41 Рубрика: Linux

Умение пересобирать пакеты Debian является очень полезным навыком. Он является необходимым для многих задач, с которыми может столкнуться администратор: включить фичу, выключенную в официальном пакете; пересобрать пакет для использования в другом дистрибутиве (например, пересобрать пакет из Debian Testing для Debian Stable — мы называем это обратным портированием (backporting)); добавить исправление бага, подготовленное разработчиками из апстрима, и так далее. Узнайте о четырёх шагах, позволяющих пересобирать пакеты Debian.

 

Как пересобирать пакеты Debian

 

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

 

Как использовать dpatch

Перенос списка пакетов между Deb-системами

23:31 Рубрика: Linux

dpkg --get-selections > pkg.list
sudo dpkg --set-selections < pkg.list
sudo apt-get -u dselect-upgrade

(1) (2)

Redo Backup and Recovery

09:32 Рубрика: Ацкий одмин

redobackup

 

Easy Backup, Recovery & Bare Metal Restore

Redo Backup and Recovery is so simple that anyone can use it. It is the easiest, most complete disaster recovery solution available. It allows bare-metal restore. Bare metal restore means that even if your hard drive melts or gets completely erased by a virus, you can have a completely-functional system back up and running in as little as 10 minutes.

 

More

Web-сервер на Debian GNU/Linux для начинающих

10:36 Рубрика: Linux

Руководство рассчитано на пользователей, которые собираются впервые использовать Debian GNU/Linux после работы с MS Windows.

Установка и использование web-сервера на Debian GNU/Linux, рассмотренное в данном руководстве, ориентированы на разработчиков веб-приложений и сайтов, использующие домашний компьютер в качестве платформы для разработки.

 


«Web-сервер на Debian GNU/Linux для начинающих» содержит в себе четыре главы:

* Часть 1: установка и настройка Debian GNU/Linux;
* Часть 2. Установка и настройка web-сервера;
* Часть 3. Установка и настройка Drupal;
* Часть 4. Установка и работа с Drush.



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



    * О Debian GNU/Linux
    * О руководстве
    * Начало
    * Часть 1: установка и настройка Debian GNU/Linux
          o 1.1 Графическая установка системы
          o 1.2 Настройка системы
                + 1.2.1 Базовая настройка sudo
                + 1.2.2 Установка программ
                      # 1.2.2.1 Apt
                      # 1.2.2.2 Synaptic
                      # 1.2.2.3 Репозитории
                      # 1.2.2.4 Установка deb-пакетов
                + 1.2.3 Установка и базовая настройка Samba
                + 1.2.4 Некоторые полезные команды
    * Часть 2. Установка и настройка web-сервера
          o 2.1 Установка Apache2, PHP5, MySQL
          o 2.2 Установка и настройка phpMyAdmin
          o 2.3 Настройка PHP
          o 2.4 Настройка Apache2 и виртуальных хостов
          o 2.5 Запуск виртуальных хостов от пользователя
          o 2.6 Дополнения
                + 2.6.1 eAccelerator
                + 2.6.2 Компилируем PHP5 с GD
    * Часть 3. Установка и настройка Drupal
          o 3.1 Установка Drupal
          o 3.2 Мультисайтинг
    * Часть 4. Установка и работа с Drush
    * Руководство в формате PDF
    * Благодарности
    * Полезные ссылки



Автор: Станислав Езерский

Онлайн-версия

Благодарю Александра (aka Axel) Графова и Даниэля (aka Dan) Ишмаева за внесённые дополнения и предложения по содержанию.

Приятного и полезного чтения!

 

(c)

Далее

Собственный дистрибутив на базе Debian Linux

10:34 Рубрика: Linux

Потребовалось как-то по работе сделать кастомный дистрибутив. Дистрибутив должен умещаться на один диск и содержать в себе все, что требуется для простого десктопа + некоторые мелочи.

Итак, поехали.

 


Для начала нам надо установить эталонную систему. Берем с сайта debian.org дистрибутив. Например NetInstall. Скачиваем и устанавливаем на машину(или на виртуальную машину, кому как удобнее). Например я ставлю базовую систему, а затем все устанавливаю руками.

Итак. Система установлена. Устанавливаем требуемые пакеты.

apt-get install gnome gdm openoffice.org xfonts-base xorg xserver-xorg

После устанавливаем пакет «apt-move»
открываем настройки /etc/apt-move.conf и указываем в пункте LOCALDIR путь до того места, где у нас будет храниться будущий дистрибутив. У меня путь был указан в /home/debian. Сохраняем конфиг и выполняем команду apt-move update

По указанному выше пути(/home/debian/distrib) появился каталог pool. В нем будут лежать пакеты, которые в итоге окажутся на диске.

Монтируем CD(в нем ведь все еще есть диск Debian NETINSTALL) и копируем все, что на нем есть в каталог /home/debian/distrib.
Скачиваем с серверов debian.org файлы override.<дистрибутив>. Я например брал с ftp.fr.debian.org/debian/indices. Версия текущего дистрибутива etch, поэтому и скачиваем файлы, с названиями override.etch.*
Разархивируем gunzip'ом и кладем например в /home/debian/indices
В каталоге /home/debian создаем файл с именем apt.conf и заполняем его текстом по примеру с wiki.debian.org/DebianCustomCD/PoolAptConf. В этом-же каталоге создаем файл с названием дистрибутива (например mycd.conf) и заполнем его по примеру с wiki.debian.org/DebianCustomCD/PoolPackagesGzConf
Запускаем apt-ftparchive -c apt.conf generate mycd.conf
Ну а теперь самое главное. в каталоге /home/debian/distrib/install.i386 создаем файл preseed.conf
В него вписываем инструкции для инсталлятора Debian.

Пример заполнения файла preseed.conf
#заставляем инсталлер автоматически выбирать интерфейс
d-i netcfg/choose_interface select auto

#или выбираем конкретный
#d-i netcfg/choose_interface select eth1

# устанавливаем таймаут для DHCP(в данном случае, если у вас DHCP сервер медленный)
d-i netcfg/dhcp_timeout string 100

#если по DHCP ничего не получили, выводим опцию с возможностью указать настройки сети руками
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually

#название хостнейма данной машины и домена
d-i netcfg/get_hostname string office
d-i netcfg/get_domain string local

# Установка часов
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow

#Устанавливаем базовую систему
tasksel tasksel/first multiselect standard

#возможны разные варианты :)
#tasksel tasksel/first multiselect standard, web-server
#tasksel tasksel/first multiselect standard, kde-desktop

# Ну и индивидуальныем пакеты
d-i pkgsel/include string ssh xorg xserver-xorg gdm gnome openoffice.org xfonts-base xfonts-100dpi xfonts-75dpi xfonts-encodings xfonts-scalable xfonts-utils

# Показываем сообщение о предстоящем ребуте
d-i finish-install/reboot_in_progress note



Сохраняем этот файл и открываем для редактирования isolinux/isolinux.cfg
в нем дописываем
LABEL installseed
kernel /install.386/vmlinuz
append vga=normal file=/cdrom/install.386/preseed.cfg initrd=/install.386/initrd.gz —

выходим в директорию /home/debian/distrib
выполняем команду
find. -type f -print0 | xargs --null md5sum > md5sum.txt
и собственно начинаем процесс создания ISO образа:
genisoimage -r -V «Debian 4.0 r4a i386 custom» -o /home/debian/debiancustom_40.iso -J -cache-inodes -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /home/debian/distrib

После того, как программа закончит работу, в /home/debian/ можно будет найти .iso файл с нашим кастомным дистрибутивом. Теперь его или пишем на болванку или ставим на виртуальную машину.

p.s. надеюсь, ничего не забыл :)

 

(c)

Далее

Subtle Patterns

22:03 Рубрика: Web Development

subtle_patterns

 

Subtle Patterns is a collection of 94 high quality design patterns for
you to use freely. New patterns added weekly. A project by Atle Mo.

 

More

Настройка NFS сервера и NFS клиента под FreeBSD и Linux

19:11 Рубрика: Linux
NFS сервер (FreeBSD):

/etc/rc.conf:

    portmap_enable="YES"
    nfs_server_enable="YES"
    nfs_reserved_port_only="YES"

/etc/exports (man exports):
    /usr/local/nfs -rw 192.168.1.2
    /usr/local/nfs -ro -mapall=nobody -network 192.168.1 -mask 255.255.255.0
    /cdrom -alldirs,quiet,ro -network 192.168.33.0 -mask 255.255.255.0

Для Linux /etc/exports будет выглядеть примерно так (запуск - service start portmap и nfs):

    /usr/local/nfs  192.168.1.0/255.255.255.0(ro) 192.168.2.1(rw)

NFS клиент:

/etc/rc.conf: 
   portmap_enable="YES", nfs_client_enable="YES"

/etc/fstab:
    192.168.1.1:/usr/local/nfs          /home/nfs   nfs ro  0   0

или вручную:
   /sbin/mount_nfs -r 32768 -w 32768 -i noatime 192.168.1.1:/usr/local/nfs /home/nfs 

Для оптимизации производительности рекомендуется при монтировании в Linux указывать параметры:
   rsize=32768,wsize=32768,intr,noatime

Число запущенных клиентов и серверов под FreeBSD регулируется 
через параметр "-n" в переменных rc.conf: nfs_client_flags и nfs_server_flags

В некоторых Linux дистрибутивах число серверов задается в файле /etc/sysconfig/nfs, 
переменная NFSDCOUNT, значение которой передается как аргумент при запуске rpc.nfsd.

(с)

Overview: Комплект полезных расширений для Gnome Shell.

19:09 Рубрика: Linux

gnome-shell-extensions

 

GNOME Shell Extensions - официальный набор расширений для Gnome Shell, добавляющий такие возможности, как классическое меню, кнопку выключения, расширение, позволяющее быстро менять темы оформления и многое другое.

 

Далее

Краткое руководство по GNOME Shell в Ubuntu 11.10

19:07 Рубрика: Linux

gnome-shell



В Ubuntu 11.10, наконец-то, появился лёгкий и безопасный способ установить и опробовать GNOME Shell — новый интерфейс рабочего стола от GNOME.

Это означает, что в отличие от предыдущих версий Ubuntu, в нынешней установка GNOME Shell не требует добавления каких-либо дополнительных репозиториев или запуска каких-то скриптов: он может быть установлен непосредственно из центра приложений Ubuntu простым нажатием кнопки.

 

Далее

Мультидоменность в Apache без лишних хлопот на локальном хосте

19:02 Рубрика: Linux

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

  1. Создать папку для сайта
  2. Создать конфигурационный файл с именем будущего домена
  3. Включить сайт специальной опцией
  4. Перезагрузить Apache
  5. Прописать наш домен в файле hosts

 

Некоторые пытаются оптимизировать данный процесс различными скриптами, но проблемы это, по сути, не решает.
Итак, попробуем добиться, чтобы процесс создания поддомена сводился лишь к созданию папки для сайта. Возможно ли это? Проверим...
Как устанавливать LAMP я рассказывать не буду, так как вы, скорее всего, можете сделать это с закрытыми глазами (смайл). Перейдем к самому интересному.

Настройка vhost_alias


Включаем модуль vhost_alias. Он то и будет главным действующим лицом.

sudo a2enmod vhost_alias


Включаем, если нужно, mod_rewrite.

sudo a2enmod rewrite


Открываем файл httpd.conf и приступаем к непосредственной настройке.

#Подставляем имя сервера из заголовка запроса пользователя
UseCanonicalName Off
# Формируем логи так, чтобы в них указывалось имя виртуального хоста
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog /home/%username%/web/access_log vcommon

# Нужно для работы mod_rewrite
<Directory /home/%username%/web>
    Options FollowSymLinks
    AllowOverride All
</Directory>

# Собственно правило, по которому будет искаться нужный нам сайт
VirtualDocumentRoot /home/%username%/web/%-2 


%-2 означает, что по хост будет выбран по предпоследней части доменного имени. Другими словами, создав директорию /home/%username%/web/habrahabr, мы сможем обратиться к ней как habrahabr.ru (или habrahabr.com, или даже habrahabr.xxx).
Можно также задать свои параметры выбора имени хоста:

  • %0 Полное имя
  • %1 Первая часть имени
  • %2 Вторая часть имени
  • %3 Третья часть имени
  • %-1 Последняя часть
  • %-2 Предпоследняя часть
  • %2+ Вторая и все последующие части
  • %-2+ Предпоследняя и все последующие части


Рестартуем Apache.

sudo service apache2 restart


Наш сервер уже работает. Убедиться в этом мы можем, создав папку с нужным именем, например test и поместив туда index.php с каким-нибудь содержимым, например "<?php phpinfo(); ?>".
Ах да, нужно ведь еще прописать наш домен в файлике /etc/hosts.

127.0.0.1    test.loc


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

Настройка DNS-сервера


Для этого мы будем использовать DNS-сервер bind9. Все домены с суффиксом *.loc будут смотреть на нашу локальную машину.
Устанавливаем DNS-сервер

sudo apt-get install bind9


Открываем конфигурационный файл named.conf.options и добавляем

acl "home" {192.168.1.0/24; 127.0.0.1;};
options {
    directory "/var/cache/bind";
    auth-nxdomain no;
    listen-on-v6 { none; };
    listen-on { 127.0.0.1; };
    allow-transfer { none; };
    allow-query {"home";};
    forward first;
    # Указываем DNS-адреса провайдера
    forwarders {
        192.168.1.2;
        8.8.8.8;
    };
}; 


Создаем файлы для доменной зоны.

cd /etc/bind/
sudo touch db.loc


Содержание db.loc

$TTL 86400
$ORIGIN loc.
@ IN SOA skywrtr.loc. admin.skywrtr.loc. (
    2010050100; Serial
    14400; Refresh
    7200; Retry
    3600000; Expire
    86400 ); Minimum

@ IN NS localhost.

* IN A 127.0.0.1 



Наконец, открываем файл named.conf.local и дописываем туда

zone "loc" {
    type master;
    file "/etc/bind/db.loc";
    allow-transfer { 127.0.0.1; };
    notify no;
}; 



Остальсь подключиться к нашему DNS-серверу. Либо через файл /etc/resolv.conf, дописав строчку

nameserver 127.0.0.1


либо через стандартный менеджер сетевых соединений. В свойствах подключения, на вкладке «Параметры IPv4» дописать адрес 127.0.0.1 в поле «Серверы DNS».

e9eb5398

Для удобства создадим локальный хост для phpmyadmin

ln -s /usr/share/phpmyadmin/ /home/alex/web/phpmyadmin


Теперь он доступен по адресу phpmyadmin.loc.

Некоторые замечания


Есть пара замечаний по работе с vhost_alias.

  • Неправильные данные дает переменная $_SERVER['DOCUMENT_ROOT'], поэтому приходится использовать либо dirname(__FILE__), либо realpath(). Смотря что нужно.
  • Если перестал работать mod_rewrite, не паникуем. В файле .htaccess после строчки
    RewriteEngine    on

    Вставляем
    RewriteBase /



Ссылки по теме:
httpd.apache.org/docs/2.0/ru/vhosts/mass.html
www.softtime.ru/info/apache.php?id_article=103

P.S. Спасибо Wott за любезно предоставленные конфиги bind.

 

(c)

Далее