Показаны сообщения с ярлыком дебиан. Показать все сообщения
Показаны сообщения с ярлыком дебиан. Показать все сообщения

Репозиторий deb-пакетов своими руками: сборка пакетов в Debian из исходников и бинарников на скорую руку



17 коммент.
Часто бывает нужно по-быстрому собрать deb-пакет в Debian, особенно когда уже имеется бинарный файл. Так как мы не слакварщики и не хотим засорять систему make & make install, мы пойдём другим путём и сделаем собственный пакет. А чтобы они не валялись по всему диску, закатаем наши пакеты в собственный же репозиторий.

Распаковка существующих пакетов

Сначала посмотрим, что внутри пакета deb или rpm.

Распаковка deb-пакета

Распаковать пакет Debian нужно в два этапа - сначала извлекаем из него файлы, а потом добираемся до собственно бинарников. Вскрываем пакетик:
# ar vx mypackage.deb
Файл пакета mypackage.deb содержит три вложенных файла:
  • debian-binary - это текстовый файл, который содержит информацию о версии пакета (например: 2.0)
  • control.tar.gz - этот архив содержит всю мета-информацию: имя и версию пакета, зависимости и прочее.
  • data.tar.gz - собственно, бинарники программы, необходимые для работы. Именно эти файлы будут разархивированы в каталог /usr для дальнейшего использования.
Теперь, если нам охота поживиться бинарниками пакета (содержимое data.tar.gz), даём команду:
$ tar -xzvf data.tar.gz
В текущем каталоге появится ./usr текущего каталога. Желанный бинарник лежит в ./usr/bin подкаталоге.

Если же вам нужно просто извлечь файлы из пакета, можно всё сделать одной командой
$ ar p mypackage.deb data.tar.gz | tar zx
это распакует пакет deb в текущий каталог. Другой вариант - использовать dpkg-deb в виде:
$ dpkg-deb -x что.deb куда/


Распаковка rpm-пакета

На всякий случай о том, как распаковать пакеты вероятного противника RPM-based систем. Для этого нам потребуются программы rpm2cpio и cpio. Распаковка содержимого RPM пакета делается в один шаг:
$ rpm2cpio mypackage.rpm | cpio -vid
Если же нужно просмотреть содержимое пакета, не распаковывая его, даём команду:
$ rpm2cpio mypackage.rpm | cpio -vt
Для того, чтобы (попытаться) конвертировать RPM-пакет в Debian, можно воспользоваться командой:
# alien mypack.i386.rpm
Надо сказать, что пакеты RPM и DEB сильно отличаются друг и друга, и такое простое конвертирование не всегда проходит.

Deb-пакет из бинарного файла

Теперь, когда мы знаем, что ничего волшебного внутри deb-пакетов нет, можно попробовать сварганить свой собственный дебиановский пакетик.
Часто хочется сделать побыстрее, чтоб "завелось и поехало" - и вместо пакетов пользователи устанавливают программы в виде ./configure, make & make install (вместо make install можно использовать checkinstall). Как уже говорилось не раз, не стоит поддаваться искушению и ставить программы в Linux в обход менеджера пакетов - пакетный менеджер ничего о них знать не будет, и при обновлении системы вы рискуете получить больше проблем на свою голову, чем представляете.
Иногда бывает так, что исходников к пакету нет - скажем, поступила к нам проприетарщина, а упаковать её в пакет хочется. Или мы наваяли скрипт, и хочется, чтобы он был на многих машинах. Нет проблем: завернём это в deb-пакет и скормим apt-у.
Для этого нам понадобится утилита
# apt-get install dpkg-dev
Подопытным кроликом будет служить бинарный файл системы контроля версий fossil, о котором уже говорилось ранее.
Идея в том, чтобы в локальном каталоге (назовём его ~./tempprog) отдублировать структуру каталогов для программы так, как она лежала бы в системе в установленном виде. Большинство бинарников находится в системном каталоге /usr/bin, поэтому создаём такую же структуру в локальном:
$ mkdir -p ./tempprog/usr/bin/
Так мы создадим все подкаталоги за один проход. Зайдём внутрь:
$ cd tempprog/
и увидим созданные подкаталоги:
$ tree
Вот они:

.
└── usr
     └── bin
2 directories, 0 files

Отлично, теперь в локальном каталоге ./tempprog создаём подкаталог ./DEBIAN:
$ mkdir ./DEBIAN

Внутри подкаталога ./DEBIAN создаём текстовый файл control с таким содержимым:
Package: имя-пакета
Version: версия пакета, скажем 1.0 или 2.7.9.
Architecture: архитектура(i386, amd64, all...)
Maintainer: сопровождающий_пакета
Installed-Size: размер программы в килобайтах
Depends: зависимости (пакет (>= версия))
Recommends: рекомендации (пакет (>= версия))
Suggests: предложения (пакет)
Section: секция (multimedia, games, system, или другое)
Priority: приоритет (optional)
Homepage: http://www.домашняя_страница
Description: описание программы 

Таким образом, в нашем локальном каталоге ./tempprog будет лежать вот что:

.
├── DEBIAN
│.. └── control
└── usr
    └── bin
        └── fossil
3 directories, 2 files

Теперь из каталога ./tempprog даём команду на сборку этого простенького пакета:
$ dpkg-deb -b ./ ./
В результате появится пакет (в нашем примере с fossil) вида:
fossil_1.21_i386.deb
который можно сразу же установить в систему:

$ sudo dpkg -i fossil_1.21_i386.deb
[sudo] password for starscream:
Selecting previously deselected package fossil.
(Reading database ... 247627 files and directories currently installed.)
Unpacking fossil (from fossil_1.21_i386.deb) ...
Setting up fossil (1.21) ...

И всё, наступает счастье.

Небольшое примечание: если кто хочет установить программу в директорию
/opt/ нужно сделать следующее:

- В локальном каталоге ./tempprog создаём каталог /opt/ и размещаем там
программу так, как она и будет установлена в /opt
- Там же, в ./tempprog создаём подкаталоги /tempprog/usr/bin/
в котором размещаем небольшой скрипт, например zotero
- В нём пишем:

#! /bin/sh
PATH=$PATH:/opt/zotero/
/opt/zotero/zotero

Это говорит системе, что теперь можно запускать файлы и из /opt/zotero


Deb-пакет из исходников на скорую руку

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

Если нам повезло и все зависимости уже в системе, можно скомпилировать исходные тексты программы и по-быстрому завернуть всё в пакет Debian.

Для этого скачанные исходные тексты программы (для примера foobar версии 1.2.3) распаковываем в каталог foobar-1.2.3, и от рута даём команду:
# dh_make --createorig
Далее пишем
# debuild
Опять, если нам повезло, всё должно собраться без вопросов. Полученный пакет устанавливаем
# dpkg -i foobar_1.2.3-1_i386.deb
Охочим до тонкостей дебиановской кулинарии и прочим правильно писающим мальчикам просьба пройти сюда и насладиться The Debian Administrator's Handbook. Эта Книга о вкусной и здоровой пище довольно занудная, водянистая и словоохотливая книжеца от двух дебианщиков расскажет вам о Debian Policy, как всё делать ортодоксально и, когда авторы вспоминают, что не мемуары пишут, про то, что же таки собственно делать.

Создание собственного локального репозитория Debian своими руками

Когда количество собственноручно собранных пакетов перевалит за десяток, захочется удобства и комфорта установки софта. К счастью, создание собственного локального репозитория - дело сравнительно простое.

Создаём каталог, в котором будут лежать все собранные непосильным трудом пакеты - пусть это будет ~/zips/virensdebianrepositor в который копируем deb-пакеты.

Для создания репозитория нам понадобится dpkg-scanpackages который является (во всяком случае на момент написания поста) частью пакета dpkg-dev, как это неожиданно выяснилось.

Создаём список пакетов:
$ dpkg-scanpackages . /dev/null | gzip -9c > ./Packages.gz
Может быть, нам будет выведено сообщение типа:

dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   fossil linux-headers-3.8.0-avl9-pae linux-image-3.8.0-avl9-pae pdfsam sublimetext virtualbox-4.2 xserver-xorg-input-wacom zotero
dpkg-scanpackages: info: Wrote 8 entries to output Packages file.

Теперь в нашем репозитории 8 пакетов. Отлично, добавляем наш репозиторий в файл:
# vim /etc/apt/sources.list
строчкой типа:

deb file:///home/имя_пользователя/zips/virensdebianrepository ./

Теперь нужно обновить список пакетов, чтобы они стали доступны для установки:
# apt-get update
Всё, теперь можно установить, к примеру, свежесобранный текстовый редактор Sublime Text 2 (отличная инструкция там) как всегда: Теперь, для того, чтобы установить SublimeText достаточно сделать:

# apt-get install sublimetext

Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 The following NEW packages will be installed:
   sublimetext
 0 upgraded, 1 newly installed, 0 to remove and 245 not upgraded.
 Need to get 0 B/11.4 MB of archives.
 After this operation, 17.4 MB of additional disk space will be used.
 WARNING: The following packages cannot be authenticated!
   sublimetext
 Install these packages without verification [y/N]? Y
 Selecting previously deselected package sublimetext.
 (Reading database ... 247813 files and directories currently installed.)
 Unpacking sublimetext (from ..././sublimetext_2.0.2_i386.deb) ...
 Setting up sublimetext (2.0.2) ... 
Всё, пакет будет распакован и установлен, а то, что он из местного репозитория, видно вот тут: (from ..././sublimetext_2.0.2_i386.deb)

Заключение

Описанные в этом посте рецепты - блюда на скорую руку, а не фуагра с трюфелями. Для больших репозиториев или сложных пакетов придётся-таки ознакомиться с документацией и руководствами. Ещё можно воспользоваться программой APTonCD, которая умеет не только создавать репозитории, но и записывать их на CD/DVD диски.
Читать далее

Настройка Debian со смаком: приготовление десктопа из Debian



76 коммент.
В этом посте автор ненавязчиво делится своим фирменным рецептом настройки Debian GNU/Linux и приготовления из унылых дебиановских пакетов смачного и сочного десктопа а натюрель. Настройка требует времени и терпения, так что любителей быстрозаливаемых кипятком убунт, мандрив и прочих анклбенсов просьба не дерибанить кнопку комментариев попусту.
Читать далее

Книга по Linux: The Debian Cookbook



26 коммент.
Позволю себе немножко пафоса в заголовке - не пугайтесь, это не книга по Linux, а всего лишь PDF-версия постов этого блога, или повареная книга Debian как следует из названия. Некоторое время назад я взял на себя социалистическое обязательство изваять справочник по Debian, а точнее сделать часть своих постов в виде книжки под формат ежедневников А6. Собственно, проект достиг стадии, которую можно назвать первым релизом.
Читать далее

Карманный справочник The Debian Cookbook



31 коммент.
Время от времени я забываю некоторые детали настройки Linux и поэтому сам же часто читаю свой блог. Однако иногда я оказываюсь там, где интернетов нет, а лезть в архивы своего блога долго. И тут, после очередного полученного мной электронного письма с вопросом "а не планируете ли вы засесть за книгу" меня посетила мысль изваять свой хендбук. Гентушники вон сделали, а что, дебианщики жиже? :-) Ничуть.


Debian Cookbook - поваренная книга
В общем, не буду долго томить: есть пре-альфа версия The Debian Cookbook, как я его пока назвал. Ведётся разработка на Google Code, репозиторий Mercurial/HG
The Debian Cookbook project
[ссылка на PDF]
Идея проста: я прохожусь по тегам поста и собираю конкретные рецепты. Дальше копирую в кратком виде в LaTeX и распечатываю под свой ежедневник. Cookbook призвано оправдать своё название - это карманный справочник рецептов. Производные работы приветствуются, дополнения и патчи тем более.

Чтобы отслеживать возможность скачать новую версию, можно подписаться на RSS-ленту разработки: забрать RSS.

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

Toshiba Netbook NB-100: маленькое японское чудо



18 коммент.
Надумал купить себе небольшой нетбук, который удобно было бы таскать с собой для разного рода выступлений, лекций и презентаций. Большие мощности там ни к чему, нужно просто крутить PDF-презентации на внешнем мониторе, работать с текстом и время от времени выходить в интернет. И вот, поискав доступные варианты, остановился на Toshiba NB-100 с предустановленной Ubuntu Netbook Remix.


Нетбук сразу из коробки
Первое впечатление - "ой, какой маленький!" И это именно так: нетбук очень мал и компактен, лёгок и изящен. Хитрые японцы сделали клавиатуру как раз такого размера, что ещё чуть-чуть меньше, и работать на ней уже просто невозможно. То есть клавиатура в целом неплоха, но набирать на ней длинные тексты, конечно, утомительно. Работа с такими маленькими кнопкам требует небольшого привыкания, но в целом не смертельно. Маленький тачпад довольно чуток к прикосновениям, отрабатывает нажатия вполне прилично. Динамик расположен внизу экрана, и довольно громкий; наверху экрана есть вебкамера, хотя её 0.3 мегапикселей едва хватает для сколько-нибудь приличной видеоконференции.

Хочется отметить, что вариант процессора Intel Atom в нетбуке от Тошибы с Hyperthreading, что вместе с SATA-винчестером положительно влияют на скорость работы машины: всё работает очень быстро и плавно, что не может не радовать. Маленький 8.9" монитор Тошибы намного ярче моего Asus M5200AE, так что на нём можно работать даже в яркий солнечный день. Глянцевый монитор, хоть мне и не нравится его гламурность и способность отражать всё и вся, очень хороший и яркий, работать за ним приятно.

По умолчанию предустановлена Ubuntu 8.04 с ядром 2.6.24-19lpia, как оно себя называет. При первом запуске в магазине настройка заняла не больше минуты, в то время как рядом сидевшие с Windows Vista ждали первый запуск аж 15 минут. После вопросов о логине\пароле, текущем часовом поясе и прочих мелочах загрузилась Ubuntu с интерфейсом вида "Netbook desktop":


Заблудиться тут в общем негде, но как переключаться между задачами я, честно говоря, не сразу понял. Побродив по настройкам, смог переключиться в нормальный убунтушный гномовский интерфейс, который называется "Classic desktop":


Не думаю, что прожжённые КДЕшники будут рады такому названию, но для Убунты оно действительно Классик. Шут с ним, впрочем, с названием - перед нами обычный GNOME на нетбуке:


Всё достаточно компактно, красиво и понятно: два виртуальных рабочих стола, корзина в самом углу, и кнопки наверху. После некоторого привыкания интерфейс вопросов не вызовет даже у самых неискушенных пользователей. Это из внешнего вида.

Порадовало то, что Ubuntu сама нашла мою проводную сеть и тут же к ней подключилась по DHCP:



Приятная мелочь, так что теперь можно немного побродить по Интернету с помощью Firefox, который так же имеется в комплекте предустановленного софта. Тут начинаются лёгкие минусы: в Firefox натолкали столько панелей инструментов, что хоть беги - никто не подумал, что экран нетбука всего 1024x600 пикселей, там и так ни черта не видать:


Да, это можно отключить, но зачем же это по умолчанию!?

Идём по софту, который есть прямо из коробки. Имеем OpenOffice 2.4, F-spot, Firefox, Evolution, Stardict - это то, что сразу бросилось в глаза. В общем, софта хватает. Единственное, что поразило - не установленный по умолчанию GiMP. Это для меня большая загадка. Впрочем, используя замечательные репозитории DebianUbuntu это можно быстро преодолеть. К слову сказать, процесс установки софта в Убунте меня очень порадовал: все красиво, понятно, с подсказками и большими глянцевыми кнопками, чтобы не промахнуться. :-) Мои олдскульные замашки с aptitude install от рута здесь не проходят.



И тут начались первые косяки. Задумал поставить программу Planner, которая помогает планировать своё время - однако при установке сразу запустился некий scrollkeeper и отожрал всё процессорное время, при этом отказываясь продолжать установку. Пришлось использовать грубую физическую силу в виде sudo killall и выдирать его оттуда. Мне удалось поставить GIMP, чтобы сделать пару скриншотов, и на этом я удовлетворился.

Побродив по всему этому глянцевому гламуру с весёлыми кнопками, я заскучал по своим любимым приложениям: MC, Yakuake, Kate... К тому же иногда хочется немного покрасноглазить и поработать от root для того, чтобы что-то подогнать под себя в системных настройках. А постоянно писать sudo мне непривычно. И вот я уже готовлю загрузочную флешку с установщиком Debian Lenny для водружения привычной среды обитания на нетбук.


Debian Lenny и Toshiba NB100
Загрузка с флешки имела один забавный момент в моём случае: если у вас в USB-порт воткнуто ещё что-то кроме флешки, загрузиться с флешки не удастся. После вытыкания мыши всё пошло как по маслу: знакомый инсталлятор (ссылка на Установку Дебиан) сам быстро нашёл мою проводную сеть, предложил выбрать интернет-репозиторий, разбить диск и выбрать по желанию пакеты для дальнейшей установки. Вопросов инсталлятор Lenny задаёт ощутимо меньше, чем Etch-евский.

Я разбил весь диск одним куском, файловая система ext3, свопа нет (только swap-file), на что инсталлятор мне попенял (но , предупредив о последствиях, согласился со словами "ты жираф, тебе видней"). Без разговоров был установлен загрузчик Grub и прогрессивная локаль UTF8 (мои старпёрские привычки к Lilo и koi8 не учитывались). Установка прошла быстро и без проблем: даже учитывая моё медленное соединение в 64кБ/сек базовая система развернулась за 30 минут.

Устройства нашлись ядром все - вот вывод lspci для NB-100:
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
02:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)


Дальше было всё ещё скучнее - никаких увлекательных триллеров с погоней, стрельбой и развратными женщинами по настройке Wifi или, скажем, cardreader, не было. Стандартное ядро из Lenny за номером 2.6.26-2 подняло ВСЁ оборудование сразу же и без лишних телодвижений. Мне потребовалось только быстро доставить все нужные мне службы и поставить иксы, которые тут же завелись сразу на widescreen 1024х600. Здесь меня встретила только одна маленькая неприятность, отнявшая у меня минут 10 на гуглёж и решение: совершенно чудовищных размеров шрифты. Решилось довольно быстро:

  1. При старте иксов вручную идём править файл /etc/X11/xinit/xserverrc в котором исправляем строку exec /usr/bin/X -nolisten tcp на строку exec /usr/bin/X -nolisten tcp -dpi 96
  2. Если иксы стартуют автоматически при загрузке машины (а это так скорее всего и будет), всё немножко сложнее. Нужно иксам указать явно, что мы хотим 96dpi на мониторе. Для этого в файле /etc/X11/xorg.conf вписываем
Section "Monitor"
...
DisplaySize AA BB # 96 DPI @ 1280x960
...
EndSection

Заменяем АА и ВВ на числа, посчитанные так: АА=1024 x 25.4 / 96 и BB = 600 x 25.4 / 96 Здесь подставлено моё разрешение экрана нетбука 1024х600. После этого в разделе Device section вписываем параметр:

Option "NoDDC" "true"

Всё, это выставит нормальное разрешение и сделает шрифты на нетбуке приличных размеров. За этот трюк спасибо великолепному Arch Wiki.

После этого процесс настройки пошёл, как и прежде, без сучка и задоринки: установил IceWM и все необходимые приложения. Я был снова поражён скоростью работы системы, особенно винчестера: установка пакетов была просто молниеносной, и я не успевал набирать новые названия пакетов. В целом за полтора часа я установил всё: openoffice 3.1, gimp, cinepaint, inkscape, kate, kile, yakuake, mocp, octave, MATLAB, firefox, opera, samba, cups, alsa, imagemagick...

Немного поигрался с темами для IceWM и нашёл пару тем с маленькими размерами заголовков окон и панелью задач. Вот, например, тема Thin Black для IceWM на фоне нескольких приложений:

Практически - кроме ещё одной маленькой партизанской засады под названием Clone Mode. В переводе это значит, что я хочу гонять презентации не только на своём мониторе, но и на проекторе. Тут я вспомнил уважаемых комментаторов, намекавших на Xrandr в этом вопросе, и решил попробовать, благо xrandr у меня на нетбуке с Debian Lenny версии 1.2. Небольшой гуглёж сразу вывел на решение всех проблем: просто пишем
$ xrandr --output VGA --auto
и тут же получаем желаемый Clone Mode без всяких правок xorg.conf
Тут нам сразу наступает счастье: осталось только запустить OpenOffice Impress и крутить презентации.


Заключение
В общем, целом и частностях, новой машиной я очень доволен. Маленький и шустрый нетбук радует ярким монитором, быстрой работой и привычным окружением Debian. Всё, что нужно, на нём работает, и настройка заняла не больше полутора часов до получения полностью работоспособной системы со всеми нужными мне приложениями.
Читать далее

Ускорение загрузки Linux: отключение неиспользуемых сервисов в Linux



21 коммент.
В деле настройки своей системы под себя бывает желание уменьшить время загрузки. Для этого есть много разных средств, но одно из самых доступных и простых - отключение неиспользуемых сервисов в Linux. И для этого совсем не нужно часами править конфиги, ибо есть и графические конфигураторы. Главное - не навредить, как завещал отец медицины.

Итак, после того, как загрузчик
Linux найдёт и загрузит ваше ядро, в дело вступает запуск сервисов. Запускается Samba, которая делает ваши директории видимыми по сети (в том числе для пользователей альтернативных систем), CUPS - чтобы вы могли печатать на принтеры, SSHd - чтобы можно было принимать удалённое управление. В общем, всё то, что обеспечивает нам удобную работу, не отвлекая нас от более важных дел.

Однако у дистростроителей представления о том, какие сервисы вам нужны, могут несколько отличаться от ваших. Например, если вы не администратор сети, вам скорее всего не нужны почтовые агенты и службы точного времени. И тем не менее в системе сконфигурированной по умолчанию они продолжают запускаться. Сейчас мы это быстро поправим.

ПРЕДУПРЕЖДЕНИЕ!!!
СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ВСЕГО КАТАЛОГА /ETC НА ВСЯКИЙ СЛУЧАЙ!!! В СЛУЧАЕ НЕУДАЧИ ВЫ МОЖЕТЕ ПОЛУЧИТЬ СИСТЕМУ, КОТОРАЯ НЕ ЗАГРУЖАЕТСЯ!!!


И ещё одно предупреждение
Здесь главное не перестараться и отключать только те сервисы в
Linux, назначение которых вы знаете и точно уверены, что они вам не потребуются в ближайшем обозримом будущем. Скорее всего, вам всё-таки потребуются такие сервисы, как login и cron, так что будьте аккуратны.


Управление сервисами
Для того, чтобы долго не елозить напильником по конфигурационным файлам, ставим графический конфигуратор. Поискав по несметным сокровищницам репозиториев Debian GNU/Linux, находим:
# apt-cache search boot up manager
bum - graphical runlevel editor
Собственно, программа маленькая, ставим:
aptitude install bum
Программа при запуске ожидаемо требует рутовых привилегий:
sudo bum
Появится красивая и удобная графическая оболочка, по умолчанию в "простом" варианте:



Удобно, что о каждом сервисе сказано, что он делает. Так же показано текущее состояние сервиса - работает, неактивен или информация о его состоянии недоступна. Включаем или выключаем соответствующие сервисы, и нажимаем "Применить" - изменения вступят в силу после перезагрузки или сразу же.



В "продвинутом" варианте вы получаете не только управление сервисами, но и включением \ отключением самих скриптов конфигурирования отдельных сервисов. Как и прежде, будьте аккуратны - я не несу ответственности за порушенные "ынтырпрайзы" и отказывающиеся загружаться "продакшны" :-)

Если руки тянутся к напильнику...
На всякий случай напомню, что в Debian стартовые скприты аккуратно сложены в директории /etc/init.d/ а в каталогах
/etc/rc0.d
......
/etc/rc6.d

содержатся ссылки на соответствующие скрипты в /etc/init.d/
Соответственно, в Debian GNU/
Linux номера runlevels распределены следующим образом:
  • 0 System Halt
  • 1 Single user
  • 2 Full multi-user mode (по умолчанию)
  • 3-5 То же что и 2
  • 6 System Reboot

И наконец несколько слов об асинхронной загрузке
Linux. Это технически можно сделать, поправив конфиг /etc/init.d/rc до такого состояния:
# Specify method used to enable concurrent init.d scripts.
# Valid options are 'none', 'shell' and 'startpar'
CONCURRENCY=shell
Конкретно в моём случае ускорение составило около 2-3 секунд, что в общем меньше ожидаемого. А вариант "startpar" вообще привёл к тому, что система отказалась загружаться. Имея под рукой Knoppix Linux я, конечно, всё быстро поправил, но тем не менее.

Есть и более радикальные методы ускорения загрузки, такие как initNG. Но об этом в другой раз.

Ссылки
Как всегда, по теме очень толково пишут аксакалы из IBM здесь. А так же в генту-вики очень хорошее руководство тут (пользуясь случаем, в очередной раз зеленею от зависти к гентушным вики). Описание сервисов на примере Fedora 8 приведено здесь (Tigro, спасибо за ссылку!).
Читать далее

Debian GNU/Linux исполнилось 15 лет!



12 коммент.
Ян Мёрдок 15 лет назад опубликовал скромное сообщение в конференции comp.os.linux.development, где объявил о создании нового дистрибутива. Название дистрибутива он составил из имени жены (Debra) и своего (Ian).

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


Коллеги с ЛОР разыскали оригинальное сообщение Мёрдока, которое с удовольствием привожу здесь:





Ian A Murdock

Дополнительные параметры 16 авг 1993, 17:09

Fellow Linuxers,

This is just to announce the imminent completion of a brand-new Linux release,
which I'm calling the Debian Linux Release. This is a release that I have put
together basically from scratch; in other words, I didn't simply make some
changes to SLS and call it a new release. I was inspired to put together this
release after running SLS and generally being dissatisfied with much of it,
and after much altering of SLS I decided that it would be easier to start
from scratch. The base system is now virtually complete (though I'm still
looking around to make sure that I grabbed the most recent sources for
everything), and I'd like to get some feedback before I add the "fancy" stuff.

Please note that this release is not yet completed and may not be for several
more weeks; however, I thought I'd post now to perhaps draw a few people out
of the woodwork. Specifically, I'm looking for:

1) someone who will eventually be willing to allow me to upload the
release to their anonymous ftp-site. Please contact me.
Be warned that it will be rather large :)

2) comments, suggestions, advice, etc. from the Linux community. This
is your chance to suggest specific packages, series, or
anything you'd like to see part of the final release.

Don't assume that because a package is in SLS that it will necessarily be
included in the Debian release! Things like ls and cat are a given, but if
there's anything that's in SLS that you couldn't live without please let me
know!

I'd also like suggestions for specific features for the release. For example,
a friend of mine here suggested that undesired packages should be selected
BEFORE the installation procedure begins so the installer doesn't have to
babysit the installation. Suggestions along that line are also welcomed.

What will make this release better than SLS? This:

1) Debian will be sleeker and slimmer. No more multiple binaries and
manpages.
2) Debian will contain the most up-to-date of everything. The system
will be easy to keep up-to-date with a 'upgrading' script in
the base system which will allow complete integration of
upgrade packages.
3) Debian will contain a installation procedure that doesn't need to
be babysat; simply install the basedisk, copy the distribution
disks to the harddrive, answer some question about what
packages you want or don't want installed, and let the machine
install the release while you do more interesting things.
4) Debian will contain a system setup procedure that will attempt to
setup and configure everything from fstab to Xconfig.
5) Debian will contain a menu system that WORKS... menu-driven
package installation and upgrading utility, menu-driven
system setup, menu-driven help system, and menu-driven
system administration.
6) Debian will make Linux easier for users who don't have access to the
Internet. Currently, users are stuck with whatever comes with
SLS. Non-Internet users will have the option of receiving
periodic upgrade packages to apply to their system. They will
also have the option of selecting from a huge library of
additional packages that will not be included in the base
system. This library will contain packages like the S3
X-server, nethack and Seyon; basically packages that you and I
can ftp but non-netters cannot access.
7) Debian will be extensively documented (more than just a few
READMEs).
8) As I put together Debian, I am keeping a meticulous record of
where I got everything. This will allow the end-user to
not only know where to get the source, but whether or not
the most recent version is a part of Debian. This record
will help to keep the Debian release as up-to-date as possible.
9) Lots more, but I'll detail later...

Anyway, I'll provide more specifics in a week or so after I receive enough
replies.

Please, all replies by mail. I'll post a followup. If you wish to discuss
this in the newsgroup, please don't turn it into a flamewar. :)

Until later,

Ian
--
Ian Murdock Internet: imurd...@shell.portal.com
The Linux Warehouse

Please mail me for more information on the status of the Debian Linux Release.




Прекрасный повод поднять бокалы!

P.S> Как я удачно из отпуска вышел :-)
Читать далее

Как добавить репозиторий Debian из CD или DVD-образов



21 коммент.
Имеется несколько выкачанных ISO-образов с репозиториями, например Debian GNU/Linux, и нужно их подключить для работы. Не обязательно пропаливать их на диск и постоянно вставлять-извлекать диски. Можно примонтировать ISO-образы и добавить репозитории, чтобы пакеты стали доступны. Для опытных пользователей это, конечно, не вопрос, но новичкам это даётся нелегко. Ниже - краткий рецепт по этому поводу.
Читать далее

Поиск пакета по меткам в Debian GNU/Linux: debtags



11 коммент.
В репозитории Debian GNU/Linux пакетов очень и очень много. Для поиска пакетов можно использовать много методов, однако всегда интересно посмотреть, а может быть есть полезная и нужная программа, которую пропустил. Для этого есть в каждом пакете теги (они же метки), а поиск по меткам лучше всего удаётся замечательной программе debtags.

Можно иметь под рукой огромный репозиторий и не знать, что в нем есть. Начиная с Debian Etch, появилась такая замечательная программа, как debtags. Она при умелом пользовании должна сильно помочь при поиске программ для конкретных задач.


Поиск по аналогии
Например, поищем программы для просмотра изображений. Скажем, используем программу gqview - поищем её аналоги в репозитории:
$ debtags related gqview
Результат:

pornview
- Image and movie viewer/manager
gtksee - GTK-based clone of ACDSee (an image viewer)

Продолжаем искать, уже зная о трёх программах. Для этого последовательно увеличиваем такой критерий поиска, как "дистанция", характеризующий похожесть искомых пакетов на указанный.
$ debtags related -d 1 gqview,pornview,gtksee
feh - imlib2 based image viewer
gthumb - an image viewer and browser
paul - Yet another image viewer (displays PNG, TIFF, GIF, JPG, etc.)

Таким образом нашли ещё три программы для просмотра изображений, feh, gthumb и paul. Используем их названия для дальнейшего поиска:

$ debtags related -d 2 gqview,pornview,gtksee,feh,gthumb,paul
Получаем:

xsane - GTK+-based X11 frontend for SANE (Scanner Access Now Easy)
showimg - A feature-rich image viewer
djview - Viewer for the DjVu image format
eog - Eye of Gnome graphics viewer program
xli - command line tool for viewing images in X11

Тут результат уже не точен, но 3 из 5 программ нам подходят. Среди горы пакетов найдено за пару минут целых 5 просмотрщиков.


Поиск по конкретным тэгам
Выбираем подходящие теги для поиска:
$ aptitude show gqview eog showimg
И, наконец, ищем:
$ debtags search "use::viewing && works-with::image && interface::x11"
Получаем список из 51 пакета. Просмотрев его по диагонали, и выясняем, есть ещё несколько ранее не обнаруженных программ по просмотру изображений:

gimageview
xzgv
gwenview
glib
imgseek
kview
qiv
kuickshow


Осталось только выбрать самый подходящий.


"Умный" поиск
Теперь посмотрим, что из содержимого репозитория Дебиан умеет работать с изображениями:
$ debtags smartsearch images

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

Tag selection:

1) works-with::image (420/15850)
2) works-with::image:raster (293/15850)
3) works-with-format::png (35/15850)
4) role::program (4851/15850)
5) interface::x11 (2436/15850)
6) hardware::camera (44/15850)
7) x11::application (2175/15850)

8) role::program (4851/15850)
9) devel::library (3776/15850)
10) scope::utility (2970/15850)
11) interface::x11 (2436/15850)
12) interface::commandline (2405/15850)
13) x11::application (2175/15850)
14) special::not-yet-tagged (1914/15850)
15850 packages selected so far.
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +2

И ещё уточняем: нужны программы для редактирования изображений:

Tag selection:
1) works-with::image:raster (wanted)

2) works-with::image (289/293)
3) works-with-format::png (28/293)
4) role::program (125/293)
5) interface::x11 (86/293)
6) hardware::camera (25/293)
7) x11::application (79/293)
8) scope::utility (81/293)

9) works-with::image (289/293)
10) interface::commandline (65/293)
11) x11::application (79/293)
12) scope::utility (81/293)
13) use::editing (58/293)
14) interface::x11 (86/293)
15) uitoolkit::gtk (50/293)
293 packages selected so far.
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +13

Так можно найти много интересного в репозитории!

Читать далее

5 инструментов, без которых я не могу работать продуктивно



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

... из наушников не прерываясь льётся спокойная и тихая музыка, помогающая настроиться на работу. Где-то там, далеко,  суровый математический пакет ворочает гигабайтными изображениями, а несколько копий RAW-конвертера крупным оптом конвертируют отснятые данные. Но я этого не замечаю, и продолжаю полировать статью на конференцию в удобной графической оболочке.


1. Debian GNU/Linux
Без Дебиана для меня продуктивная работа невозможна в принципе. Здесь есть всё, что нужно для моей комфортной работы. Пакеты программ отполированы и подогнаны друг к дружке, ставится и обновляется быстро и просто - стабильное и надёжное как скала рабочее окружение. Всё настроено под меня, не мешает и не отвлекает всякими дурными всплывающими окошками и звуками - система компактная, простая, быстрая и отзывчивая. И никаких ожиданий по полминуты при переключении на другую задачу.


2. Kile
Оболочка для LaTeX, в которой я пишу свои статьи, тезисы на конференции, лабораторные журналы и прочие документы. Достаточно продуманная и не перегруженная среда позволяет несколькими горячими клавишами собирать и конвертировать документы другие форматы для просмотра или вывода на печать. LaTeX избавляет от всех неудобств визуальных редакторов, позволяя мне сконцентрироваться на тексте, а Kile делает этот процесс удобным и простым.


3. Nip2
Без этого замечательного графического анализатора я просто не смог бы добиться тех результатов, которые получил. Уникальная программа, которая позволяет анализировать изображения любых разрядностей, получать по ним развёрнутую статистику и производить с изображениями такие преобразования, которые обычным графическим редакторам и не снились. Nip2 это настоящая лаборатория по исследованию изображений. Теперь эта программа для меня, как бензопила для лесоруба.


4. DCRAW
Конвертеру DCRAW и её автору, Дейву Коффину (Dave Coffin), я просто обязан своей кандидатской диссертацией. Только этот конвертер позволил мне превратить обычную цифровую камеру в прибор страшной измерительной силы. С помощью DCRAW вообще очень многое можно узнать о том, какая хитрая кухня работает за фасадом цветастых картинок.


5. GNU/Octave
Этот замечательный пакет численных расчётов - моя постоянная среда тестирования алгоритмов обработки изображений. Так как почти все вещи есть в пакете octave-forge, то написанные мной скрипты так же запускаются и в MATLAB. Октава быстрее и много менее прожорлива к ресурсам чем раздутый MATLAB.


Кроме того, я не могу не упомянуть:
  • Midnight Commander - мой любимый файл-менеджер, который позволяет мне быстро раскапывать нужные файлы в дебрях моих документов.
  • Yakuake - стильный и очень удобный многотабовый терминал, без которого я не представляю эффективной работы. Эпизодически работая в альтернативной ОС, я постоянно пытаюсь вызвать её по F12 :-)
  • Kate - текстовый редактор, в котором я правлю тексты и скрипты большую часть времени. За исключением правки конфигов, где со страшной силой для меня рулит vim.
  • IceWM - маленький, конфигурабельный и быстрый оконный менеджер, обвешанный горячими клавишами и продуманными и элегантными темами оформления.
  • XMMS и MOCP - музыка, без которой не прожить. В зависимости от настроения и текущей ситуации, использую одно из двух.

В общем, без Debian, Kile, Nip2, DCRAW и Octave для меня жизни нет. А такие замечательные творения как MC, Yakuake, XMMS, Kate и IceWM делают жизнь не просто возможной, а удобной и продуктивной.
Читать далее

Установка пакетов программ в Debian GNU/Linux



28 коммент.
После установки Debian и графического интерфейса хочется поставить приложения для повседневной работы в Linux. В Debian установка пакетов делается просто, о чём будет говориться в этом посте.

Итак, базовая система Debian поставлена, графическая среда настроена и запущена. В общем, даже краше, чем в Windows - теперь время наполнить это всё нужными и полезными программами Linux. А как ставить пакеты программ в Linux, например в Debian GNU/Linux?


1. Консольный способ установки пакетов в Debian
Этим способом следует воспользоваться хотя бы один раз - мало ли что случится с графической средой (например, при обновлении системы). Консоль всегда рядом, ей можно (и нужно) пользоваться. Можно воспользоваться консольным способом установки программ и в графической среде: для этого запускаем Konsole, Terminal или xterm в зависимости от выбранной среды.

Чтобы найти название пакетов программ в Debian GNU/Linux по описанию, выполняем команду:
# apt-cache search чего_хочу | grep чего_конкретно_хочу
Это даст список названий и описаний пакетов, которые вам интересны. Чтобы поставить пакет в Debian GNU/Linux, пишем:
# aptitude install что_нашёл_
Почти наверняка пакетная система потребует поставить дополнительные пакеты, требующиеся для работы приложения. Смотрим, сколько это займёт, и, если это устраивает, ставим.

Для того, чтобы удалить пакет программы
в Debian GNU/Linux, выполняем:
# aptitude remove имя_пакета
А чтобы удалить программный пакет
в Debian GNU/Linux вместе с его конфигурационными файлами, пишем:
# aptitude purge имя_пакета
Опять-таки, знать эти команды очень даже стоит, потому как управлять софтом
в Debian GNU/Linux тогда можно в любой ситуации (не загружаются иксы, обновление системы и проч.).



2. Графический способ
установки программ в Debian GNU/Linux
Для любителей графических приложений имеется synaptic - графический интерфейс установки и удаления приложений в Debian GNU/Linux. Чтобы его поставить, пишем:
# aptitude install synaptic sudo
Последний пакет нужен, так как от рута synaptic стартовать откажется. Под рутом не сидим, не забыли?

Для настройки sudo вводим в терминале\консоли su и пишем пароль root и редактируем файл /etc/sudoers при помощи MC или командой:
# nano /etc/sudoers
Этот файл нужно довести до, например, такого состояния:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
# See the man page for details on how to write a sudoers file.
#

# User privilege specification
root ALL=(ALL) ALL
ВАШЛОГИН ALL=(ALL) ALL

Далее запускаем synaptic при помощи делегирования рутовых полномочий простому пользователю посредством sudo:
$ sudo synaptic
Либо ищем его в меню приложений KDE или GNOME (если вы поставили себе эти среды)
Появится что-то вроде:


И далее можно искать и устанавливать приложения. Просто выделяете мышкой программу, жмёте правой кнопкой мыши и выбираете "Отметить для установки" или "Отметить для удаления". Помните, что если нужно удалить программный пакет
в Debian GNU/Linux полностью, с конфигурационными файлами, следует "Отметить для полного удаления".


Ставим необходимые приложения
в Debian GNU/Linux
Хотели рабочую станцию? Мы её почти получили: у нас есть графический сервер и графическая оболочка/среда, и осталось наполнить её приложениями. Основные программы, который вам потребуются для комфортной работы, перечислены в этом посте.

Полезно побродить по списку пакетов и посмотреть на то, сколько и чего нам положили в дистрибутив. Любую программу в репозитории можно легко и просто установить - либо прямым вводом команд в консоли, либо через графическую оболочку.
Читать далее

Установка Debian GNU/Linux через Интернет



27 коммент.
Для того, чтобы установить Debian GNU/Linux из-под Windows через Интернет, даже не требуется качать и пропаливать диск c Debian - можно установить его из Интернет (но на всякий случай хорошо прочитать рекомендации по правильной установке Debian). Достаточно нажать на изображение:




Нажмите на картинку,чтобы начать установку Debian GNU/Linux

После этого должен скачаться файл debian.exe, который запусит процесс скачивания и установки Дебиан. По умолчанию устанавливается стабильный дистрибутив Линукс.

Перед тем, как всё начнётся, лучше открыть и прочитать (а ещё лучше распечатать) исчерпывающую инструкцию по установке Дебиана.



Минимальные требования к оборудованию:
Процессор: Intel Pentium I, 100MHz и более. Для комфортной работы Intel Pentium II-400 MHz желателен.
Память: 64Мб ОЗУ, но для навороченных сред 256Мб рекомендуется.
Жёсткий диск: для минимальной установки 500 Мб, для нормальной работы с десктопом 1Гб рекомендуется.
Видеокарта: любая VGA-совместимая карта, S3 Trio сойдёт, но для навороченных графических сред нужно что-то с графическим ускорением.


1. Скачается инсталлятор Debian Linux под Windows
Итак, сначала нажимаем на начать установку скачается инсталлятор и запустится. Не бойтесь, вирусов там нет - запускайте смело.





Запустится инсталлятор, который проведёт вас по установке Линукс.



2. Выбираем между графическим и текстовым инсталлятором
Выберите графический или текстовый вариант установки - на ваш вкус. Эта инструкция по установке описывает текстовый вариант (для слабых машин особенно актуально), но шаги должны быть те же и для графической установки.

Бояться этого не надо, инсталлятор задаст несколько вопросов, переразобьёт винчестер и поставит Линукс - либо второй системой (винду не снесёт), либо основной (вместо винды).



3. Скачаются необходимые данные для инсталляции
Далее потребуется скачать около 11Мб данных, необходимых для первичной загрузки Линукс и начала инсталляции.


Файлы скачаются на винчестер, распакуются и установятся. Снова не боимся - это Линукс, вирусов и шпионских программ нет.



4. Перезагрузка для начала инсталляции 

Если вы тверды духом и готовы к знакомству с миром Линукс - уверенно жмём кнопку Yes на предложение инсталлятора перезагрузиться.





После перезагрузки начнётся установка.



5. Начало инсталляции
После перезагрузки вас будет ждать выбор загрузки операционной системы - выбираем Debian Installer.


Это запустит инсталлятор, который задаст десяток вопросов о вашей будущей системе.



6. Начинётся процесс инсталляции

Всё готово, начнётся процесс установки Linux. Вас скорее всего попросят выбрать зеркала загрузки пакетов программ для Линукс.


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

 


 
Всё, после окончания установки на вашей машине будет поставлена современная, мощная, стабильная и надёжная операционная система, которой доверяет данные, например, Яндекс.

Читать далее

Создание Linux: создаём загрузочный Linux LiveCD



17 коммент.
Несмотря на то, что загрузочных Linux дистрибутивов развелось огромное количество, так или иначе хочется создать Linux для личных нужд и конкретных целей. Способов для создания загрузочных дистрибутивов Linux имеется много, от LFS до Knoppix Customisation Kit. Но "мы пойдём другим путём"и будем создавать загрузочный Linux на основе собственного дистрибутива и с минимальными трудозатратами. Ниже описываются шаги на примере Debian GNU/Linux и live-scripts.


Необходимые приготовления для создания загрузочного Linux
Для начала нужно скачать скрипты для создания загрузочного диска Linux отсюда. Желательно так же скачать и ядро, которое уже подготовлено для работы - и если вы не гонитесь за какими-то рекордами. Можно собрать и собственное ядро, но его придётся не раз пропатчить...

Далее нужна уже установленная система. Можно создать загрузочный Linux диск на основе той системы, которая есть, но я поставил отдельно Дебиан в эмуляторе QEMU и установил там только те приложения, которые нужны.


Настраиваем систему
Для этого монтируем файл-образ с установленной и настроенной системой на петлевое устройство и затаскиваем туда необходимые скрипты и ядро (от рута):
mount -t ext3 debianEtch40Xorg71Xwm.img /cdrom -o loop,offset=32256
cp linux-2.6.21.5-i486-1.tgz /cdrom/root
umount /cdrom

Распаковываем архив с ядром, перемещаем получившиеся файлы в соответствующие директории (загрузочный образ в /boot, модули - в /lib/modules, утилиты squashfs в /usr/bin). Всё это делается от рута. Далее генерируем образ initrd:
mkinitramfs -o /boot/initrd.img-2.6.21.5 2.6.21.5
Версия ядра может измениться, так что команду нужно будет поправить. Заменяем дистрибутивное ядро новым, изменяем grub.list, обновляем загрузчик update-grub - это сэкономит нам ещё около 60 Мб.
Загружаем эмулятор вместе с файлом-образом получившейся системы, тестируем, пробуем.
qemu -kernel-kqemu -hda debianEtch40Xorg71Xwm.img
Настраиваем виртуальный дистрибутив под наши задачи, устанавливая нужные пакеты и удаляя лишние. Лично у меня есть некий базовый дистрибутив в сжатом виде, как образ QEMU, и в зависимости от задач я меняю состав его программ.

Обязательно проверьте, установлен ли mkisofs - иначе создать живой CD не удастся и вы (забегая вперёд) получите сообщение:

# /tmp/live_data_2865/virenslinux/make_iso.sh
Target ISO file name [ Hit enter for /linux-live-6.1.4.iso ]: virenslive.iso
/tmp/live_data_2865/virenslinux/make_iso.sh: line 25: mkisofs: command not found


Если mkisofs есть, переходим дальше.


Создание загрузочного
диска Linux
Снова монтируем файл-образ настроенной системы на петлю:
mount -t ext3 debianEtch40Xorg71Xwm.img /cdrom -o loop,offset=32256
Теперь согласно руководству, копируем в /cdrom/temp (куда прикручена система для liveCD) скрипты для создания диска. Скрипты будут работать только от рута, так что можно немножко покрасноглазить :-)

Настраиваем скрипты, для чего заходим в каталог /linux-live-версия на прикрученной системе и редактируем файл .config
В нём можно изменить название LIVECDNAME на то, которое больше нравится, и главное - изменить KERNEL на то, которое установлено в той системе (здесь это 2.6.21.5). Таким образом, строка будет выглядеть:
KERNEL=2.6.21.5
Сделайте это, иначе на следующем шаге скрипт ядро не найдёт.


Генерация файлов живого диска
Теперь переходим к точке монтирования нашей новой системы
cd /cdrom
и входим в неё:
chroot /cdrom
Теперь все действия будут выполняться рутом относительно той системы, а не в которой вы работаете. Переходим в каталог со скриптами:
cd /tmp/linux-live-6.1.4/
и даём команду собрать образ:
./build
Для того, чтобы всё прошло успешно, в ядре обязательно должна быть включена поддержка ext2, иначе при сборке всё закончится ошибкой.

Changing current directory to /tmp/linux-live-6.1.4
Name of your live distro [hit enter for virensLinux]:
Linux Live scripts were installed successfuly in /
Enter path for the kernel you'd like to use [hit enter for /boot/vmlinuz]:
Creating LiveCD from your Linux
some debug information can be found in /tmp/linux-live-debug.log
copying cd-root to /tmp/live_data_9345, using kernel from /boot/vmlinuz
creating initrd image...
Using kernel modules from /lib/modules/2.6.21.5
mount: /dev/loop6 has wrong device number or fs type ext2 not supported
Error mounting initrd! Not enough free loop devices?

Если всё на месте, отвечаем на несколько вопросов, и видим процесс генерации:

notebeast:/tmp/linux-live-6.1.4# ./build
Changing current directory to /tmp/linux-live-6.1.4
Name of your live distro [hit enter for virenslinux]:
Linux Live scripts were installed successfuly in /
Enter path for the kernel you'd like to use [hit enter for /boot/vmlinuz]:
Creating LiveCD from your Linux
some debug information can be found in /tmp/linux-live-debug.log
copying cd-root to /tmp/live_data_2865, using kernel from /boot/vmlinuz
creating initrd image...
Using kernel modules from /lib/modules/2.6.21.5
creating compressed images...
base/bin.lzm ...
[========================================================= ] 100/112 89%
base/etc.lzm ...
[================================================================] 709/709 100%
base/home.lzm ...
[==================================================================] 37/37 100%
base/lib.lzm ...
[==============================================================] 2161/2161 100%
base/opt.lzm ...

base/root.lzm ...
[====================================================================] 7/7 100%
base/usr.lzm ...
[========================================================== ] 21934/22313 98%
base/sbin.lzm ...
[========================================================= ] 95/106 89%
base/srv.lzm ...

base/var.lzm ...
[==============================================================] 2100/2100 100%
--------done----------

* run /tmp/live_data_2865/virenslinux/make_iso.bat to create ISO image
* or copy content of /tmp/live_data_2865 to your USB device
and run ./boot/bootinst.sh (from the device!) to setup boot sector

Now press Enter...


За это время можно выпить чашечку кофе, или принять ванну (в зависимости от мощи процессора). У меня это отнимает около 10 минут. После этого нужно создать ISO-образ нашего загрузочного живого пингвина.


Создание загрузочного Linux LiveCD
Осталось последнее - создать ISO образ живого диска и пропалить его на болванку. Для этого переходим в каталог, куда скрипты утоптали пингвина и выполняем:
notebeast:/tmp/live_data_16804/virensLinux# ./make_iso.sh
После этого поползут диагностические строчки, и пойдёт процесс компоновки диска:
Target ISO file name [ Hit enter for /tmp/virensLinux.iso ]:
genisoimage 1.1.2 (Linux)
Scanning ../.
Scanning .././virensLinux
Scanning .././virensLinux/rootcopy
Scanning .././virensLinux/tools
Scanning .././virensLinux/tools/WIN
Scanning .././virensLinux/modules
Scanning .././virensLinux/optional
Scanning .././virensLinux/base
Scanning .././boot
Scanning .././boot/dos
Scanning .././boot/isolinux
Scanning .././boot/syslinux
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: Eltorito Volume Descriptor Start Block 17
Size of boot image is 4 sectors -> No emulation
Done with: Eltorito Volume Descriptor Block(s) 1
Writing: Joliet Volume Descriptor Start Block 18
Done with: Joliet Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 19
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 20
Done with: Version block Block(s) 1
Writing: Path table Start Block 21
Done with: Path table Block(s) 4
Writing: Joliet path table Start Block 25
Done with: Joliet path table Block(s) 4
Writing: Directory tree Start Block 29
Done with: Directory tree Block(s) 12
Writing: Joliet directory tree Start Block 41
Done with: Joliet directory tree Block(s) 12
Writing: Directory tree cleanup Start Block 53
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 53
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 54
6.43% done, estimate finish Sat Aug 11 10:00:37 2007
12.85% done, estimate finish Sat Aug 11 10:00:37 2007
19.27% done, estimate finish Sat Aug 11 10:00:32 2007
25.70% done, estimate finish Sat Aug 11 10:00:41 2007
32.11% done, estimate finish Sat Aug 11 10:00:43 2007
38.54% done, estimate finish Sat Aug 11 10:00:45 2007
44.95% done, estimate finish Sat Aug 11 10:00:46 2007
51.39% done, estimate finish Sat Aug 11 10:00:47 2007
57.80% done, estimate finish Sat Aug 11 10:00:47 2007
64.23% done, estimate finish Sat Aug 11 10:00:48 2007
70.64% done, estimate finish Sat Aug 11 10:00:48 2007
77.07% done, estimate finish Sat Aug 11 10:00:47 2007
83.49% done, estimate finish Sat Aug 11 10:00:48 2007
89.92% done, estimate finish Sat Aug 11 10:00:48 2007
96.34% done, estimate finish Sat Aug 11 10:00:48 2007
Total translation table size: 2048
Total rockridge attributes bytes: 6393
Total directory bytes: 22528
Path table size(bytes): 168
Done with: The File(s) Block(s) 77653
Writing: Ending Padblock Start Block 77707
Done with: Ending Padblock Block(s) 150
Max brk space used 0
77857 extents written (152 MB)


Готово, будет создан (в моём случае) файл virensLinux.iso, который является загрузочным диском. Проверяю в QEMU:
qemu -cdrom virensLinux.iso
Работает! Вот, например, что в итоге получилось у меня:



Простой и строгий IceWM с одной из тем по умолчанию (Infadel2). Простенько, но со вкусом. Правда, при загрузке оно пишет Slax, но это уже другая история.
Теперь ISO-образ пропаливаем на болванку любимой программой прожига, и радуемся.


Ссылки
Собственно, это есть расширенное руководство к скриптам отсюда, на которых, в частности, создаётся Slax. Документация в комплекте к скриптам страдает отчаянным лаконизмом, и я решил это исправить.
Море ссылок на аналогичные ресурсы можно найти там, сям и тут. Так же опытом в живом дистростроительстве делится мой коллега здесь. Некоторые говорят, что нечто подобное (live-package) есть в Debian, но я пока не пробовал.
Мысли, трюки и собственные впечатления в комментариях приветствуются.
Читать далее

Репозитории Debian и другие ресурсы o Debian GNU/Linux



30 коммент.

Пост подвергался чистке и правке после публикации:
Автор заходил править этот пост 5 января 2013 года.

В этом посте перечислены репозитории для Debian и другие интересные ресурсы о Linux, которые могут быть интересны и поклонникам других дистрибутивов.

Репозитории пакетов для Debian GNU/Linux

Основные репозитории:

  • http://ftp.debian.org --- главный репозиторий Debian.
    • deb http://ftp.debian.org/debian/ squeeze main contrib non-free
  • www.backports.org --- пакеты для стабильных версий Debian из версий testing (в основном) и unstable, которые будут работать в вашем стабильном дистрибутиве.
    • deb http://backports.debian.org/debian-backports squeeze-backports main

Неофициальные и прочие репозитории:

  • http://dotdeb.org/ --- Бэкпорты свежих версии PHP/MySQL/Percona/Nginx для серверов на Linux.
    • deb http://packages.dotdeb.org squeeze all
  • http://www.apt-get.org/ --- a resource for Debian and Ubuntu users seeking unofficial packages and Apt repositories.
  • http://www.debian-multimedia.org/ --- пакеты для работы с видео (mplayer, mythtv, avidemux) а так же RealPlayer, Acrobat Reader, libdvdcss2, win32 кодеки .
    • deb http://www.deb-multimedia.org squeeze main non-free
  • http://debian.nsu.ru/sources/ много несвободных пакетов java, mplayer.
    • deb http://linux.nsu.ru/debian squeeze main contrib non-free
  • http://oss.oracle.com/debian/ - Пакеты Oracle Express Edition для Debian.
  • http://deb.opera.com/opera - Репозиторий для Браузера Opera под Debian.
    • deb http://deb.opera.com/opera/ squeeze non-free
  • http://www.os-works.com/debian - Репозиторий десктоп-окружения Xfce - the Xfce Desktop Environment.
    • deb http://www.os-works.com/debian testing main
  • http://www.debian-desktop.org/pub/linux/debian/ - Репозиторий проекта Debian-Desktop (xorg, kde, xfce, mplayer, lame)
  • http://frickelplatz.de --- Мультимедийный софт типа deadbeef, qmmp, gimp, shutter.
    • deb http://frickelplatz.de/debian sid main contrib non-free
  • http://notesalexp.org --- репозиторий с cuneiform (распознавание символов, аналог FineReader для Linux) и yagf (графическая оболочка для cuneiform).
    • deb http://notesalexp.org/debian/squeeze/ squeeze main
  • http://www.pvv.ntnu.no/~knuta/xmms/ --- Старый добрый XMMS, если кому надо.
    • deb http://www.pvv.ntnu.no/~knuta/xmms/squeeze ./
  • http://aptosid.com --- aptosid (бывший sidux) это самый свежий LiveCD, а так же репозиторий с последними версиями ядра и утилит.
    • deb http://aptosid.com/debian/ sid main fix.main
  • http://www.google.com/linuxrepositories/ --- Программы от Google такие как Google Chrome и Google Earth.
  • http://mozilla.debian.net/ --- Сборки браузера Firefox (Iceweasel) .
    • deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
  • http://www.liquorix.net/ --- Ядро Linux, заточенное под десктоп: Debian kernel built on top of the zen kernel sources. The configuration is optimized for a practical desktop experience and features not currently maintained in Linus's mainline kernel are included.
    • deb http://liquorix.net/debian sid main

Новости и анонсы, связанные с Debian GNU/Linux

На английском:

  • http://www.debian.org/ --- официальный сайт проекта Debian. Практически все страницы портала переведены на русский язык.
  • http://wiki.debian.org/ --- официальная страница энциклопедии Debian.
  • http://www.debian-news.net/ --- анонсы новостей Debian.

Справочные руководства и полезная информация о Debian GNU/Linux

Англозязычные:

  • http://www.debianadmin.com/ --- много документации и справочных материалов по настройке и обслуживанию сетей под управлением Линукс вообще и Дебиана в особенности.
  • http://www.debianhelp.org/ --- Сайт с морем документации и справочного материала.
  • http://www.aboutdebian.com/ --- справка и дополнительная информация по Дебиан.
  • http://www.debian-administration.org/ --- информация для системных администраторов, работающих с операционной системой Debian GNU/Linux.
  • http://wooledge.org/\~greg/sidfaq.html ---Debian Sid часто задаваемые вопросы.

Книги о Debian

  • Debian Administrators Handbook - перевод на английский замечательной книги по администрированию Debian.
  • http://qref.sourceforge.net/ --- прекрасный справочник по операционной системе Debian GNU/Linux, где можно найти ответы на большинство вопросов по администрированию, установке системы, базовым командам Bash и т.д.

Заключение

В основу была положена коллекция Homo Adminus и эта замечательная подборка по репозиториям Дебиан.
Если вы нашли битую ссылку, очепятку или ресурс о Дебиан, который я пропустил и не включил сюда - пишите в комментарии.
Читать далее