source tarball что это

Source tarball что это

Из готового тарбола (если он учитывает все нужные патчи) можно получить исполняемые программы с помощью следующих команд:

1 разархивировать тарбол:

Создаем папку, куда будем разархивировать тарбол,

Копируем туда тарбол

Непосредственно разархивируем в папку:

— разархивация архивов типа tar.gz и tgz

— разархивация архивов типа tar.bz и tbz

Переходим в папку с разархивированным тарболом

2 конфигурим пакет

3 Создаем пакет:

4 Устанавливаем пакет

7.2 Установка программ из сорца (.src.rpm)

В дистрибутивах Red Hat, Mandrake, Suse, AltLinux, ASP Linux и некоторых других, программы (состоящие, как правило, из нескольких файлов) распространяются объединенными в пакеты формата RPM (RedHat Packet Manager). С помощью программы rpm можно легко устанавливать, модифицировать, удалять и создавать пакеты программного обеспечения, а также получать о них разнообразную информацию. Все эти дистрибутивы (кроме программы начальной установки) состоят из таких пакетов. Каждый пакет определяется именем программы, номером ее версии и номером версии релиза этой программы дистрибутива, а также архитектурой пакета. Например, bash-2.0.5-alt2.i586.rpm: в этом пакете

Далее приводятся возможные параметры.

Установка пакета.

Обновление пакета.

Удаление пакета.

то есть, например, для пакета klyx:

Если в процессе удаления пакета произойдет нарушение зависимостей, программа rpm сообщит об этом.

Информация о пакете.

Если надо установить два или более пакетов, зависящих друг от друга, то установите их одновременно:

Источник

Краткое руководство по LXC в ОС Эльбрус

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

Традиционно эту задачу решают средствами виртуализации, но, к сожалению, наши процессоры еще не поддерживают её. Альтернативным решением является контейнеризация. Изучив доступные варианты, которые можно реализовать на ОС Эльбрус, мы остановились на LXC как стабильном решении. В данной статье я хочу рассказать как пользоваться LXC в ОС Эльбрус.

Что мы еще рассматривали

Исходные данные

Итак, для начала у нас имеется:

сервер на базе процессоров Эльбрус-8С;

на сервер установлена ОС Эльбрус версии 6.0.1

в качестве rootfs бэкенда в LXC мы будем использовать каталог (опция lxc.rootfs.backend = dir ), это даст нам дополнительные возможности, о которых я расскажу ниже.

Подготовка и настройка сервера

Устанавливаем пакеты lxc и lxcfs командой:

Настраиваем сеть для контейнеров, для этого создаем файл /etc/default/lxc-net следующего содержания:

Для применения сетевых настроек ко вновь создаваемым контейнерам вносим изменения в файл /etc/lxc/default.conf :

Для создания сетевого моста нужно запустить службу lxc-net :

Ну и включаем необходимые службы для автоматического запуска при старте операционной системы:

Создание первого контейнера

Следует заметить, что монтировать нужно строго в /mnt/cdrom так как этот путь зашит в скрипте шаблона.

Создаем контейнер командой:

Ждем окончания развертывания, запускаем контейнер и подключаемся к нему:

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

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

Шаблон для создания контейнера из тарбола

За основу нового шаблона был взят аналогичный шаблон из SaltStack с небольшими доработками под специфику ОС Эльбрус.

Мы не планируем настраивать сеть из шаблона, для этого убираем строки, отвечающие за настройки настройки сети:

Создаем шаблонный образ rootfs

Прежде всего создаем контейнер по первой части нашей инструкции и проводим настройку контейнера.

Исправление ошибок при выполнении команды chkconfig

Данные действия можно произвести без запуска контейнера, напрямую отредактировав файлы. По умолчанию LXC создает новые контейнеры в /var/lib/lxc/ (далее пути будут указаны относительно этого пути).

Нам нужно отредактировать файл rootfs/etc/init.d/sysklogd вписав после строки

Удаляем файл rootfs/etc/rcsysinit.d/S05mknod и создаем файл rootfs/etc/init.d/mknod со следующим содержимым:

Настройка сети

Создаем служебного пользователя

Не лишним будем установить новый пароль пользователю root :

Автозапуск служб

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

Упаковка rootfs в тарбол

Получившийся архив перемещаем в удобное для хранения место.

Как пользоваться?

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

Доступ в контейнеры по SSH

Подключаться к контейнеру через lxc-attach конечно хорошо, но не очень удобно, тем более некоторые IDE позволяют производить компиляцию на удаленном хосте через SSH, что было бы очень удобно при портировании и разработке под Эльбрус.

Читайте также:  какие университеты есть в махачкале

Мною опробованы два способа. Первый способ, работает при использовании моста на сетевой интерфейс, в этом случае хостовую систему можно использовать как jump host и настроить ssh клиента для работы через него. Для этого нужно внести в файл

/.ssh/config следующие строки:

После этих настроек все соединения на хосты с адресами 192.168.103.1/24 (сеть которую мы настраивали ранее в файле /etc/default/lxc-net ) будут осуществляться через хостовую систему.

Если ваш контейнер был запущен, то перезапускаем его. Подключаемся к нему и настраиваем сетевой интерфейс. Пример файла ipv4 для статического адреса выглядит так:

Вместо заключения

В статье не затронуто много аспектов работы с LXC, я постарался сделать больше упор на специфику ОС Эльбрус. Как вы уже поняли, работа с LXC на Эльбрусе не отличается от таковой в других дистрибутивах Linux и на других архитектурах процессоров.

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

запустить альтернативные операционные системы в контейнерах (под Эльбрус есть как минимум еще Альт и Astra Linux)

создать контейнеры с GUI для случаев когда требуется посмотреть как это будет работать у пользователя

ну и мы уже начали работу по автоматизации, там тоже поле не паханое и очень интересное.

Источник

Часть IV Рекомендации связанные с программным обеспечением

В этой части
Функциональные возможности компилятора
Глава 10 Программы обеспечения безопасности (Утилиты контроля)
Программы обеспечения безопасности (Сетевые сервисы)
Программы обеспечения безопасности (Целостность системы)
Программы обеспечения безопасности (Управление и ограничения)
Серверное программное обеспечение (BIND/Сервис DNS)
Серверное программное обеспечение (Почтовый сервис)
Серверное программное обеспечение (Сетевой сервис шифрования)
Серверное программное обеспечение (Сервис баз данных)
Серверное программное обеспечение (Прокси сервис)
Серверное программное обеспечение (Веб сервис)
Опциональные компоненты устанавливаемые с веб-сервером Apache
Серверное программное обеспечение (Файловый сервис)

Глава 9 Функциональные возможности компилятора

Общий обзор.

Необходимые пакеты.

Следующие пакеты нужны, чтобы осуществлять компиляцию на вашей системе после создания нового ядра. Эти пакеты находятся на Red Hat Linux 6.1 или 6.2 Part 1 CD-ROM в каталоге RedHat/RPMS:

Red Hat 6.1 Red Hat 6.2
autoconf-2.13-5.noarch.rpm
m4-1.4-12.i386.rpm
automake-1.4-5.noarch.rpm
dev86-0.14.9-1.i386.rpm
bison-1.28-1.i386.rpm
byacc-1.9-11.i386.rpm
cdecl-2.5-9.i386.rpm
cpp-1.1.2-24.i386.rpm
cproto-4.6-2.i386.rpm
ctags-3.2-1.i386.rpm
egcs-1.1.2-24.i386.rpm
ElectricFence-2.1-1.i386.rpm
flex-2.5.4a-7.i386.rpm
gdb-4.18-4.i386.rpm
kernel-headers-2.2.12-20.i386.rpm
glibc-devel-2.1.2-11.i386.rpm
make-3.77-6.i386.rpm
patch-2.5-9.i386.rpm
autoconf-2.13-5.noarch.rpm
m4-1.4-12.i386.rpm
automake-1.4-6.noarch.rpm
dev86-0.15.0-2.i386.rpm
bison-1.28-2.i386.rpm
byacc-1.9-12.i386.rpm
cdecl-2.5-10.i386.rpm
cpp-1.1.2-30.i386.rpm
cproto-4.6-3.i386.rpm
ctags-3.4-1.i386.rpm
egcs-1.1.2-30.i386.rpm
ElectricFence-2.1-3.i386.rpm
flex-2.5.4a-9.i386.rpm
gdb-4.18-11.i386.rpm
kernel-headers-2.2.14-5.0.i386.rpm
glibc-devel-2.1.3-15.i386.rpm
make-3.78.1-4.i386.rpm
patch-2.5-10.i386.rpm

ЗАМЕЧАНИЕ. Лучше все программы описанные выше инсталлировать одновременно, чтобы избежать сообщений об ошибках зависимостей от RPM. Если вы следовали по всем шагам, описанным в главе 2 «Инсталляция вашего Linux сервера», то все эти пакеты уже проинсталлированы в вашей системе и вам нет необходимости заново их переинсталлировать.

RPM команда для инсталляции пакета:

RPM команда для проверки, инсталлирован ли пакет или нет:

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

Для перемещения rpm на дискету:

[root@deep /]# mount /dev/fd0 /mnt/floppy/
[root@deep /]# mv /bin/rpm /mnt/floppy
[root@deep /]# umount /mnt/floppy/

Для возврата rpm в оригинальный каталог:

[root@deep /]# mount /dev/fd0 /mnt/floppy/
[root@deep /]# cp /mnt/floppy/rpm /bin/
[root@deep /]# umount /mnt/floppy/

ЗАМЕЧАНИЕ. Никогда не деинсталлируйте пакет RPM полностью с вашего сервера, иначе вы не сможете проинсталлировать его по новой, потому что для инсталляции любого rpm пакета требуется наличие программы rpm.

Почему мы выбираем использование тарболов?

Все дистрибьюции Red Hat поставляются в RPM файлах, которые известны также как «пакеты». Этот способ поставки программ характеризуется упрощением процесса их инсталляции, обновления и удаления. Однако, в мире UNIX, стандартом де-факто для пакетов программ является тарбол. Тарбол это просто сжатые файлы, которые могут быть прочитаны и раскрыты при помощи утилиты tar. Инсталляция программ из тарбола более тяжелый процесс, чем из rpm. Так почему мы будем использовать тарболы?

Компиляция программного обеспечения на вашей системе

Для начинающих имеется много аспектов и новых терминов, относящихся к компиляции, которые вы должны знать. Ниже описаны некоторые из них:

Multiple Files
Программы, состоящие из одного файла встречаются редко. Обычно в него входит несколько файлов (скажем, *.c, *.cpp и т.д.), каждый из которых компилируется в объектные коды, а затем они компонуются в исполняемый файл. Компилятор обычно используется для компоновки и вызывает в заключение программу ld.

Читайте также:  амброгексал или амброксол что лучше

Makefiles
Makefiles предназначен, чтобы помочь вам при формировании программы, проходить один и тот же путь. Она также сокращает время работы над программой. Программа «make» использует зависимости, описанные в Makefiles, чтобы решить, какие части программы надо перекомпилировать. Если вы измените один файл из пятидесяти, вам потребуется выполнить одну компиляцию и одну компоновку, вместо выполнения полного процесса сначала.

Библиотеки (Libraries).
Программы могут компоноваться не только в объектные файлы, но в библиотеки, которые содержат наборы таких файлов. Существует две формы компоновки библиотек: статическая, когда коды встраиваются в исполняемые файлы, и динамическая, когда коды собираются в момент запуска программы.

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

Ошибки при компиляции и компоновке.
Ошибки при компиляции и компоновке часто возникают из-за недосмотра и неправильного использования языка. Проверьте, что для функций, которые вы вызываете используются правильные заголовочные файлы. Неупомянутые символы (Unreferenced symbols) являются признаком незавершенности шага компоновки. Также проверьте, все ли необходимые библиотеки (GLIBC) и утилиты (GCC, DEV86, AUTOMAKE и т.д.) установлены на вашей системе.

Создание и инсталляция программ на вашей системе

С 10 по 20 главы вы увидите, что мы используем много разных команд компиляции для создания и инсталляции программ на сервере. Эти команды совместимы с UNIX и используются на всех вариантах *nix систем для компиляции и инсталляции программного обеспечения.

Ниже приводятся шаги необходимые для компиляции и инсталляции программного обеспечения из тарбола.

1. Вы должны скачать тарбол с сервера, которому доверяете. Обычно, это основной сервер программы

2. После того как тарбол скачен, перейдите в каталог /vat/tmp (заметим, что другой путь также возможен, это решать вам) и раскройте архив (как root), обычно, следующей командой:

[root@deep /]# tar xzpf foo.tar.gz

Вышеприведенная команда извлечет все файлы из архива foo.tar.gz и поместит их в новый каталог с именем этой программы, который создаст автоматически в месте, где вы сейчас расположены.

Опция «x» говорит tar извлечь все файлы из архива.
Опция «z» говорит, что tar архив был сжат при помощи gzip.
Опция «p» сохраняет оригинал и права доступа к файлам в том виде, каком они существовали при создании архива.
Опция «f» говорит tar, что следующий аргумент это имя файла.

После того как тарбол был раскрыт, вы почти наверняка сможете найти в каталоге файлы README или INSTALL с инструкциями, как приготовить программное обеспечение к использованию. Скорее всего, вам надо будет ввести следующие команды:

./configure
make
make install

Другие специальные команды, которые вы встретите в этой книге:

make depend
strip
chown

«make depand» будет создавать необходимые зависимости для различных файлов. «strip» будет удалять все символы из объектных файлов. В результате все исполняемые файлы будут меньшего размера. Это улучшит производительность программы, так как системе будет необходимо читать меньше строк при исполнении данного двоичного файла. «chown» будет устанавливать правильных владельцев файлов и разрешения для групп.

Редактирование файлов с vi

Текстовый редактор vi может быть использован для редактирования любых текстовых файлов. В процессе инсталляции программ, пользователь должен часто редактировать текстовые файлы, подобные Makefiles, или конфигурационные файлы. Ниже представлено несколько наиболее важных ключевых строк, необходимых для работы с vi:

Некоторые последние комментарии

Перед переходом к чтению следующей части книги мне бы хотелось отметить, что в тексте подразумевается расположение некоторых файлов в определенных каталогах. Для соглашения, мы принимаем, что они расположены там, где это определено в дистрибутиве Red Hat. Если вы используете другой дистрибутив Linux или эти файлы расположены у вас в других местах, то будьте очень внимательны при копировании примеров из текста книги.

Источник

А ссылки на source tarball у нас достаточными пруфлинками релиза теперь не являются?

мне просто интересно, а стоит ли вообще переводить changelog из тарболлов и писать свои новости, или можно через несколько дней «написать» не первой свежести копипасту?

>можно через несколько дней «написать» не первой свежести копипасту?

Так вроде многие делают.

Если за такие новости давали бы больше скора чем за обычную копипасту. тогда это бы было оправдано.

Читайте также:  какие средства передвижения требуют электрической подзарядки

мдеее…капец. Что такое релиз — это разве не появление тарболла?

1) мы подтверждаем новости тогда, когда об этом написано на оффсайте или в официальной рассылке, а не сразу после появления тарбола, тега в репозитории и тд

2) ссылку на исходники я убрал потому, что она мне кажется там лишней

> мдеее…капец. Что такое релиз — это разве не появление тарболла?

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

значит на будущее, release notes из тарболлов можно не брать и не переводить?

спасибо, больше я свое время тратить не стану, подтверждайте копипасты с опеннета

а я думал, ты меня в игнор загнал 😀

релиз это когда об этом объявляют разработчики.

то есть пока их вебмастер не вышел из запоя, мы без релиза?

А тарболл могут еще и заменить, если какой то баг внезапно найдут

а были ли в истории такие случаи, которые были зафиксированы, что тарболлы подменялись?

Да ладно тебе. Не обижайся.
Один раз Моно удалил мой опрос «почему вы используете линукс на десктопе». Там были разные интересные варианты.
Он просто приравнял его к «каким дистрибутивом вы пользуетесь» Так и написал в причине. С тех пор я и не пишу опросы.

чейнжлог в любом случае не менялся

если можно, у кого такое было (дабы знать, что лучше не обновлять сразу 🙂 )

Лор станет еще более шаблонным.
Шаблонные новости-копипасты.
Шаблонные плоские опросы
(в одном стиле: Какой/каким *** вы пользуетесь? )

вот зачем ты опять в бутылку лезешь. Твоя новость написано хорошо и никуда не делась, ее подтвердят тогда когда будет официальный анонс. Я одного вот понять не могу, что тебе в этот раз не понравилось?

а он разве уже не такой?

это не мое личное решение, мы еще давно договорились стараться не подтверждать раньше анонса

KDEшники традиционно поздно делают анонсы релизов, обычно добирается даже до Дебиан Сид и прочих, не особенно шустрых дистров, а потом в комментариях к новости арчеводы всякие плюются, что уже неделю как обновились

круто, машина времени ЛОРа ушла в прошлое

не сбрасывай Шамана со счетов, он все так же внезапен 🙂

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

И в данном случае он прав. ИМХО. У разработчиков, тем более у кедерастов 😉 действительно имеется тьма своих заморочек с анонсированием релиза. И случаи замены тарболла можно по пальцам пересчитать. Тем более, что сюда попадают и замены, произошедшие после официального анонса. Как у OpenOffice от инфры не помню какой версии, когда в выложенных пакетах обнаружились множественные проблемы.

это не моя логика, а общее решение. Подтвержу завтра утром наверное или ближе к обеду

если она там действительно настолько нужна, то я ее верну. Но я правда не вижу смысла давать прямую ссылку на тарбол в данном случае. Может ты объяснишь зачем она там?

Может ты объяснишь зачем она там?

1. Чтоб использовать по назначению: выкачать, почитать, попробовать поставить.
2. Это же пруф новости.

Теперь у деда Бердяя появилась коллега в деле написания кривых новостей и флейма по поводу их преждевременности бабка Сильвия.

походу, они сами не знают, чего хотят

> 1. Чтоб использовать по назначению: выкачать, почитать, попробовать поставить.

ясно, для пользователей лфс короче 🙂 Вернул ссылку обратно

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

покажи мне новостной сайт, где уже висит новость о выходе сабжа

ибо анонс могут написать наркоманы

ссылку удалили
комментарии закрыли
ладно бы висела себе в неподтверженных? зачем надо было удалять ссылку и закрывать для комментариев?

ССЗБ.
Больше ничего на этот сайт не пишу.

> 1) мы подтверждаем новости тогда, когда об этом написано на оффсайте или в официальной рассылке, а не сразу после появления тарбола, тега в репозитории и тд

2) ссылку на исходники я убрал потому, что она мне кажется там лишней

Без нее будут вопросы «а где ж дистр»? Если ни в рассылке, ни на сайте новости нет, ссыль на исходник более чем логична.

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

Источник

Информ портал о технике и не только