Может кому-то пригодится...
May. 31st, 2015 15:23![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В какой-то момент времени я начал изучать NIX системы. Давно это было и заняло значительный процент моего личного времени. Отвечу кратко - нравится.

Я написал, что изучал МИР и не обманул Вас ;) Это правда
Сейчас я работаю с двумя дистрибутивами - Gentoo и FreeBSD.
Что было вначале? FreeBSD.
Здесь я размещу лишь рекомендованный набор команд Gentoo:
# для того, чтобы безопасно использовать `emerge -k` нужно очистить
# каталог с текущими бинарными пакетами
# (напр., переместить его в /tmp/portage-packages)
pkgdir=$(portageq pkgdir)
mv $pkgdir /tmp/portage-packages1
install -d -o portage -g portage -m775 $pkgdir
# первая сборка toolchain. Здесь и далее нужно использовать
# параметр -1 (--oneshot), чтобы системные пакеты не записались в world
emerge -1 sys-kernel/linux-headers sys-libs/glibc sys-devel/binutils sys-devel/gcc-config sys-devel/gcc sys-devel/binutils-config sys-devel/libtool
# выбрать новый gcc и|или binutils если он установился в новый слот
gcc-config имя_или_номер_нового_gcc (аналогично с binutils-config)
# см. `gcc-config -l` и `binutils-config -l`
source /etc/profile
# компиляция toolchain с созданием бинарных пакетов
emerge -1b sys-libs/glibc sys-devel/binutils sys-devel/gcc sys-apps/portage
# не компилить glibc, binutils и gcc
emerge -1bke system
# не компилить предыдущие пакеты (включая system)
emerge -bke world

*О работе не сильно нравится писать...

Я написал, что изучал МИР и не обманул Вас ;) Это правда
Сейчас я работаю с двумя дистрибутивами - Gentoo и FreeBSD.
Что было вначале? FreeBSD.
Здесь я размещу лишь рекомендованный набор команд Gentoo:
# для того, чтобы безопасно использовать `emerge -k` нужно очистить
# каталог с текущими бинарными пакетами
# (напр., переместить его в /tmp/portage-packages)
pkgdir=$(portageq pkgdir)
mv $pkgdir /tmp/portage-packages1
install -d -o portage -g portage -m775 $pkgdir
# первая сборка toolchain. Здесь и далее нужно использовать
# параметр -1 (--oneshot), чтобы системные пакеты не записались в world
emerge -1 sys-kernel/linux-headers sys-libs/glibc sys-devel/binutils sys-devel/gcc-config sys-devel/gcc sys-devel/binutils-config sys-devel/libtool
# выбрать новый gcc и|или binutils если он установился в новый слот
gcc-config имя_или_номер_нового_gcc (аналогично с binutils-config)
# см. `gcc-config -l` и `binutils-config -l`
source /etc/profile
# компиляция toolchain с созданием бинарных пакетов
emerge -1b sys-libs/glibc sys-devel/binutils sys-devel/gcc sys-apps/portage
# не компилить glibc, binutils и gcc
emerge -1bke system
# не компилить предыдущие пакеты (включая system)
emerge -bke world

*О работе не сильно нравится писать...