Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Vladimir Zhbanov
On Thu, Jun 25, 2015 at 01:49:33PM +0300, Andrey Tataranovich wrote:
 On Thu, 25 Jun 2015 10:23:32 +0300
 Vladimir Zhbanov vzhba...@gmail.com wrote:
 
  Возникла у меня проблема: обновился до jessy и сломалась
  MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
  обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
  чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
  контейнер и попробовать собирать в нём. Зависеть от внешних хостеров
  не хотелось бы, обламывали уже в самый неподходящий момент.
  
  Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без
  чтения тонны документации?
 
 Попробуйте schroot. Прост в настройке и вполне достаточен для отката к
 wheezy.

Собственно вопрос тот же, что и для chroot: а с другим (более старым)
ядром там можно работать параллельно с ядром основной системы? Просто у
меня на работе всего одна машина, и я на ней ещё и работаю иногда :)


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625120608.GB8231@localhost.localdomain



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Mikhail A Antonov
25.06.2015 14:58, Vladimir Zhbanov пишет:
 On Thu, Jun 25, 2015 at 10:36:04AM +0300, Mikhail A Antonov wrote:
 25.06.2015 10:23, Vladimir Zhbanov пишет:
 Здравствуйте.

 Возникла у меня проблема: обновился до jessy и сломалась
 MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
 обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
 чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
 контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не
 хотелось бы, обламывали уже в самый неподходящий момент.

 Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без
 чтения тонны документации?
 Зависит от того что делает программа.
 Может тебе хватит debootstrap и chroot.
 Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема
 в том, что guile создаёт объектный код в своём собственном формате, и
 эти объектные файлы потом используются как есть для кросс-компиляции.
 Она содержит свой собственный компилятор, который должен выводить
 одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня
 поломалась после обновления. И я пока подозреваю, что проблема в
 библиотеках mingw, но вполне допускаю, что где-то глубже, может быть
 даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под
 Windows guile необходимо сначала скомпилировать с абсолютно той же
 версией в Linux, чтоб она выдавала правильный объектный код. Вот такая,
 блин, зависимость. Создавать себе окружение и отлаживать всё это в
 Windows мне не улыбается. Я от неё устал ещё лет 15 как тому. Я это всё,
 собственно, к чему: если я правильно ничего не понимаю, chroot
 использует именно то ядро, которое уже загружено, а мне может
 понадобиться другое.
Тогда удобнее всего будет виртуалбокс с гуём. Можно повозиться с всякими libvirt
и их virt-manager, но мне они не понравились.
Тебе нужна полноценная виртуальная машина. Всё контейнерное использует одно
ядро и на систему и все контейнеры.

-- 
Best regards,
Mikhail
-
WWW: http://www.antmix.ru/
XMPP: ant...@stopicq.ru



signature.asc
Description: OpenPGP digital signature


Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Andrey Tataranovich
On Thu, 25 Jun 2015 10:23:32 +0300
Vladimir Zhbanov vzhba...@gmail.com wrote:

 Возникла у меня проблема: обновился до jessy и сломалась
 MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
 обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
 чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
 контейнер и попробовать собирать в нём. Зависеть от внешних хостеров
 не хотелось бы, обламывали уже в самый неподходящий момент.
 
 Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без
 чтения тонны документации?

Попробуйте schroot. Прост в настройке и вполне достаточен для отката к
wheezy.

-- 
WBR, Andrey Tataranovich


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625134933.1b11ccac@dragoncore.local



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Vladimir Zhbanov
On Thu, Jun 25, 2015 at 10:36:04AM +0300, Mikhail A Antonov wrote:
 25.06.2015 10:23, Vladimir Zhbanov пишет:
  Здравствуйте.
 
  Возникла у меня проблема: обновился до jessy и сломалась
  MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
  обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
  чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
  контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не
  хотелось бы, обламывали уже в самый неподходящий момент.
 
  Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без
  чтения тонны документации?
 Зависит от того что делает программа.
 Может тебе хватит debootstrap и chroot.

Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема
в том, что guile создаёт объектный код в своём собственном формате, и
эти объектные файлы потом используются как есть для кросс-компиляции.
Она содержит свой собственный компилятор, который должен выводить
одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня
поломалась после обновления. И я пока подозреваю, что проблема в
библиотеках mingw, но вполне допускаю, что где-то глубже, может быть
даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под
Windows guile необходимо сначала скомпилировать с абсолютно той же
версией в Linux, чтоб она выдавала правильный объектный код. Вот такая,
блин, зависимость. Создавать себе окружение и отлаживать всё это в
Windows мне не улыбается. Я от неё устал ещё лет 15 как тому. Я это всё,
собственно, к чему: если я правильно ничего не понимаю, chroot
использует именно то ядро, которое уже загружено, а мне может
понадобиться другое.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625115832.GA8231@localhost.localdomain



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Vladimir Zhbanov
On Thu, Jun 25, 2015 at 03:18:57PM +0300, Eugene Berdnikov wrote:
 On Thu, Jun 25, 2015 at 02:58:32PM +0300, Vladimir Zhbanov wrote:
  Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема
  в том, что guile создаёт объектный код в своём собственном формате, и
  эти объектные файлы потом используются как есть для кросс-компиляции.
  Она содержит свой собственный компилятор, который должен выводить
  одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня
  поломалась после обновления. И я пока подозреваю, что проблема в
  библиотеках mingw, но вполне допускаю, что где-то глубже, может быть
  даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под
 
  В библиотеках -- да, могут быть критичные изменения, а вот вероятность
  того, что на результат как-то влияет ядро (кроме зависимостей) близка
  к абсолютному нулю. Так что запуск полноценной ВМ вряд ли оправдан.
  IMHO, здесь должно хватить простого chroot'а.

Вот-вот, их-то, зависимости, я и имел в виду, когда говорил о ядре.
Поскольку у меня система почти всегда stable/testing с чуть-чуть или
сразу много testing.  И я сразу прыгнул с ядра 3.2.x на 4.0.x.
Соответственно, думаю, оно что-то могло потянуть за собой.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625123421.GD8231@localhost.localdomain



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Andrey Tataranovich
On Thu, 25 Jun 2015 15:06:08 +0300
Vladimir Zhbanov vzhba...@gmail.com wrote:

 Собственно вопрос тот же, что и для chroot: а с другим (более старым)
 ядром там можно работать параллельно с ядром основной системы? Просто
 у меня на работе всего одна машина, и я на ней ещё и работаю иногда :)

Вам не нужно старое ядро в chroot. Поднимите в schroot окружение wheezy
и оно будет нормально работать с ядром из jessie. У меня как раз так и
работало.

-- 
WBR, Andrey Tataranovich


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625165132.40432871@dragoncore.local



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Eugene Berdnikov
On Thu, Jun 25, 2015 at 02:58:32PM +0300, Vladimir Zhbanov wrote:
 Программа - geda-gaf, но пока guile, которая туда встраивается. Проблема
 в том, что guile создаёт объектный код в своём собственном формате, и
 эти объектные файлы потом используются как есть для кросс-компиляции.
 Она содержит свой собственный компилятор, который должен выводить
 одинаковый код и в Linux, и в Windows, и вот эта одинаковость у меня
 поломалась после обновления. И я пока подозреваю, что проблема в
 библиотеках mingw, но вполне допускаю, что где-то глубже, может быть
 даже в ядре, libc, libffi и т. д., так как для кросс-компиляции под

 В библиотеках -- да, могут быть критичные изменения, а вот вероятность
 того, что на результат как-то влияет ядро (кроме зависимостей) близка
 к абсолютному нулю. Так что запуск полноценной ВМ вряд ли оправдан.
 IMHO, здесь должно хватить простого chroot'а.
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625121857.gp15...@protva.ru



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Руслан Коротаев
В сообщении от [Чт 2015-06-25 15:16 +0300]
Vladimir Zhbanov vzhba...@gmail.com пишет:
 Ubuntu ставить мне некуда на работе. Я так понимаю, в Debian это docker.io? 
 Если да, то вот что пишет 'apt-cache show docker.io':
 ...
 Using docker.io on non-amd64 hosts is not supported at this time. Please
 be careful when using it on anything besides amd64.
 ...
 
 Это правда? А то у меня всего одна i686.

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

Для jessie
systemd-nspawn -bD ~/debian-tree/

Для wheezy (там ещё не было systemd по умолчанию).
systemd-nspawn -D ~/debian-tree/ /sbin/init

То есть вы можете загрузить внутри контейнера полноценную ОС, а не одну
единственную оболочку как в chroot [1].

[1] http://lexpr.ru/node/504

-- 
http://google.com/+РусланКоротаев


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625134311.GA1920@debian



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Vladimir Zhbanov
On Thu, Jun 25, 2015 at 02:49:11PM +0500, Руслан Коротаев wrote:
 В сообщении от [Чт 2015-06-25 10:23 +0300]
 Vladimir Zhbanov vzhba...@gmail.com пишет:
  Возникла у меня проблема: обновился до jessy и сломалась
  MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
  обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
  чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
  контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не
  хотелось бы, обламывали уже в самый неподходящий момент.
  
  Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без
  чтения тонны документации?
 
 Вам подойдет docker, если не хотите возится с настройкой, то попробуйте
 Ubuntu Snappy, там всё заточено под docker. 

Ubuntu ставить мне некуда на работе. Я так понимаю, в Debian это docker.io? 
Если да, то вот что пишет 'apt-cache show docker.io':
...
Using docker.io on non-amd64 hosts is not supported at this time. Please
be careful when using it on anything besides amd64.
...

Это правда? А то у меня всего одна i686.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625121650.GC8231@localhost.localdomain



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Mikhail A Antonov
25.06.2015 16:43, Руслан Коротаев пишет:
 В сообщении от [Чт 2015-06-25 15:16 +0300]
 Vladimir Zhbanov vzhba...@gmail.com пишет:
 Ubuntu ставить мне некуда на работе. Я так понимаю, в Debian это docker.io? 
 Если да, то вот что пишет 'apt-cache show docker.io':
 ...
 Using docker.io on non-amd64 hosts is not supported at this time. Please
 be careful when using it on anything besides amd64.
 ...

 Это правда? А то у меня всего одна i686.
 Видимо да, только 64-bit, но по вашим ответам я понял, что вам нужно ещё
 и ядро, тогда докер вам не подходит, потому что он контейнер для
 приложений, а вам нужен контейнер для операционной системы. В этом
 случае используйте debootstrap и не забудьте установить нужное ядро
Не важно установишь ли ты ядро или нет. Ядро будет использоваться то, которое
использует корневая ОС.
В случае если само по себе ядро не нужно, а нужны только библиотеки - обычного
chroot хватит.
Все остальные контейнеры - это продвинутые версии chroot.

На один-два раза я бы сделал chroot и ничего бы не читал.
Чаще/больше - настроил бы schroot на нужные мне операции.
А докер это вообще надстройка над lxc.
А сам по себе lxc без проблем заводится на i686.

-- 
Best regards,
Mikhail
-
WWW: http://www.antmix.ru/
XMPP: ant...@stopicq.ru



signature.asc
Description: OpenPGP digital signature


Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Руслан Коротаев
В сообщении от [Чт 2015-06-25 17:01 +0300]
Mikhail A Antonov mikh...@antfam.ru пишет:
 Не важно установишь ли ты ядро или нет. Ядро будет использоваться то,
 которое использует корневая ОС.

Да, вы правы, нужно было написать не ядро, а архитектуру. Но в нашем
примере, если я правильно понял, нужно воссоздать окружение для сборки
или компиляции на основе debian wheezy 32-bit, на хосте с jessie 32-bit.
Можно использовать chroot, можно virtualbox, а можно в контейнере, тем
более systemd-nspawn идет «из коробки». Кому как удобнее.

-- 
http://google.com/+РусланКоротаев


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625160833.GA3486@debian



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Mikhail A Antonov
25.06.2015 19:08, Руслан Коротаев пишет:
 В сообщении от [Чт 2015-06-25 17:01 +0300]
 Mikhail A Antonov mikh...@antfam.ru пишет:
 Не важно установишь ли ты ядро или нет. Ядро будет использоваться то,
 которое использует корневая ОС.
 Да, вы правы, нужно было написать не ядро, а архитектуру. Но в нашем
 примере, если я правильно понял, нужно воссоздать окружение для сборки
 или компиляции на основе debian wheezy 32-bit, на хосте с jessie 32-bit.
 Можно использовать chroot, можно virtualbox, а можно в контейнере, тем
 более systemd-nspawn идет «из коробки». Кому как удобнее.
Да, всё верно.
Я сторонник отсутствия systemd на своих машинах и из коробки его лучше
выкинуть. Но это кому как удобнее.

-- 
Best regards,
Mikhail
-
WWW: http://www.antmix.ru/
XMPP: ant...@stopicq.ru



signature.asc
Description: OpenPGP digital signature


Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Vladimir Zhbanov

Здравствуйте.

Возникла у меня проблема: обновился до jessy и сломалась
MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не
хотелось бы, обламывали уже в самый неподходящий момент.

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


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625072332.GA12061@localhost.localdomain



Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Mikhail A Antonov
25.06.2015 10:23, Vladimir Zhbanov пишет:
 Здравствуйте.

 Возникла у меня проблема: обновился до jessy и сломалась
 MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
 обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
 чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
 контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не
 хотелось бы, обламывали уже в самый неподходящий момент.

 Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без
 чтения тонны документации?
Зависит от того что делает программа.
Может тебе хватит debootstrap и chroot.

-- 
Best regards,
Mikhail
-
WWW: http://www.antmix.ru/
XMPP: ant...@stopicq.ru



signature.asc
Description: OpenPGP digital signature


Re: Контейнеры и кросс-компиляция

2015-06-25 Пенетрантность Руслан Коротаев
В сообщении от [Чт 2015-06-25 10:23 +0300]
Vladimir Zhbanov vzhba...@gmail.com пишет:
 Возникла у меня проблема: обновился до jessy и сломалась
 MinGW'шная кросс-компиляция одной нужной мне программы. Откатываться
 обратно на wheezy на рабочей машине не хочу, разобраться с налёту, что
 чего поломало, не получилось. Вот решил попробовать засунуть wheezy в
 контейнер и попробовать собирать в нём. Зависеть от внешних хостеров не
 хотелось бы, обламывали уже в самый неподходящий момент.
 
 Отсюда вопрос: подскажите, пожалуйста, что проще всего развернуть без
 чтения тонны документации?

Вам подойдет docker, если не хотите возится с настройкой, то попробуйте
Ubuntu Snappy, там всё заточено под docker. 

Запустите Snappy локально в KVM или в облаке [1]:
$ kvm -m 512 -redir :8090::80 -redir :8022::22 
ubuntu-15.04-snappy-amd64-generic.img
$ ssh -p 8022 ubuntu@localhost

Установите docker [2]:
$ sudo snappy install docker 

Запустите контейнер с wheezy:
$ docker run -t -i debian:wheezy /bin/bash

Тоже самое можно сделать через debootstrap и systemd-nspawn (в мане есть
пример), но у докера есть свой репозиторий с образами (Docker Hub), там
вы можете найти специальный образ под вашу задачу или решить задачу
самому, а потом создать образ и поделится с другими. Это не так сложно,
достаточно прочитать несколько первых страниц руководства [3], оно того
стоит.

[1] https://developer.ubuntu.com/en/snappy/start/
[2] https://developer.ubuntu.com/en/snappy/tutorials/using-snappy/
[3] https://docs.docker.com/userguide/

-- 
http://google.com/+РусланКоротаев


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150625094911.GA2022@debian