The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликован пакетный менеджер GNU Guix 0.13 и дистрибутив GuixSD на его основе

22.05.2017 21:54

Проект GNU представил выпуск пакетного менеджера GNU Guix 0.13 и построенного на его основе дистрибутива GNU/Linux - GuixSD (Guix System Distribution). Допускается установка как в качестве обособленной ОС в системах виртуализации и на обычном оборудовании, так и запуск в уже установленных типовых окружениях GNU/Linux. Для загрузки сформированы образы для установки на USB Flash и использования в QEMU (156 Мб). Поддерживается работа на архитектурах i686, x86_64, armv7, aarch64 и mips64el.

Пакетный менеджер GNU Guix основан на наработках проекта Nix и кроме типичных функций управления пакетами поддерживает такие возможности, как выполнение транзакционных обновлений, возможность отката обновлений, работа без получения привилегий суперпользователя, поддержка привязанных к отдельным пользователям профилей, возможность одновременной установки нескольких версий одной программы, средства уборки мусора (выявление и удаление неиспользуемых версий пакетов). Для определения сценариев сборки приложений и правил формирования пакетов предлагается использовать специализированный высокоуровневый предметно-ориентированный язык и компоненты Guile Scheme API, позволяющие выполнять все операции по управлению пакетами на функциональном языке программирования Scheme.

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

Сборочное окружение для пакетов формируется в виде контейнера, содержащего все необходимые для работы приложений компоненты, что позволяет сформировать набор пакетов, способный работать без оглядки на состав базового системного окружения дистрибутива, в котором Guix используется в качестве надстройки. Между пакетами Guix возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Пакеты устанавливаются в отдельное дерево директорий или поддиректорию в каталоге пользователя, что позволяет обеспечить его параллельное сосуществование с другими пакетными менеджерами и обеспечить поддержку широкого спектра существующих дистрибутивов. Например, пакет устанавливается как /nix/store/f42d69df5d8a0b526064a4e54a7c6f02-firefox-53.0.0/, где "f42d69..." является уникальным идентификатором пакета, используемым для контроля зависимостей.

Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre 4.11, очищенным от несвободных элементов бинарных прошивок. Для сборки применяется GCC 7. В качестве системы инициализации используется сервисный менеджер GNU Shepherd (бывший dmd), развиваемый как альтернатива SysV-init с поддержкой зависимостей. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется и для определения параметров запуска сервисов. Базовые образ поддерживает работу в консольном режиме, но для установки подготовлено более 5400 готовых пакетов, среди которых и компоненты графического стека на базе X.Org, оконные менеджеры dwm и ratpoison, а также ряд программ на базе библиотеки GTK+.

Основные новшества:

  • Добавлена поддержка архитектуры aarch64 (ARM64), но бинарные установочные архивы пока не формируются из-за неготовности сборочной инфраструктуры;
  • Прекращено формирование установочных сборок mips64el. Поддержка самой архитектуры пока сохранена, но останется ли она в дальнейшем будет зависеть от наличия заинтересованных разработчиков;
  • В сборки GuixSD добавлена поддержка загрузки на системах с UEFI и возможность установки на разделы с Btrfs;
  • В GuixSD обеспечена возможность запуска системных сервисов (фоновых процессов) в изолированных контейнерах, что позволяет защитить систему от возможных уязвимостей в данных сервисах;
  • По сравнению с прошлым выпуском добавлено 840 новых пакетов, в том числе сформированы пакеты с 0 A.D, freeciv, freedoom, alpine, alsa-plugins, cargo, cdrtools, ceph, freerdp, freetalk, neovim, scrypt, stunnel, unrar, xinetd;
  • Обновлены версии программ в 1220 пакетах, в том числе glibc 2.25, Linux-libre 4.11 и GCC 7.
  • Добавлены новые системные сервисы для Redis, Exim и Open vSwitch, значительно улучшен интерфейс сервиса Nginx;
  • Реализована новая команда "guix pack", предназначенная для создания бинарных пакетов;
  • В Guix обеспечена поддержка работы с использованием новой версии GNU Guile 2.2;
  • В команду "guix publish" добавлена опция "--cache", обеспечивающая режим кэширования для ускорения доставки бинарных сборок большому числу пользователей;
  • Решена большая порция проблем с обеспечением повторяемых сборок пакетов.


  1. Главная ссылка к новости (http://www.gnu.org/software/gu...)
  2. OpenNews: Опубликован пакетный менеджер GNU Guix 0.12 и дистрибутив GuixSD на его основе
  3. OpenNews: Фонд СПО признал ProteanOS полностью свободным дистрибутивом
  4. OpenNews: Фонд СПО признал Guix полностью свободным дистрибутивом
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46581-guix
Ключевые слова: guix
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (48) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, prgchip (?), 22:05, 22/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "Для определения сценариев сборки приложений и правил формирования пакетов предлагается использовать специализированный высокоуровневый предметно-ориентированный язык и компоненты Guile Scheme API, позволяющие выполнять все операции по управлению пакетами на функциональном языке программирования Scheme."
    Я правильно понимаю что для оптимизации ПО под железо потребуется знание Scheme вместо USE флагов как например в Gentoo?
     
     
  • 2.2, Аноним (-), 23:02, 22/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    и то, и другое.
     

  • 1.3, Аноним (-), 23:20, 22/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я честно не пойму зачем оно когда есть apt, dpkg и dh-утилиты. Что может потребоватся такое чего сделать с вышеназванным набором утилит?
     
     
  • 2.4, Аноним (-), 23:20, 22/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    чего НЕ сделать*
     
     
  • 3.18, Andrey Mitrofanov (?), 08:36, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > чего НЕ сделать*

    Вот тут: https://nixos.org/~eelco/pubs/phd-thesis.pdf
    Про Guile, GNU, Столмана - сам.

     
     
  • 4.37, Аноним (-), 23:16, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Обзорно глянул - невероятно полезная ссылка. Очень интересну, буду читать. Спасибо!
     
  • 2.8, JL2001 (ok), 00:00, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Я честно не пойму зачем оно когда есть apt, dpkg и dh-утилиты.
    > Что может потребоватся такое чего сделать с вышеназванным набором утилит?

    несколько версий фокса, вайна сразу ? несколько версий иксов, месы и дров сразу ?

     
     
  • 3.39, Аноним (-), 23:18, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    С lxc не будет ли надежнее или может все это под kvm? В чем здесь преимущество Guix?
     
  • 2.9, Аноним (-), 00:52, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Гикс обеспечивает транзакционное детерминированное и воспроизводимое построение (и перестроение/обновление конфигурации) всей системы и отдельных изолированных окружений из высокоуровневых описаний на Схеме. Модные костыли вроде всяких Папетов и Докеров больше не будут нужны, все красиво, цельно и унифицировано.
     
     
  • 3.12, Дай два (?), 02:40, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –8 +/
    >> Например, пакет устанавливается как /nix/store/f42d69df5d8a0b526064a4e54a7c6f02-firefox-53.0.0/

    Красиво, говоришь? Типа наподобие C:\$SETUP$\f42d69...

     
  • 3.40, Аноним (-), 23:20, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > транзакционное детерминированное и воспроизводимое построение

    мне не все прозрачно в этих терминах, где можно почитать о терминах ?

    > Модные костыли вроде всяких Папетов и Докеров больше не будут нужны, все красиво, цельно и унифицировано.

    вот тут понятно вроде

     
     
  • 4.45, Andrey Mitrofanov (?), 10:52, 24/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> транзакционное детерминированное и воспроизводимое построение
    > мне не все прозрачно в этих терминах, где можно почитать о терминах
    > ?

    Слайды полистай. https://www.gnu.org/software/guix/help/#talks
    Или phd-thesis.pdf, если не хватит. Ссылка там пятью строками выше или здесь в #18.

    ----
    Слова-то длииииннные -- сразу видно кампьютер сайнс. Последние лет 50... Хотя, возможно, кто-то просто трепется. Не принимайте за чистую монету, составьте своё мнение.

    #>>(и перестроение/обновление конфигурации) всей системы и отдельных изолированных окружений из высокоуровневых описаний на Схеме. Модные костыли вроде всяких Папетов и Докеров больше не будут нужны, все красиво, цельно и унифицировано.

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

    Коллега хотел сказать, что ...  guix (и папа его nix, видимо) покрывает диплой (осторожно! красивое слово) от построения среды сборки компонентов, обеспечения её, среды. повторяемость и сборку (композицию) из тех же компонентов, сорсово-и-или-бинарной установки, и до сборки системы в целом, окружения, как набора сервисов (диски-разделы, ядра-загрузчики, пользователи-ключи-пароли, запускаемые серыисы, интерфейсы, и, конечно, установенные пакеты по).

    То есть guix -- он и pbuilder, и APT/YUM, и dpkg/rpm(не в том смысле,что он умеет .deb или .rpm---), и puppet/ансибль/ктотамуних (не такой модно-молодёжно навороченный, возможно, больше рукописные скрипты-шаблоны), и debian-installer (unattended в т.ч.).

    Например, они системную конфигурацию (всего компа~ один .scm файл!) проверяют(если надо:) "накатом" виртуалки из неё, см. guix system vm https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html#I . Или свои билд-фермы "хранят" в git-е http://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra .

     
  • 2.20, Аноним_oyc (?), 09:09, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Устанавливать разные версии одной и той же программы, или устанавливать пакеты всё в одном, типа, как самодостаточные.
     
  • 2.23, анонимус (??), 09:51, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Апт невероятно убог и тормознут.
     
     
  • 3.31, Guix (ok), 14:20, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Апт невероятно убог и тормознут.

    Это ты ещё DNF не видел. Апт по сравнению с ним ещё ничего.

     
  • 3.41, Аноним (-), 23:22, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не знаю в чем он убог, а тормозит при построении и перестроении списка пакетов что оправдано если учесть что специально часть никто не оптимизировал. У apt и aptitude есть некоторые преимущества которые критичны для меня и их нет в rpm.
     

  • 1.6, ALex_hha (ok), 23:43, 22/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > выполнение транзакционных обновлений

    это пожалуй единственное, чего не хватает в apt/rpm(yum)

     
     
  • 2.24, анонимус (??), 09:52, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Аптом уже можно ставить несколько версий одного пакета?
     
     
  • 3.27, PnDx (ok), 11:46, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да, если пакет собран в /opt/pkg/version (или /usr/local/pkg/version).
    См. как постгресники это делают.
    * И rpm'ом аналогично.
     
     
  • 4.32, Guix (ok), 14:21, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, если пакет собран в /opt/pkg/version (или /usr/local/pkg/version).

    Но все же понимают, что это _костыль_.

     
     
  • 5.44, rpm (?), 07:17, 24/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это грамматная сборка пакетов
     
     
  • 6.50, annual slayer (?), 16:36, 09/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    более правильного слова для такой сборки и не подобрать
     

  • 1.7, JL2001 (ok), 23:58, 22/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >В GuixSD обеспечена возможность запуска системных сервисов (фоновых процессов) в изолированных контейнерах, что позволяет защитить систему от возможных уязвимостей в данных сервисах

    молодцы что в дефолтную систему вписали, ещё б гуишные добавить типо скайпа (аль фотошопа)

     
     
  • 2.21, Аноним_oyc (?), 09:12, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ага, щаз тебе FSF добавит Skype, жди ;)
     

  • 1.10, Аноним (-), 01:13, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это Proof ofConcept или юзабельно для личного использования?
     
  • 1.11, Singularity (ok), 01:25, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В UEFI уже может?
     
     
  • 2.33, Guix (ok), 14:22, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >В UEFI уже может?

    -->
    >В сборки GuixSD добавлена поддержка загрузки на системах с UEFI

     

  • 1.13, Gotta Go Fast (?), 03:57, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    >Добавлена поддержка архитектуры aarch64

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

     
     
  • 2.16, EuPhobos (ok), 07:26, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>Добавлена поддержка архитектуры aarch64
    > в то время, как большинство дистров уже выкинуло арм. Лол

    Многие дистрибутивы [u]ещё не подсели[/u] на 64битный арм. Ты из будущего что-ль?

     

  • 1.14, rob pike (?), 04:38, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Слишком красиво, не взлетит.
    Пример Darcs никого ничему не научил.
     
  • 1.15, KOT040188 (ok), 06:23, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А почему не GNU/Hurd?
     
     
  • 2.22, Аноним (-), 09:18, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    GNU/Hurd Мертворожденное ядро которое не будет использовано никогда!
     

  • 1.17, Аноним (-), 07:39, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пытался использовать Nix для запуска некоторых приложений, типа Calibre - гуя выглядит, мягко говоря, инородно. ШГ адское, темы кривые, диалоги открытия-сохранения всегда открываются по неожиданному пути. Вернулся на сборки standalone от  разработчиков, лежащие в ~/opt, они в систему вписываются нормально.

    Не очень понимаю, чем геморрой с интеграцией в систему можно оправдать, что бы использовать Guix и Nix, вместое обычного ~/opt.

     
     
  • 2.19, Аноним (-), 08:54, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    хмм да у меня там skypeforlinux затесался...
     
  • 2.26, leo (??), 10:13, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    отсуствием гемороя.
    если nix файл хорошо написан, ты получишь то, что хочешь очень лекго. например для своего проекта я собираю все библиотеки одним компилятором, собираю статический буст с fPIC и т.д. это все как бы одной строкой.
     

  • 1.25, leo (??), 10:09, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    так и не понял чем эта штука отличается от оригинального nix. только тем что Scheme юзает, а не nix?
     
     
  • 2.28, Andrey Mitrofanov (?), 12:13, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > так и не понял чем эта штука отличается от оригинального nix. только
    > тем что Scheme юзает, а не nix?

    Пакеты на scheme пишут, а не на доморощенном nix lang. Говорят, с эскейпами вложенных шелл-сниппетов проще (=>всё переписано на scheme~), "полный lisp" мощнее доморощенного DSL с шелом в качестве низкоуровневого рантайма.

    Nix-демона и guix использует, но свой форк. Так что не совсем "не nix". Фактически "там внизу" пакеты транслируются guix-ом в derivation-ы -- входные коды nix, описывающие сборку.

    А ещё  s,/nix/store/,/gnu/store/.  И я совсем не уверен про совместное использование, как там наверху, в новости (пакеты NixOS => GuixSD?) -- .../store/ и демоны должны, вроде, быть отдельными и не пересекающимся, если я не вру. Хотя люди и ставят Guix [P.M., не ...SD] внутри NixOS (дистрибутива, базовой ОС), насколько там возможно разделение демона и стора, я не знаю. Может, guix-овые .drv-ешки собирают и ставят nis[OS]-овым демоном, не используя свой "родной" (и теряя бинарную совместимость с gnu субститьютами)?...

     
     
  • 3.30, ILoveIslam (?), 13:56, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще смысла особого в nixlang нет, ничего нового он не несет, такое ощущение что он появился во многом потому что у кое-кого в phd тезисе глав не хватало.
     
  • 3.36, leo (??), 17:16, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    спасибо.

    на сколько я понял, если хеши они расчитывают одинаково (а это скорее всего так, если guix деревацию делает, ведь nix потом по этому хешь высчитает), то можно и совместно использовать.
    у меня как-то не было проблемы написать shell, там две кавычки ставишь, такое нигде по коду не встретиться. а вот в скобках боюсь запутаться.


    я не пробовал, но nix вроде можно настроить и без systemd (вроде встречал нужные деревации).

     
  • 3.43, Аноним (-), 06:54, 24/05/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Описание пакетов в формате deb может понять любой юзер даже не программист, а вот написанные на всяких языках программирования лиспах только программер значит собирать, сопровождать пакеты смогут только они. Я к чему веду, к тому что для обычного пользователя guix намного хуже труднее для понимания. С этим вашим guix'ом уже не покопаешься в системе. популярность, прозрачность и демократичность linux резко понизится.
     
     
  • 4.47, Andrey Mitrofanov (?), 11:40, 24/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Описание пакетов в формате deb может понять любой юзер даже не программист,
    > а вот написанные на всяких языках программирования лиспах только программер значит

    Во-первых, вы передёргиваете, мусье шулер, с "понять" на "написание" и с "описание" (descrition: что ли?) на "на лисках". Во-вторых, "только программер" -- это с дипломом вуза, да? Хе... враньё. Себе-то хоть не врёте, или вами верите в написанное?

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

    Отговорки. Вплоть до "п4ж и дезинформация."

    > тому что для обычного пользователя guix намного хуже труднее для понимания.
    > С этим вашим guix'ом уже не покопаешься в системе.

    Отлично. Вычёркиваю, можете не приходить.  Надо _меньше_ пользователей.

    >популярность, прозрачность и демократичность linux резко понизится.

    Великолепно же! Микрософты, ораклы, редхаты и торвальдсы получат заслуженное? Скорее бы.

     
  • 2.29, Andrey Mitrofanov (?), 12:18, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > так и не понял чем эта штука отличается от оригинального nix.

    А, да, пока не забыл: и проект GNU, в нём linux-libre, по скрижалям FSF --- GPLv3+, FSDG.

     
  • 2.34, Guix (ok), 14:41, 23/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > так и не понял чем эта штука отличается от оригинального nix. только тем что Scheme юзает, а не nix?

    Помимо этого в GuixSD нет systemd:
    >В качестве системы инициализации используется сервисный менеджер GNU Shepherd (бывший dmd), развиваемый как альтернатива SysV-init с поддержкой зависимостей. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme)

     

  • 1.35, Guix (ok), 14:52, 23/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >В GuixSD обеспечена возможность запуска системных сервисов (фоновых процессов) в изолированных контейнерах, что позволяет защитить систему от возможных уязвимостей в данных сервисах;

    Вот это годно.

    Ещё бы ядро с grsecurity в репу завезли.

     
     
  • 2.49, Andrey Mitrofanov (?), 13:11, 27/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>В GuixSD обеспечена возможность запуска системных сервисов (фоновых процессов) в изолированных контейнерах, что позволяет защитить
    > Вот это годно.
    > Ещё бы ядро с grsecurity в репу завезли.

    Ээээ. Как вы себе это видите -- когда у одних linux-libre по скрижалям FSDG, а у других "прекращают открытую публикацию патчей"?

     

  • 1.42, Аноним (-), 00:52, 24/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В Debian когда будет?
     
     
  • 2.46, Andrey Mitrofanov (?), 11:28, 24/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > В Debian когда будет?

    В официальном Debian-е, да??

    Гм... От "когда-нибудь, может быть"
       https://bugs.debian.org/850644
          https://github.com/antono/guix-debian/tree/master/debian
       https://github.com/detrout/debian-guix
          https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01121.html

    до "никогда":

    [I]"However, for good reasons (maybe too long to go into here?) Guix does not follow the Filesystem Heirarchy Standard, and for that reason alone will probably not be installed in the main repositories of Debian at least soon."[/I] --https://unix.stackexchange.com/questions/290423/can-guix-packages-be-delivered

     
     
  • 3.48, Аноним (-), 19:15, 25/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А чем в целом ставить и подготавливать пакеты?
    А то что-то очень уж много возни с штатными средствами.
    На сколько я помню даже rpm и тот проще делать чем deb.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру