Расскажите все про Linux программисту C++

    Какое-то время назад я работал с Red Hat Linux. И вот после большого перерыва мне требуется снова вернутся в пингвиний мир, но столько воды утекло! Может соберем все вместе здесь эдакий FAQ для программиста C++, но чайника в Линуксах?

    Поехали?

    Общие вопросы.

    1. В чем различие между основными популярными дистрибутивами Linux?

    > Основная разница это система пакетов. (deb, rpm и т.д.) Также под какие архитектуры выпускается дистрибутив. (sl_bug)

    > Основные отличия: Менеджер пакетов, набор ПО, настройки по умолчанию. (Evgeny_Shiryaev)

    > (в дополнение к Evgeny_Shiryaev) еще иногда отличаются способом конфигурации сервисов, стартуемых при загрузке. Пример — /etc/conf.d/net в Gentoo и /etc/network/interfaces в Ubuntu. Также для каждого дистрибутива характерен свой способ задания списка стартуемых при загрузке сервисов. Иногда различаются способом организации самих конфигурационных файлов (один файл или кучка файлов и макрос, их собирающий). (xtreme)

    > В пакетной системе, в инсталляторе, в системных скриптах. В версиях ПО и наборе ПО по умолчанию. (Arceny)

    2. Почему следует предпочитать системы BSD перед системами Linux?

    > Кто вам это сказал? Выбирать нужно по потребностям. (sl_bug)

    > Лично я не вижу весомых преимуществ BSD-систем перед Linux-системами. (Evgeny_Shiryaev)

    > Холиварный вопрос. Выбор системы зависит от поставленной задачи. Однако, в BSD более продуман сетевой стек и присутствуют такие полезные шняжки, как accf_http и accf_data. В Линукс я пока не видел замены кроме TCP_DEFER, которая работает несколько иначе. (xtreme)

    3. Существуют ли полностью бесплатные дистрибутивы Linux?

    > Да (sl_bug)

    > Да, причем их большинство. (Evgeny_Shiryaev)

    > Я бы сказал, что бесплатно-доступных дистрибутивов — абсолютное большинство. (xtreme)

    > Да, большенство. Debian или Ubuntu. Или Fedora. Или Gentoo. (Arceny)

    4. Почему вообще дистрибутив Linux является платным, ведь он построен на базе open-source программного обеспечения и бесплатного ядра Linux?

    > Обычно платной является поддержка а не дистрибутив (sl_bug)

    > Плата идет не за сам дистрибутив, а за поддержку его (обновления, техсаппорт, и т.д.). (Evgeny_Shiryaev)

    > Весьма существенный момент для разработчика:
    В платном дистрибутиве SUSE SLES без подписки недоступны также и пакеты с исходными кодами (src.rpm = мэйнстрим исходники + дистрибутивные апдейты, патчи, спеки, конфиги).

    Пересобрать пакет можно только из исходного (мэйнстрим) tar.gz (в лучшем случае — из src.rpm opensuse, с перерисовыванием зависимостей и прочими прелестями).
    При этом, естественно, рушится вся система апдейтов.
    И, возможно, совместимость с остальными пакетами системы,
    в том числе с темже самым пакетом, поставленным из бинарников.

    Скорее всего, аналогичная ситуация с RedHat и другими платными дистрибами. (qmax)

    > (опять же в дополнение к Evgeny_Shiryaev) Тут надо помнить, что «открытые исходные тексты» и «бесплатно» — это все-таки разные понятия. Обычно OpenSource-лицензии не запрещают продавать продукты, выпущенные под ними или с их использованием. (xtreme)

    > Техподдержка, коробка, полиграфия… Либо включенные проприентарные компоненты, удалив которые получим полностью лицензионно чистую версию. (Arceny)

    > Вы имеете возможность платить за поддержку. Если хотите RHEL без поддержки — используйте CentOS. В остальном — есть Ubuntu (которая бесплатна, но появилась возможность поддержки), OpenSUSE, Fedora (здесь вообще только бесплатный вариант)). (kost_bebix)

    5. Если мне требуется установить много машин с Linux есть ли лицензия, которая позволит мне один раз купить дистрибутив и ставить его на сколько угодно машин? Или опять-таки есть ли полностью бесплатный Linux?

    > GNU/GPL (sl_bug)

    > Да. (Evgeny_Shiryaev)

    > Можно даже не купить, а свободно скачать и поставить на любое количество машин. Но если Вы заинтересованы в поддержке, то тогда, действительно, лучше купить. (xtreme)

    > По условиям лицензий Debian и Ubuntu — вы можете ставить их на неограниченное количество PC. Но в России вам придётся купить коробочную версию. По идее — достаточно одной коробки на одну компанию. (inkvizitor68sl)

    > Да все они (из популярных): Fedora, Ubuntu, Linux Mint, OpenSUSE, Mandriva, CentOS, Debian, Slackware, Arch, Gentoo являются бесплатными. (kost_bebix)

    6. Есть ли достойные дистрибутивы «от отечественного производителя»?

    > ALT Linux возможно (sl_bug)

    > На этот вопрос нельзя ответить объективно. Лично на мой взгляд нет. Однако если будете смотреть на «наши» дистрибутивы, смотрите на ALT Linux. (Evgeny_Shiryaev)

    > есть. InfraLinux например. Но в большинстве случаев они платные. (именно достойный) (inkvizitor68sl)

    7. Являются ли дистрибутивы Линукс совместимыми на уровне бинарных исполняемых файлов? Можно ли взять файл из Ubuntu и запустить его на Fedora, на FreeBSD?

    > можно из Ubuntu 32bit на Fedora 32bit (sl_bug)

    > Дистрибутивы Linux да. На FreeBSD можно запустить бинарники Linux, однако не напрямую. (Evgeny_Shiryaev)

    > Обычно — да. Трудности возникают, когда бинарник использует некоторые подключаемые библиотеки, а исходная система (от которой бинарник) и целевая (где запускается бинарник) имеют разные версии данных библиотек, в которых разные функции могут, к примеру, называться по-разному, либо вообще отсутствовать. Но, статически собранные бинарники вполне себе переносимы. Примеры — Opera, Adobe-Flash-плагин для браузеров, Skype и т.д.
    В FreeBSD же совместимость с линуксовыми бинарниками достигается за счет эмуляции для них линуксового окружения, для чего, как я помню, используются обычные линуксовые библиотеки от Fedora, плюс спец-модуль в ядре, позволяющий это дело. (xtreme)

    > Линукс — да, если есть нужные shared-libraries. Бинарная совместимость Linux >> BSD существует. Но тупо взять пакет и запустить в большенстве случаев не получится, подробностей не знаю. (Arceny)

    > большинство бинарников запустятся в любом дистрибутиве. Некоторые программы распространяются именно в таком виде (firefox с сайта например). Или basket. (inkvizitor68sl)

    > Редко. Смотря какой файл. Есть утилита Alien, которая из .deb-пакетов делает .rpm, но это костыль. Если пишешь на C++ — почитай про «Opensuse Build Service» — это типа место, где ты свой проект будешь удобно собирать сразу под все системы какие необходимо. (kost_bebix)

    8. Каким образом при написании C++ программ обеспечить максимальную совместимость между Линукс-дистрибутивами на уровне исходных кодов? Какие библиотеки следует использовать?

    > Широко распространённые, например Qt. OpenSource. Включенные в основные репозитории. (Arceny)

    > Qt (GooRoo)

    > Практически любые, но я лично тепло отношусь к Qt, которая есть и в Виндоус и МакОС. А так — гугл всегда найдет что-то абстрактное от дистрибутива для каждой конкретной задачи. (kost_bebix)

    > Ах да. И, собственно, о главном — об отличии написания под виндоус. Все просто — под виндоус ты писал программу, которая использовала некоторые библиотеки — ты эти библиотеки пихал прямо в сборку программы и собирал один большой кусок. В линуксе же принято иначе, — ты пишешь программу, а затем создаешь .deb/.rpm, где описываются библиотеки и их версии.

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

    Проблемы:
    — если дистрибутив решит использовать новую версию (ветку) библиотеки — все может сломаться. Поэтому надо пилить (если нужна максимальная кросс-дистрибутивность) (kost_bebix)

    9. Допустим требуется какое-то нестандартное решение, например, какой-то специальный вызов ядра. Каким образом можно узнать, что данная система поддерживает этот вызов?

    > Экспериментальным путём или спросив в списках рассылки, форумах, у разрабов, _почитав документацию_. (Arceny)

    > Если есть ядро — значит есть и функция. Дальше надо смотреть на конкретику. (kost_bebix)

    10. Есть ли хорошие альтернативы gcc для разработчика на C++? Всегда ли gcc входит в состав дистрибутива?

    > 10. icc, всегда (sl_bug)

    > Нет, не всегда. Свободных альтернатив не знаю. (Arceny)

    11. Какие IDE и под какими оконными менеджерами (или как это называется?) вы используете для программирования на C++? Какой отладчик?

    > vim, gdb (sl_bug)

    > IDE — Eclipse вроде бы популярен (со слов друга-программиста на C++ и Java, на истину в последней инстанции не претендует); отладчик — gdb. (xtreme)

    > gdb — отладчик. к нему много разных обёрток.
    Например для программирования с использованием GUI тулкита Qt использую QtCreator.
    А вообще разных IDE много. Google. (Arceny)

    > Если человек задаёт к вопросу об IDE отдельно вопрос про отладчик, он вряд ли получит что-либо кроме vim+gdb. Под IDE обычно подразумевают среду, в которой уже настроены трассировки с помощью горячих клавиш, просмотр отладочной информации и пр. В этом случае я бы порекомендовал Qt Creator, KDevelop, Code::Blocks, Eclipse или NetBeans. (Lockal)

    > В Eclipse не очень удобно делать отладку, да и подтормаживает. NetBeans тормозит. KDevelop — фигня. Qt Creator более-менее (юзать можно).
    Достойной Linux-альтернативы VS нет :( Особенно что касается удобства отладки. (GooRoo)

    > KDE4.3.1 + QtCreator — хорошее решение. Я использую Emacs, на C++ пишу нечасто. (kost_bebix)

    12. Какие еще инструменты для C++ используются. Слышал про valgrind как хороший memory-leak детектор.

    > ИДЕ — KDevelop, Eclipse, есть отладчик gdb. Дальше надо тоже конкретно смотреть «что надо». (kost_bebix)

    13. Какая русская кодировка используется в Линукс системах «по умолчанию»? Поддерживает ли ядро Линукс UNICODE? На каком уровне?

    > utf-8 (sl_bug)

    > UTF-8 сегодня — это умолчальная. Сделать умолчальной практически без труда можно любую кодировку, хоть CP866. (xtreme)

    14. Какое наиболее доступное решение, чтобы запустить Linux на машине с Windows? Как насчет portable Ubuntu? Кто-нибудь пользуется, можно ли вести полноценную разработку?

    > vmware? (sl_bug)

    > Самое лучшее решение — запустить Linux внутри виртуальной машины. Я рекомендую для этого использовать VirtualBox.

    > Вам уже посоветовали VMWare и VirtualBox. Последний бесплатен (xtreme)

    > LiveCD ) а вообще — virtualbox. Wubi\portable Ubuntu portable — не лучший вариант. (inkvizitor68sl)

    > Что значит запустить Линукс? Самое простое решение — удалить Виндоус и установить Убунту (kost_bebix)

    :-)

    Вопросы пользователям-программистам C++.

    a1. Каким дистрибутивом лично Вы пользуетесь и почему выбрали именно его?

    > Debian, привычка. Очень давное начал им пользоваться и менять не хочется. Пробовал gentoo (прикольно, но все из исходников это долго), centos/fedora (не люблю rpm) (sl_bug)

    > Ubuntu. Меньше всего проблем с настройкой дистрибутива, хороший менеджер пакетов, часто обновляется. Еще неплохи (для пользователя) Fedora, OpenSUSE и большинство производных Ubuntu. (Evgeny_Shiryaev)

    > Debian, Ubuntu. Последний работает из коробки почти со всем железом, первый — просто хороший неперегруженный дистрибутив, который я ставлю на сервера и на котором развёртываю только необходимый набор пакетов. (Arceny)

    > Mandriva Linux. Так сложилось исторически :) Некоторые считают его дистрибутивом для домохозяек, и в чем-то они правы :) (GooRoo)

    > Убунту. Просто из-за популярности все разрабатывается (и так и должно быть) и пилится в первую очередь под него. (kost_bebix)

    a2. С помощью каких инструментов ведет разработку (если ведете)?

    > vim, gcc, gdb (sl_bug)

    > Qt + Qt Creator, ибо лучше ничего нет, а до vim c emacs еще не дорос. (GooRoo)

    > Наверное вел бы с помощью QtCreator, если бы не подсел на Емакс. (kost_bebix)

    a3. Что устраивает и что не устраивает в вашем Линуксе как программиста С++?

    > Не нравится: модель межпроцедурной оптимизации в gcc (не ускоряет), стандартные оптимизации -O2 (приходится свои дописывать, либо -O3), каскадные сообщения об ошибках в boost и подобных библиотеках. (Lockal)

    > Linux — лучшая операционная система в которой я работал, но для разработки на С++ по сравнению с виндой совсем непригодна. Хотя при желании… ;) (GooRoo)

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

    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 55

    • UFO just landed and posted this here
        +3
        1. Основная разница это система пакетов. (deb, rpm и т.д.) Также под какие архитектуры выпускается дистрибутив.

        2. Кто вам это сказал? Выбирать нужно по потребностям.

        3. Да

        4. Обычно платной является поддержка а не дистрибутив

        5. GNU/GPL

        6. ALT Linux возможно

        7. можно из Ubuntu 32bit на Fedora 32bit

        10. icc, всегда

        11. vim, gdb

        13. utf-8

        14. vmware?

        a1. Debian, привычка. Очень давное начал им пользоваться и менять не хочется. Пробовал gentoo (прикольно, но все из исходников это долго), centos/fedora (не люблю rpm)

        a2. vim, gcc, gdb

        • UFO just landed and posted this here
            0
            4. Почему вообще дистрибутив Linux является платным, ведь он построен на базе open-source программного обеспечения и бесплатного ядра Linux?

            Плата идет не за сам дистрибутив, а за поддержку его (обновления, техсаппорт, и т.д.).


            Весьма существенный момент для разработчика:
            В платном дистрибутиве SUSE SLES без подписки недоступны также и пакеты с исходными кодами (src.rpm = мэйнстрим исходники + дистрибутивные апдейты, патчи, спеки, конфиги).

            Пересобрать пакет можно только из исходного (мэйнстрим) tar.gz (в лучшем случае — из src.rpm opensuse, с перерисовыванием зависимостей и прочими прелестями).
            При этом, естественно, рушится вся система апдейтов.
            И, возможно, совместимость с остальными пакетами системы,
            в том числе с темже самым пакетом, поставленным из бинарников.

            Скорее всего, аналогичная ситуация с RedHat и другими платными дистрибами.
              0
              ну дык на то они и платные… :)
              в принципе можно ж нарыть бесплатные аналоги шапки, тот же дистрибутив Оракла вроде бесплатен и является клоном шапки…
            +1
            признайтесь, вам просто лень гуглить :) — каждый из ваших вопросов требует развернутого ответа — у меня полдня уйдет на это сочинение.

            с чего вы взяли что линукс платный? откуда такая ересь?
            ну и про С++: QT написано на нем и большинство QT-прог тоже.(кстати, и KDE) — выводы сделаете сами.
              0
              Да мне не нужны сильно подробные ответы! Просто понять в каком направлении двигаться.

              Так ведь везде за диск с Linux денег хотят! И кол-во денег, которые хотят явно превышает стоимость диска + стоимость скачать из Сети image + стоимость записать на диск. Поэтому и спрашиваю.
                0
                а что мешает слить дистрибутив с офф. сайта?

                кстати, тут говорили про якобы платные апдейты — это верно лишь (и то, частично) для RedHat и Novell(SLES)
                  0
                  Тот дистрибутив, который вы скачали из сети, и тот, который, например, предлагает линуксцентр это две разные вещи. Последнее — это затраты на диски, ultrabox и полиграфию, аренда помещений и оборудования, налоги, доставка, зарплата сотрудникам, пенсионные отчисления и прочее.

                  Кстати, из всех правил есть исключения. Можно, например, записать ubuntu не на CD, а на флешку, а дистрибутив доставить через https://shipit.ubuntu.com/ (о наклейках и упаковке с пузырьками все наслышаны? =)
                  0
                  Занудствую: Qt, а не QT
                  +3
                  Раз уж собрали список вопросов, выберите потом ответы и вставьте в пост, может кому-нибудь поможет.
                    +1
                    вот это, кстати мысль!
                      +2
                      окей, через пару дней после накопления ответов я вставлю их в пост
                      +1
                      1. (в дополнение к Evgeny_Shiryaev) еще иногда отличаются способом конфигурации сервисов, стартуемых при загрузке. Пример — /etc/conf.d/net в Gentoo и /etc/network/interfaces в Ubuntu. Также для каждого дистрибутива характерен свой способ задания списка стартуемых при загрузке сервисов. Иногда различаются способом организации самих конфигурационных файлов (один файл или кучка файлов и макрос, их собирающий).

                      2. Холиварный вопрос. Выбор системы зависит от поставленной задачи. Однако, в BSD более продуман сетевой стек и присутствуют такие полезные шняжки, как accf_http и accf_data. В Линукс я пока не видел замены кроме TCP_DEFER, которая работает несколько иначе.

                      3. Я бы сказал, что бесплатно-доступных дистрибутивов — абсолютное большинство.

                      4. (опять же в дополнение к Evgeny_Shiryaev) Тут надо помнить, что «открытые исходные тексты» и «бесплатно» — это все-таки разные понятия. Обычно OpenSource-лицензии не запрещают продавать продукты, выпущенные под ними или с их использованием.

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

                      7. Обычно — да. Трудности возникают, когда бинарник использует некоторые подключаемые библиотеки, а исходная система (от которой бинарник) и целевая (где запускается бинарник) имеют разные версии данных библиотек, в которых разные функции могут, к примеру, называться по-разному, либо вообще отсутствовать. Но, статически собранные бинарники вполне себе переносимы. Примеры — Opera, Adobe-Flash-плагин для браузеров, Skype и т.д.
                      В FreeBSD же совместимость с линуксовыми бинарниками достигается за счет эмуляции для них линуксового окружения, для чего, как я помню, используются обычные линуксовые библиотеки от Fedora, плюс спец-модуль в ядре, позволяющий это дело.

                      11. IDE — Eclipse вроде бы популярен (со слов друга-программиста на C++ и Java, на истину в последней инстанции не претендует); отладчик — gdb.

                      13. UTF-8 сегодня — это умолчальная. Сделать умолчальной практически без труда можно любую кодировку, хоть CP866.

                      14. Вам уже посоветовали VMWare и VirtualBox. Последний бесплатен.
                        0
                        Отвечаю субьективно

                        > 1. В чем различие между основными популярными дистрибутивами Linux?
                        В пакетной системе, в инсталляторе, в системных скриптах. В версиях ПО и наборе ПО по умолчанию.

                        > 2. Почему следует предпочитать системы BSD перед системами Linux?
                        Провокационный вопрос.

                        > 3. Существуют ли полностью бесплатные дистрибутивы Linux?
                        Да, большенство. Debian или Ubuntu. Или Fedora. Или Gentoo.

                        > 4. Почему вообще дистрибутив Linux является платным, ведь он построен на базе open-source программного обеспечения и бесплатного ядра Linux?
                        Техподдержка, коробка, полиграфия… Либо включенные проприентарные компоненты, удалив которые получим полностью лицензионно чистую версию.

                        > 5. Если мне требуется установить много машин с Linux есть ли лицензия, которая позволит мне один раз купить дистрибутив и ставить его на сколько угодно машин? Или опять-таки есть ли полностью бесплатный Linux?
                        См. 3. За конкретной лицензией на кучи машин с поддержкой нужно узнавать на сайтах соответствующих поставщиков-дистростроителей.

                        > 6. Есть ли достойные дистрибутивы «от отечественного производителя»?
                        ALT Linux

                        > 7. Являются ли дистрибутивы Линукс совместимыми на уровне бинарных исполняемых файлов? Можно ли взять файл из Ubuntu и запустить его на Fedora, на FreeBSD?
                        Линукс — да, если есть нужные shared-libraries. Бинарная совместимость Linux >> BSD существует. Но тупо взять пакет и запустить в большенстве случаев не получится, подробностей не знаю.

                        > 8. Каким образом при написании C++ программ обеспечить максимальную совместимость между Линукс-дистрибутивами на уровне исходных кодов? Какие библиотеки следует использовать?
                        Широко распространённые, например Qt. OpenSource. Включенные в основные репозитории.

                        > 9. Допустим требуется какое-то нестандартное решение, например, какой-то специальный вызов ядра. Каким образом можно узнать, что данная система поддерживает этот вызов?
                        Экспериментальным путём или спросив в списках рассылки, форумах, у разрабов, _почитав документацию_.

                        > 10. Есть ли хорошие альтернативы gcc для разработчика на C++? Всегда ли gcc входит в состав дистрибутива?
                        Нет, не всегда. Свободных альтернатив не знаю.

                        > 11. Какие IDE и под какими оконными менеджерами (или как это называется?) вы используете для программирования на C++? Какой отладчик?
                        gdb — отладчик. к нему много разных обёрток.
                        Например для программирования с использованием GUI тулкита Qt использую QtCreator.
                        А вообще разных IDE много. Google.

                        > 12. Какие еще инструменты для C++ используются. Слышал про valgrind как хороший memory-leak детектор.
                        Ага.

                        > 13. Какая русская кодировка используется в Линукс системах «по умолчанию»? Поддерживает ли ядро Линукс UNICODE? На каком уровне?
                        UTF-8, юникод поддерживается.

                        > 14. Какое наиболее доступное решение, чтобы запустить Linux на машине с Windows? Как насчет portable Ubuntu? Кто-нибудь пользуется, можно ли вести полноценную разработку?
                        LiveCD на посмотреть, виртуальная машина.

                        Вопросы пользователям-программистам C++.

                        > a1. Каким дистрибутивом лично Вы пользуетесь и почему выбрали именно его?
                        Debian, Ubuntu. Последний работает из коробки почти со всем железом, первый — просто хороший неперегруженный дистрибутив, который я ставлю на сервера и на котором развёртываю только необходимый набор пакетов.

                        > a2. С помощью каких инструментов ведет разработку (если ведете)?
                        См. 11

                        > a3. Что устраивает и что не устраивает в вашем Линуксе как программиста С++?
                        Без комментариев.
                          0
                          Ответы на вопросы уже даны, но как человек, прошедший ряд стадий линуксоидности, позволю себе прокомментировать сами вопросы.

                          1. В чем различие между основными популярными дистрибутивами Linux?
                          Можно написать по этой теме десятки статей. При этом каждую из этих статей можно будет обвинить в неполности и однобокости, причём эти обвинения будут звучать отнюдь не только от троллей.

                          2. Почему следует предпочитать системы BSD перед системами Linux?
                          Обычно этот вопрос отпадает после попыток превратить BSD в Linux.

                          3. Существуют ли полностью бесплатные дистрибутивы Linux?
                          Странный вопрос, на него могут ответить все. Возможно он сформулирован так, чтобы создать неверную предпосылку для неверного ответа.

                          4. Почему вообще дистрибутив Linux является платным, ведь он построен на базе open-source программного обеспечения и бесплатного ядра Linux?
                          В формулировке вопроса неверная предпосылка. Одного этого вопроса достаточно, чтобы дальше не читать FAQ.

                          5. Если мне требуется установить много машин с Linux есть ли лицензия, которая позволит мне один раз купить дистрибутив и ставить его на сколько угодно машин? Или опять-таки есть ли полностью бесплатный Linux?
                          GNU/GPL позволяет ставить программное обеспечение на неограниченное число компьютеров.

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

                          11. Какие IDE и под какими оконными менеджерами (или как это называется?) вы используете для программирования на C++? Какой отладчик?
                          Если человек задаёт к вопросу об IDE отдельно вопрос про отладчик, он вряд ли получит что-либо кроме vim+gdb. Под IDE обычно подразумевают среду, в которой уже настроены трассировки с помощью горячих клавиш, просмотр отладочной информации и пр. В этом случае я бы порекомендовал Qt Creator, KDevelop, Code::Blocks, Eclipse или NetBeans.

                          13. Какая русская кодировка используется в Линукс системах «по умолчанию»? Поддерживает ли ядро Линукс UNICODE? На каком уровне?
                          Вопрос остался где-то в 2005 =)

                          a2. С помощью каких инструментов ведет разработку (если ведете)?
                          Блокнот с подсветкой, Makefile.

                          a3. Что устраивает и что не устраивает в вашем Линуксе как программиста С++?
                          Не нравится: модель межпроцедурной оптимизации в gcc (не ускоряет), стандартные оптимизации -O2 (приходится свои дописывать, либо -O3), каскадные сообщения об ошибках в boost и подобных библиотеках.
                            +1
                            8. Qt

                            11. В Eclipse не очень удобно делать отладку, да и подтормаживает. NetBeans тормозит. KDevelop — фигня. Qt Creator более-менее (юзать можно).
                            Достойной Linux-альтернативы VS нет :( Особенно что касается удобства отладки.

                            a1. Mandriva Linux. Так сложилось исторически :) Некоторые считают его дистрибутивом для домохозяек, и в чем-то они правы :)

                            a2. Qt + Qt Creator, ибо лучше ничего нет, а до vim c emacs еще не дорос.

                            a3. Linux — лучшая операционная система в которой я работал, но для разработки на С++ по сравнению с виндой совсем непригодна. Хотя при желании… ;)
                              0
                              1) фундаментальных отличий нет. Отличия есть в наличии и характере прекомпелированных пакетов, наличия поддержки архитектур, степени свободности.

                              2) спорный вопрос. лично я не считаю что BDS не стоит использовать дома.

                              3) да, Debian. Хотя российское законодательство и его исхаяло.

                              4) когда вы покупаете дистрибутив Linux — вам предоставляется техническая поддержка. Исключение — дистрибутивы, которые серьёзно доработаны или содержат проприетарные приложения (для обучения например). Ну и опять же — Россия…

                              5) По условиям лицензий Debian и Ubuntu — вы можете ставить их на неограниченное количество PC. Но в России вам придётся купить коробочную версию. По идее — достаточно одной коробки на одну компанию.

                              6) есть. InfraLinux например. Но в большинстве случаев они платные. (именно достойный)

                              7) большинство бинарников запустятся в любом дистрибутиве. Некоторые программы распространяются именно в таком виде (firefox с сайта например). Или basket.

                              10) gcc может не войти в состав только экзотических или специализированных дистрибутивов.

                              13) большинство современных дистрибутивов используют UTF8.

                              14) LiveCD )
                              а вообще — virtualbox. Wubi\portable Ubuntu portable — не лучший вариант.
                                0
                                2) s/BDS/BSD/

                                утро, извиняюсс.
                                +1
                                гыг, прочитал ответы про BSD vs Linux :))) посмеялся :)
                                  0
                                  1. В чем различие между основными популярными дистрибутивами Linux?

                                  В версиях библиотек, скриптах «склеивания», сообществе пользователей.

                                  2. Почему следует предпочитать системы BSD перед системами Linux?

                                  Не следует (существует Debian/Linux, а существует и Debian/BSD). У BSD свой стиль, который есть и у многих типа Slackware Linux, но особо выигрыша я не вижу.

                                  3. Существуют ли полностью бесплатные дистрибутивы Linux?

                                  Да, практически все.

                                  4. Почему вообще дистрибутив Linux является платным, ведь он построен на базе open-source программного обеспечения и бесплатного ядра Linux?

                                  Вы имеете возможность платить за поддержку. Если хотите RHEL без поддержки — используйте CentOS. В остальном — есть Ubuntu (которая бесплатна, но появилась возможность поддержки), OpenSUSE, Fedora (здесь вообще только бесплатный вариант)).

                                  5. Если мне требуется установить много машин с Linux есть ли лицензия, которая позволит мне один раз купить дистрибутив и ставить его на сколько угодно машин? Или опять-таки есть ли полностью бесплатный Linux?

                                  Да все они (из популярных): Fedora, Ubuntu, Linux Mint, OpenSUSE, Mandriva, CentOS, Debian, Slackware, Arch, Gentoo являются бесплатными.

                                  6. Есть ли достойные дистрибутивы «от отечественного производителя»?

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

                                  7. Являются ли дистрибутивы Линукс совместимыми на уровне бинарных исполняемых файлов? Можно ли взять файл из Ubuntu и запустить его на Fedora, на FreeBSD?

                                  Редко. Смотря какой файл. Есть утилита Alien, которая из .deb-пакетов делает .rpm, но это костыль. Если пишешь на C++ — почитай про «Opensuse Build Service» — это типа место, где ты свой проект будешь удобно собирать сразу под все системы какие необходимо.

                                  8. Каким образом при написании C++ программ обеспечить максимальную совместимость между Линукс-дистрибутивами на уровне исходных кодов? Какие библиотеки следует использовать?

                                  Практически любые, но я лично тепло отношусь к Qt, которая есть и в Виндоус и МакОС. А так — гугл всегда найдет что-то абстрактное от дистрибутива для каждой конкретной задачи.

                                  9. Допустим требуется какое-то нестандартное решение, например, какой-то специальный вызов ядра. Каким образом можно узнать, что данная система поддерживает этот вызов?

                                  Если есть ядро — значит есть и функция. Дальше надо смотреть на конкретику.

                                  10. Есть ли хорошие альтернативы gcc для разработчика на C++? Всегда ли gcc входит в состав дистрибутива?

                                  Нету.

                                  11. Какие IDE и под какими оконными менеджерами (или как это называется?) вы используете для программирования на C++? Какой отладчик?

                                  KDE4.3.1 + QtCreator — хорошее решение. Я использую Emacs, на C++ пишу нечасто.

                                  12. Какие еще инструменты для C++ используются. Слышал про valgrind как хороший memory-leak детектор.

                                  ИДЕ — KDevelop, Eclipse, есть отладчик gdb. Дальше надо тоже конкретно смотреть «что надо».

                                  13. Какая русская кодировка используется в Линукс системах «по умолчанию»? Поддерживает ли ядро Линукс UNICODE? На каком уровне?

                                  Да. Почти везде юникод.

                                  14. Какое наиболее доступное решение, чтобы запустить Linux на машине с Windows? Как насчет portable Ubuntu? Кто-нибудь пользуется, можно ли вести полноценную разработку?

                                  Что значит запустить Линукс? Самое простое решение — удалить Виндоус и установить Убунту.

                                  Вопросы пользователям-программистам C++.

                                  a1. Каким дистрибутивом лично Вы пользуетесь и почему выбрали именно его?

                                  Убунту. Просто из-за популярности все разрабатывается (и так и должно быть) и пилится в первую очередь под него.

                                  a2. С помощью каких инструментов ведет разработку (если ведете)?

                                  Наверное вел бы с помощью QtCreator, если бы не подсел на Емакс.

                                  a3. Что устраивает и что не устраивает в вашем Линуксе как программиста С++?

                                  Почти не пишу на C++, не буду выпендриваться здесь.
                                    0
                                    А. А пользуюсь, собственно Федорой. Ибо здесь все новые «большие» технологии первыми внедряются, но надо не бояться ошибок (да и не так часто они есть) и уметь их исправлять (это не так сложно, банальный гугл, пару строчек в консоли и через 5 минут проблемы решаются).
                                    –1
                                    Позволю себе раскрыть во многом холиварную тему FreeBSD vs. Linux в этом посте, вместо того, чтобы открывать старую тему, за которую меня заминусовало, похоже, всё сообщество линуксоидов. :)

                                    Итак, исходное сообщение:
                                    Я очень начинающий Nix'овод и хотел бы спросить у вас следующее:
                                    • Какая из операционных систем удобна, надёжна и проще в обращении в качестве декстопной версии(FreeBSD или Linux)
                                    • Какая из операционных систем удобна, надёжна и проще в обращении в качестве серверной операционки(FreeBSD или Linux)
                                    • Каковые основные отличия FreeBSD от Linux
                                    • Почемы вы используете ту или иную ось.
                                    Это не троллинг и не холивар. Просто информация нужна для того чтобы самому сделать выбор в каком направлении двигаться и что изучать.


                                    И я на это отвечаю.

                                    >Какая из операционных систем удобна, надёжна и проще в обращении в качестве декстопной версии
                                    Linux Mint, говорят, неплоха. Но и PC-BSD не отстаёт.

                                    >Какая из операционных систем удобна, надёжна и проще в обращении в качестве серверной операционки

                                    Лично для меня — FreeBSD.

                                    Во-первых, есть три одновременно поддерживаемых ветки:
                                    6.x — для старых однопроцессорных машин;
                                    7.x — для многоядерных-CPU машин;
                                    8.x — вот-вот выйдет, сейчас находится на стадии тестирования;
                                    9 — текущая ветка разработчиков (9-CURRENT).
                                    Всё чётко и ясно.

                                    Для Linux очень много поддерживаемых ядер из семейств 2.4.x, 2.6.x, на которые трудно положиться в виду неявности/сырости драйверов и тонких особенностей сборки. Среди версий 2.6.x на Форониксе постоянно устраиваются тесты — непонятно, какое ядро версии 2.6 и в чём более эффективно окажется, а какое в пролёте. «Пролёты» достигают 30% — это говорит о нестабильности архитектуры. Ставить какое-либо ядро Linux 2.6 на сервер — это либо надо заняться изучением всех тонкостей и нюансов конкретной версии ядра, либо полностью положиться на поставщика готового решения.

                                    Во-вторых, несовсем ясно, какое окружение нужно подобрать под конкретную версию ядра Linux — ведь системные приложения часто зависят от конкретной версии ядра и конкретной версии библиотеки glibc — нестабильный системный API/ABI заявлен разработчиками Linux как сам собой разумеющийся и нужно быть готовым ко всему.

                                    Во FreeBSD прикладной и системный API/ABI в каждой из веток стабилен и совместим снизу вверх. Бинарные пакеты, собранные в FreeBSD 7.0, установятся и будут работать в FreeBSD 7.2. В конфигурации ядра FreeBSD 8.0-BETA4, например, по умолчанию включены опции совместимости:
                                    options COMPAT_FREEBSD4 # Compatible with FreeBSD4
                                    options COMPAT_FREEBSD5 # Compatible with FreeBSD5
                                    options COMPAT_FREEBSD6 # Compatible with FreeBSD6
                                    options COMPAT_FREEBSD7 # Compatible with FreeBSD7

                                    Можно установить библиотеки поддержки совместимости бинарного ПО для предыдущих версий ОС в новоую систему из портов /usr/ports/misc/compat3x...compat7x.

                                    Кроме этого, FreeBSD поддерживает исполнение бинарных программ, откомпилированных под Linux 2.4/2.6 через слой совместимости Linux ABI (линуксулатор в ядре) и ПО linux_base&linux_xorg-libs (Fedora 6..10, Gentoo), устанавливаемое из коллекции портов.

                                    В-третьих, на сервере (да и не только — домашние компьютеры тоже могут) часто организуют RAID и вообще очень активно применяют объединение жёстких дисков в различные типы хранилищ. Во FreeBSD всё это есть и поддерживается «из коробки» через подсистему GEOM на уровне ядра: RAID-0 (gstripe), RAID-1 (gmirror), RAID-3 (graid3) и всевозможные их комбинации — подсистема GEOM очень гибка: gconcat(8), gstripe(8), gmirror(8), graid3(8), geli(8), gshsec(8), gmultipath(8), gnop(8), gvirstor(8), ggated(8), geom_uzip(4) и т.д… Например, класс GEOM Virstor — практически аналог LVM2 из Linux; GEOM Gate — предоставляет физические образы носителей в RAW-режиме по сети; класс шифрования GEOM ELI используется для шифрования диска. И, что самое главное, набор команд управления в общих контектсах у них одни и те же: create, configure, list, label, load, unload, status, add, remove, destroy, reset, clear, dump — даже запоминать не надо — всё на уровне подсознания само воспринимается!

                                    В-четвёртых, в FreeBSD есть средства мониторинга безопасности системного ПО (mtree) и мониторинга уязвимости ПО, установленного из портов (portaudit).

                                    В-пятых, некоторые админы на FreeBSD 7.x экспериментируют с GPT+ZFS на слабо нагруженных и не критичных к аварии серверах (типа файлопомойки). В ветку 7.2-STABLE из 8-CURRENT в мае 2009 года наконец-то добавлена возможность загрузки с корневого раздела на ZFS. Сейчас я использую ZFS mirror, собранный из двух винчестеров по 320 ГБ, на домашнем компьютере.

                                    >Каковые основные отличия FreeBSD от Linux

                                    Основные системные сервисы на FreeBSD, как-то: NFS, FTP/SFTP, SENDMAIL, BIND, NTP, DHCP, SSH, пакетные фильтр PF, файервол IPFW уже включены в систему — доустанавливать ничего не нужно. Есть SAMBA/CIFS-клиент «из коробки». Система сразу после запуска может работать как сервер или как шлюз-маршрутизатор.

                                    Как правило, бинарные пакеты прикладного и системного ПО в Linux-дистрибутивах на одну-две версии отстают от соответствующих версий ПО в коллекции портов FreeBSD. С другой стороны, бинарная дистрибуция ПО, получение и установка бинарных пакетов для Linux быстрее в силу того, что не нужен процесс компиляции из исходников (последнее не относится к source-based дистрибутивам Linux).

                                    В FreeBSD бинарные пакеты не так популярны, потому что на публичных серверах они собраны в пакетном режиме и часто отсутствуют некоторые зависимые пакеты. В общем, собрать операционное окружение полностью из бинарных пакетов (со всеми зависимостями) вряд ли получится. Однако не составляет труда собрать всё самому! Ведь после компиляции и установки все зависимости разрешены, поэтому система предоставляет средтва создания дистрибутивных пакетов для дальнейшего распространения (например, внутри локальной сети). Пользуясь автоматическими сценариями каталога портов и заранее предопределёнными флагами сборки в файле /etc/make.conf возможно построение собственной полностью автономной и управляемой конфигурации ПО на основе бинарных пакетов. Распространять бинарные пакеты очень просто — достаточно открыть каталог $PORTSDIR/packages на чтение другим пользователям. Однако время компиляции и возможные неудачи сборки отдельных портов всё же заметны и отнимают часть ресурсов процессора и дисковой подсистемы (например, сборка OpenOffice 3.1 занимает порядка от трёх до шести часов на современных компьютерах), при этом загрузка процессора(ов) достигает 70-90%.

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

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

                                    Использую FreeBSD дома в качестве десктопа и мультимедийной станции на трёх компьютерах в домашней локальной сети. Десктоп-среда: Xfce 4.6.1 DE, программы, использующие GNOME 2.26.3, медиаинфраструктура на основе Xine и Gstreamer, OpenOffice 3.1 RU, лёгкий офис AbiWord 2.6.8/Gnumeric 1.9.12, Firefox 3.5.3/Thunderbird 2.0.0.23, jabber-клиент Gajim 0.12.5, торрент-клиент Transmission 1.74, графический редактор GIMP 2.6.6, система печати CUPS 1.3.10 для сетевого принтера HP. Для разработки использую: Sun Java 1.6/Eclipse 3.4.1. Всё ПО собрано исключительно посредством коллекции портов. А вот java-ПО, которое распротраняется в независимых от операционки форматах (JEdit 4.2, NetBeans 6.7.1 «на посмотреть», GLIPS, RSSowl, SweetHome3D и т.д.), установлено простой разархивацией из zip-архивов в домашнем каталоге.

                                    Обновления коллекции портов, основного хранилища скриптов и патчей для сборки ПО из оригинальных авторских исходников, происходят непрерывно. Раз в сутки можно получить обновления для ~5-10 пакетов, установленных в системе (десктоп обычно содержит от 500 и более установленных пакетов) — можно установить обновления все или выборочно, какие-то пакеты сделать временно необновляемыми, чтобы запланировать их обновление на более подходящее время. ПО можно обновлять как сборками из коллекции портов, так и бинарными пакетами (самосборными или с ftp-серверов FreeBSD). Не всё ПО доступно и собирается бинарными пакетами в силу лицензионных ограничений, но 97% всё же может быть получена в бинарном виде.

                                    На FreeBSD [i386] доступны драйвер NVIDIA и Wine последних версий. Так что можно запускать практически все игры, которые идут на Linux в эмуляции Windows.
                                      0
                                      Ух! Спасибо, интересно. А под FreeBSD тот же gcc?
                                        0
                                        Да. GCC 4.2.1 входит в состав системы. А GCC от версии 2.95.3 до версии 4.5.0.20090827 устанавливаются из портов.
                                        Поисковая машина по портам и пакетам ПО для FreeBSD: www.freshports.org/
                                        0
                                        >И, наконец, основное отличие FreeBSD от многих дистрибутивов Linux в том, что практически все системные настройки нужно делать вручную, вооружившись любимым текстовым редактором и подступив с ним к соответствующим конфигурационным файлам. :)

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

                                        >Как правило, бинарные пакеты прикладного и системного ПО в Linux-дистрибутивах на одну-две версии отстают от соответствующих версий ПО в коллекции портов FreeBSD.

                                        Как правило наоборот, особенно не очень популярные пакеты.

                                        P.S. Много спорных моментов описано. Очень спорных.
                                          0
                                          >Как правило наоборот, особенно не очень популярные пакеты.

                                          Сраните версии ПО, которое я привёл, с версиями ПО в своём дистрибутиве.

                                          Вот хотя бы для gtk-библиотек:
                                          % pkg_info | grep gtk
                                          gtk-2.16.6 Gimp Toolkit for X11 GUI (current stable version)
                                          gtk-engines2-2.18.2_1 Theme engine for the GTK+-2.0 toolkit
                                          gtk-murrina-fancy-clearlooks-0.5_3 Murrine fancy clearlooks themes pack
                                          gtk-murrine-engine-0.90.3_1 Murrine GTK+ 2.x cairo based engine
                                          gtk-xfce-engine-2.6.0_1 An XFCE engine for GTK 2.0
                                          gtkmathview-0.8.0_1 A GTK Widget to Render MathML Documents
                                          gtkmm-2.16.0_1 C++ wrapper for Gtk+, Pango, Atk
                                          gtksourceview2-2.6.2_1 A text widget that adds syntax highlighting to the GtkTextV
                                          gtkspell-2.0.15_1 A GTK+ 2 spell checking component
                                          poppler-gtk-0.10.6_1 Gtk bindings to poppler
                                          py26-gtk-2.14.1_1 A set of Python bindings for GTK+
                                          py26-gtksourceview-2.6.0_1 A python bindings for the version 2 of the GtkSourceView li
                                          transmission-gtk2-1.74 A fast and lightweight GTK+2 BitTorrent client
                                          webkit-gtk2-1.0.1_8 An opensource browser engine
                                            0
                                            mplayer

                                            bsd: 0.99.11_14
                                            debian: 1.0~rc2-17
                                              0
                                              А что с Gtk-библиотеками в Debian?
                                                0
                                                с гтк похуже согласен.
                                                  0
                                                  хотя все зависит от того в какую ветку смотреть. stable/testing/unstable/experimental.
                                                  0
                                                  mplayer 1.0 ещё не выпустили. Порт кандидата в релизы можете предложить мантейнеру riggs@rrr.de.
                                                    0
                                                    и надеяться на то что он его соберет :) а самому порт сделать религия не позволяет (был у нас такой админ)
                                                      0
                                                      Да нет же!

                                                      Порты — это не пакеты.
                                                      Порт — это сценарий сборки, скрипты и патчи, которые позволяют собрать ПО из исходников. В силах мантейнера рассмотреть предложенный порт, попробовать его собрать на тестовой конфигурации и, в случае успеха, включить его в основную ветку категорий ports/multimedia под именем mplayer-devel.
                                                        0
                                                        Это я понимаю. Но ведь на mplayer уже есть мантейнер, сможет ли его сместить кто-нибудь? :) Например в macports так делать нельзя. Во всяком случае до тех пор пока он не откажется.
                                                          0
                                                          Должность мантейнера — выборная. Только команда мантейнеров портов и коммитеров операционной системы могут решать важные вопросы по включению того или иного ПО в состав системы, распространяемой централизованно.

                                                          Не хотите предоставлять порт — вас никто не уговаривает. Делаете собственный порт, собираете и устанавливаете ПО у себя и в своей организации — делиться необязательно. Ведь порт представляет сценарий установки, а не изменённую версию авторского ПО (которое может быть распространяться по пермиссивной лицензии).

                                                          Здесь каждый волен выбирать.
                                              0
                                              >Много спорных моментов описано. Очень спорных.

                                              Например?
                                                +1
                                                >Во FreeBSD прикладной и системный API/ABI в каждой из веток стабилен и совместим снизу вверх.

                                                А нужна ли такая совместимость?

                                                >Ставить какое-либо ядро Linux 2.6 на сервер — это либо надо заняться изучением всех тонкостей и нюансов конкретной версии ядра, либо полностью положиться на поставщика готового решения.

                                                Я наверное как всегда сделал что-то не так и не получил проблем ни с одним ядром из серии 2.6
                                                  0
                                                  >Я наверное как всегда сделал что-то не так и не получил проблем ни с одним ядром из серии 2.6

                                                  Видимо да. Наверно вы опытный администратор и целиком и полностью полагаетесь на поставщика готового решения.
                                                    0
                                                    поставщик готового решения = kernel.org
                                                      0
                                                      kernel.org поставляет только «ванильные» версии Linux-ядер. Поставщики готовых решений никогда не используют их, а проводят собственную оптимизацию и перекомпилирование исходников ядра Linux.
                                                        0
                                                        я имел ввиду что для меня это поставщик «готового решения». взял исходники и собрал.
                                                          –2
                                                          Это называется метод Linux From Scratch. В этом случае гарантия работоспособности ПО, которое будет использовать самосборное ядро, лежит на вас. А учитывая нестабильность системного Linux API/ABI, это даётся нелегко.
                                                            0
                                                            И все-таки мы ушли в оффтоп :) В любом случае, если есть возможность холивара на какю-то тему, значит не все так просто :) А это значит что не ответа на вопрос — Linux vs FreeBSD. Каждый волен выбирать что хочет, а мне пора уходить из дома…

                                                            /wave
                                                    0
                                                    >А нужна ли такая совместимость?

                                                    Стабильные интерфейсы не приводят к «поломкам» ПО, чего нельзя сказать о нестабильных интерфейсах.
                                                      0
                                                      Опять же можно возразить. Никаких поломок если все делать через apt-get install.
                                                        0
                                                        Естественно — apt-get install предназначена специально для установки заранее подготовленного совместимого поверсиям ПО.

                                                        Но в других дистрибутивах Linux используются другие похожие инструменты, призванные оградить пользователя от установки несовместимого ПО.

                                                        FreeBSD предоставляет системные утилиты менеджмента прикладного ПО, а коллекция портов представляет сценарии сборки ПО из оригинальных исходников и управление версиями.
                                              0
                                              Ах да. И, собственно, о главном — об отличии написания под виндоус. Все просто — под виндоус ты писал программу, которая использовала некоторые библиотеки — ты эти библиотеки пихал прямо в сборку программы и собирал один большой кусок. В линуксе же принято иначе, — ты пишешь программу, а затем создаешь .deb/.rpm, где описываются библиотеки и их версии.

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

                                              Проблемы:
                                              — если дистрибутив решит использовать новую версию (ветку) библиотеки — все может сломаться. Поэтому надо пилить (если нужна максимальная кросс-дистрибутивность)
                                                0
                                                Система PBI в PC-BSD позволяет использовать одновременно ПО разных версий, библиотеки которых «конфликтуют». То есть в обычном случае BSD/Linux имеется унифицированная среда с чётко определёнными версиями уникальных библиотек и приложений, а в случае с PBI-системой используются изолированные среды исполнения программ, которые не мешают друг другу и не «ломают» друг друга.
                                                  +2
                                                  <~DileSoft>, вот видишь как все хорошо.
                                                    0
                                                    В линуксе без проблем можно сделать тот же PBI (вон, Опера прекрасно выпускает обе версии, со встроенными библиотеками и без), а недавно во всех новостях даже была такая вещь представлена (не помню как называется). Просто это не очень правильный путь развития. Если уж сииильно хочется — надо делать как Опера, но в реальности — ничто не мешает заранее писать программу так, чтоб она работала в следующем выпуске всех ос.
                                                      0
                                                      Это — не то. Статическая компоновка всех необходимых библиотек с приложением предполагает перекомпиляцию приложения.

                                                      PBI же представляет собой архив библиотек, который разворачивается в отдельный каталог (он мог бы развернуться в общий каталог, но тогда бы затёрлись существующие библиотеки других версий).
                                                        0
                                                        Специально ради вас вспомнил. Application Bundles (http://www.linux.org.ru/view-message.jsp?msgid=4022250).
                                                  0
                                                  a1. Slackware. Идеологически.
                                                  Один раз настроил — живёт вечно.

                                                  a2. vim/mcedit, gcc, gdb, strace

                                                  a3. Отсутствие документации к некоторым библиотекам :)
                                                  Приходится восстанавливать по исходникам.
                                                    0
                                                    Какое наиболее доступное решение, чтобы запустить Linux на машине с Windows? Как насчет portable Ubuntu? Кто-нибудь пользуется, можно ли вести полноценную разработку?


                                                    По мне — так самое крутое решение — Wubi. Независимо от того, какая винда у вас стоит, вы просто при загрузке машины выбираете, что грузить — винду или линух.

                                                    А потом, при желании, из под винды удаляется в один клик линух.

                                                    Одно НО — Wubi поддерживает только Ubuntu-семейство

                                                    Only users with full accounts can post comments. Log in, please.