Автор Alex Versetty задал вопрос в разделе Программное обеспечение
Кто знает почему в одном дистрибутиве Линукса одна прога работает, а в другом не хочет? и получил лучший ответ
Ответ от Владимир Б.[гуру]
Самые потрохи любых программ, любых операционных систем и вообще всего софта - это исходный код. В простонародии сорцы. Это относится и к Windows, и к Linux, и к Macintosh, и к Solaris, и к <вставить любую систему, даже Dendy/Sega>.
Сорцы это программа в том виде, котором ее писал программист, понятном и легко читаемом человеком.
Сорцы следующим шагом с помощью компилятора/линкера собираются в язык понятный аппаратуре/системе(например, чтобы быстрее работал под Core2Quad - та самая пресловутая оптимизация.) и все, становятся программой, которую можно запускать. Сам процесс сбора программы из сорцов достаточно ресурсоемкий.
Хочешь чтобы венда при старте называла себя Windows 9? А вот и не выйдет. Дело в том, что под венду сорцов не встречается. Поэтому и не известно что всетаки она творит и как найти и самостоятельно исправить <вставить сюда любую трудную задачу> без помощи мелкософт.
А также поэтому все вирусы/шмырусы появляются.
Линукс линуксу на этом плане рознь. Хотя программы на всех разных линуксах как правило всегда одинаковые, подходы к их установке диаметрально противоположны. Плохово ничего нет, просто каждому подходу - своя цель. Что для одного хорошо - другому яд.
Debian и его производные(Ubuntu) используют пакетный принцип. Пакеты это программы, уже собранные под конкретную версию(и поэтому быстро устанавливаемые), сжатые в архиве(для Debiana - .DEB, для RedHat(Mandriva,Centos,OpenSuSe) - .RPM) которые знают о зависимостях(например музыкальному проигрывателю надо чтобы стояла аудио система ALSA). Еще один плюс такого подхода - модулярность(например хочется офис, но не хочется документацию к нему). Все программы находятся и устанавливаются через так называемый репозитарий(в простонародии репы). Вся работа сводится к нахождении программы в списке и пометки ее на установку. Все остальное - автоматика. Процесс установки очень, очень быстр. Можно устанавливать/удалять без следов. НИЧЕГО САМОМУ КАЧАТЬ С САЙТОВ НЕ НУЖНО!! Обратная сторона медали - неполучится закроить чтонибудь свое такое изкоживон выходящее, без дополнительных телодвижений. Кроме того форматы .DEB(Debian,Ubuntu) и .RPM(RedHat,Centos,Opensuse,Mandriva) разные. Есть конвертер - Alien, но пользоваться В КРАЙНЕМ случае, всегда пытаться искать родной формат.
Более того, подчас .RPM от RedHat не ставится в Opensuse. Банально потому что в Opensuse папка подругому называется.
Имея сорцы можно сотворить с программой что хочешь. Достаточно популярный вид линукса Gentoo(также LFS,Lunar,Arch,Sabayon) именно так и работает - практически все собирается из исходных кодов и даже есть инструменты чтобы облегчить работу в этом плане. С такой системой можно творить буквально все что хочешь и краить как хочешь. Она будет быстро запускаться, будет иметь исключительно то что хочешь итд. Обратной стороной медали являются затраты твоего времени(ведь тебе говорить что добавлять, а что нет), затраты машинного времени (к примеру установка OpenOffice - 1 день, против 10 минут на Debian), необходимые знания. Смотри по задачам.
Программы в форме исходных кодов работают практически на любой системе и архитектуре(если предусмотрено программистом).
Общий путь программы от исходных кодов до непостредственно кода на конктретной машине и операционной системе:
(макс тюнинга, макс времени на возню) Исходный код>>>>>Пакеты(.Deb,.Rpm.,.Tgz)>>>>>>>>Запускаемый одним нажатием код.(нет возм. тюнинга,но и ноль возни)
Теперь главный вопрос. Почему ни как в венде? Почему не одним кликом? Это сделано специально. Дело в том, что Linux очень модулярная и динамичная система. Частей много, обновляются они очень часто. Тут не надо иметь directx 5, 7,8,9,10 чтобы играть в NFS2 и Crysis. Тут всегда самый последний directx( на linux это OpenGL). При создании из исходников, компилятор это видит и соединяет с нужным.
Именно по этому вирусы для конкретного Linuxа писать сложно. А массово заразить - невозможно. У одного то, у другого cё, у этого той в
distrowatch.com
В этих Линуксах вообще ничего хорошего нету, если приглядеться.
мож сборки разные? или версия ядра?
2 Alex VersettyПотому что разные форматы этих самых "программ". Одни используют deb, другие - rpm или еще что-то. Не в своей тарелке пакет другого формата работать никак не будет.2 СергейЛамер.
в линуксе совсем другая философия установки программ. Не надо лазить по интернету в поисках программы. Они уже собраны в репозитории (или порты) дистрибутива. Ставьте их оттуда. Правда, в репозитории программа может быть устаревшей, но это на совести мейнтейнеров
Потому что в одном дистрибутиве один набор был установлен библиотек, а в другом другой. Если не хочешь разбираться с разрешением зависимостей, то устанавливай убунту/кубунту, там конечный пользователь по сути может даже и не понимать, что при установке того или иного пакета решается еще и удовлетворение зависимостей.
Код хемминга
Блин 15 минут потратил чтобы понять что это такое... 😉
Если есть uniх, то на перле -
подробнее...
установка програм в linux
И что? Вам рассказать как? Боюсь ограничение в 4к символов не даст мне объяснить всё популярно - но
подробнее...
что тако биоценоз?
Биоценоз (от био - жизнь и греч. koinos — общий) , исторически сложившаяся совокупность растений,
подробнее...
Существует ли аналог Reaver на Windows?
нету, это чисто линуковая программа, ну сорцы есть, если что, если мазохист. .
да
подробнее...
Подскажите какой Linux дистрибутив на ноутбук выбрать? Быстрый и мало потребляющий - gentoo или archlinux?
Короче так. Если у тебя ноут:
- с минимум двумя ядрами и
- от 2 гигов, и
- очень
подробнее...
Сколько получает программист (Java ME) в Питере?
все зависит от сложности программы, либо это тип "HelloWorld!" либо это 3D-программа, например
подробнее...
Помогите, LINUX!!! Установка tar.gz. КАК!?!
распаковываем:
tar -xvvzf Ы. tar.gz (-С /куда распаковывать)
заходим в директорию куда
подробнее...
Майнкрафт/Sashok724 Прошу Помочь !
О, норм вопрос.
"Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m;
подробнее...
Как поставить GCC на Linux?
хм... а где ты Мандриву порубленную нашел ?
Вообще-то GCC всегда по умолчанию стоит...
подробнее...