LINUX.ORG.RU

Как избавиться от проблем установки ПО в GNU/Linux

 


0

0

Установка программ в GNU/Linux всё ещё создаёт жуткие проблемы. Почему так происходит и что можно сделать для исправления ситуации? Тони Мобили (Tony Mobily) предлагает свой вариант управления программным обеспечением в Линукс.

>>> Подробности

★★★

Проверено: Shaman007 ()
Ответ на: комментарий от Toll

>Классно, но программу для венды я могу скачать без предварительного шаманства в виде генерации скрипта

в случае отсутсвия интернета? ровно столькоже гемора, еще тя послать могут ибо им кряк будет искать лениво

>или тупо скачать один статически слинкованый бинарник - это плохо?

это нормально, но не нужно, хочешь бери собирай... если это кому-то нужно, тебя подддержат, сделаешь свой сайт с такими сборками, будет радость.

TyhDyh
()
Ответ на: комментарий от kernel

>То есть , поясняю, в настоящий момент почти весь софт в линуксе "системный" он же "дистрибутивный". Это аналогично ситуации если бы весь софт которым бы пользовались в винде сразу входил в XP/висту.

Ты настолько тупой, что это даже не смешно.

S_wine
()
Ответ на: комментарий от iZEN

> Снова Linux (Gentoo, ага). На FreeBSD такой проблемы нет

Или Linux с BSD сравнивай, или конкретный дистрибутив BSD с конкретным дистрибутивом Linux.

mv ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> В дебиане настолько все, что я даже сомневаюсь, есть ли ценный незаброшенный софт вне дебиана :-)

Бывает, гентушники находили примеры.

sv75 ★★★★★
()
Ответ на: комментарий от Toll

> Где бы я его в генту мог увидеть? :)

# emerge -pv alien

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild R ] app-arch/alien-8.74 USE="bzip2" 0 kB

shell-script ★★★★★
()
Ответ на: комментарий от Igron

> Давай в качестве эксперимента попросим твою девушку самостоятельно установить 3 версии оперы на Ubuntu 8.04.2. Что скажешь?

А давай попросим его же сделать это на винде? А потом ещё попросим объяснить дедушку, зачем ему это надо, ага?

shell-script ★★★★★
()

Автор сего юмористического опуса либо человек с хорошим чувством юмора, либо клинический идиот. Склоняюсь к второму варианту...

kernelpanic ★★★★★
()
Ответ на: комментарий от Zodd

> Дальше читать не стал ибо бред.

Господин идиотик, так работают _все_ современные бинарные сборки , в том числе (и особенно) коммерческого софта. :) Либо пускаются из архива либо пускают инсталлятор который прописывается в rpm. Посмотрите например сборку опенофиса.

И работали эти тарболлы так в линуксе и раньше, задолго еще до вашего рождения :) А если вы таки родились позже, то точно также работали в юниксе. Точно до вашего рождения :)



kernel ★★☆
()
Ответ на: комментарий от S_wine

> Ты настолько тупой, что это даже не смешно.

Агрументы будут ? ;) Или новое поколение мутантов-линупсоидов (линуксоиды и красноглазые остались в далеком прошлом) уже вообще осиливает фразы только двух видов "я скомпилял ххх. смотрите какой длинный мой мпх" и "КГ/АМ" ? Фи :)

kernel ★★☆
()

Ксати к теме тарболлов - статически слинкованный бинарник это уже серьезный перегиб. LD_LIBRARY_PATH , -rpath решит ту же проблему. И позволит эти .so делить если это нужно. И позволит кстати использовать ситемные библиотеки по выбору.

kernel ★★☆
()
Ответ на: комментарий от qnikst

> вопрос в том, зачем девушке 3 верси браузера, если это нужно для работы значит она разберётся или найдёт время/деньги на то, чтобы получить решение.

Девушка -- веб-дизайнер, к примеру.

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


Как вариант, давайте улучшим положение вещей и будем двигаться в сторону пользователей. Например, как с помощью GUI установить deb-ку в свой домашний каталог?

Igron ★★★★★
()
Ответ на: комментарий от shell-script

> А давай попросим его же сделать это на винде? А потом ещё попросим объяснить дедушку, зачем ему это надо, ага?

Девушку, а не деда. Думаю, что на венде она с большей вероятностью справится с этой задачей, даже если у нее не будет прав писать в Program Files.

Igron ★★★★★
()
Ответ на: комментарий от Igron

> Думаю, что на венде она с большей вероятностью справится с этой задачей, даже если у нее не будет прав писать в Program Files.

А в чём-таки проблема распаковать три различные tar.gz в различные директории?

really_localhost
()
Ответ на: комментарий от Igron

> Например, как с помощью GUI установить deb-ку в свой домашний каталог?

ээээ, нет. Раз уж стали делить софт на "пользовательский" и "системный", то идём до конца. deb - это системный софт.

really_localhost
()
Ответ на: комментарий от www_linux_org_ru

> Вовсе не поэтому. Основных дистров всего 3, есть alien -- короче,
> сбацать нормальный пакет не проблема, а иметь несколько версий

> браузера -- это экзотика. Так что никому эта технология не нужна.

> Разрабы ведь тоже живут в каком-то дистре, хотят чтобы там был их

> пакет => осиливают пакет.

> Кроме того, установка именно в систему дает возможность докласть

> разных скриптов в /etc/*.d/


И как ваши агументы противоречат моим ? Конечно массам в настоящий момент эта "технология не нужна" Тем кому она нужна ее пользуют. И их мало так как мало ISV которые не могут войти в дистрибутивы например по причине того что софт коммерческий. А разрабы FOSS просто входят в дистрибутив который им нравится. О чем я и писал.

alien указанных проблем вообще не решает, он для частных случаев. Зависимости то все равно остаются. То есть если дистрибутив немного собран по другому то автоматического конверта не получится. И проблему запуска из директории юзера или "распаковал в /usr/local / запустил" тоже не решает.

И с "докласть в /etc/*.d" вполне справляются инсталляторы коммерческого софта, сюрприз. Для это вот, в том числе, и существует lsb,fhs и прочие стандарты типа SYSV rc.d.

Еще раз повторюсь - никто не предлагает _заменить_ use case репозиторий+aptget/yum. Огромные дистрибутивы линукса это нормально для FOSS модели. Предлагается добавить к ним еще use case использование которых затруднено сейчас. И добавить не на уровне дистрибутивов. А на уровне пользователей. Не имеющих рутовые права, в том числе.

И опять же, никто не говорит про то что нужны какие то "стандарты для дистрибутивов", что бы это было возможно. Софт ISV как бы специально создается из предположения невозможности влиять на политику дистрибьютора, будь это микрософт или редхат. И опять же, никто даже не предолагает собирать эти пакеты разрабам - при наличии потребности и удобства они сами все соберут.
Так что если что то нужно - это будет.

Все механизмы в API существовали еще до рождения половины линупсоидов из этого треда. Лидеры FOSS прямо и неоднократно делали все для поддержки этого механизма, о чем заявляли прямо. Это всю жизнь так и называлось, "что то было сделано в линукс для поддержки ISV", погуглите. Например на уровне системных вызовов, там где и должна бытть стабильность - там все огого как стабильно.

Естественно вещи типа стандартизации набора библиотек, "стабильное API" и прочее не совсем укладывающаяся в модель FOSS получается хреново. Только вот в линуксе "система" в терминах вендузятнеков это дистрибутив и есть. И например в федоре и сузи, старые пакеты неплохо ставятся на новые дистры - это совместимость и есть.

kernel ★★☆
()
Ответ на: комментарий от Igron

> Девушку, а не деда. Думаю, что на венде она с большей вероятностью
> справится с этой задачей, даже если у нее не будет прав писать в

> Program Files.


Поставить несколько эксплореров гораздо легче в линуксе, это я вам отвественно заявляю. Так как там это все ставится одним скриптом и в разные регистри, в результате не конфликтуя друг с другом. Но делается это естественно не пакетным менеджером а благодоря гибкости wine

kernel ★★☆
()
Ответ на: комментарий от kernel

> Базовым же методом должен быть "распаковать и запустить", даже без инсталляции - как firefox. Если же в системе есть сотв указания , например в конфиге и есть права доступа пакет должен прописать себя в rpm базу. Или в 0install или в autopackage директорию для разделяемых между ними библиотек.

И куда будут ставиться такие пакеты? Установленный пакет будет доступен только пользователю или всем пользователям? Если всем - а всем оно точно надо?

elzhov
()
Ответ на: комментарий от elzhov

> Базовым же методом должен быть "распаковать и запустить", даже без инсталляции - как firefox.

Сейчас вообще-то практически всегда так и есть.

> Если же в системе есть сотв указания , например в конфиге и есть права доступа пакет должен прописать себя в rpm базу.

А вот это уже мягко говоря лишнее, не нужно мешать системный и пользовательский софт - ни к чему хорошему это не приведёт.

really_localhost
()
Ответ на: комментарий от kernel

> Еще раз повторюсь - никто не предлагает _заменить_ use case репозиторий+aptget/yum. Огромные дистрибутивы линукса это нормально для FOSS модели. Предлагается добавить к ним еще use case использование которых затруднено сейчас. И добавить не на уровне дистрибутивов. А на уровне пользователей. Не имеющих рутовые права, в том числе.

Избирательные админские права для *привилегированных* пользователей (а не всех подряд, коим вздумалось наставить софта) предоставляются через sudo. Или недостаточно?

elzhov
()
Ответ на: комментарий от elzhov

> И куда будут ставиться такие пакеты? Установленный пакет будет
> доступен только пользователю или всем пользователям? Если всем - а

> всем оно точно над


Не не не. Он не будет "ставится". Он будет прописывать свою текущую установку в rpm базу. Возможно в пользовательскую где то в /home/user/.../rpm . Если хозяин системы этого захочет. О чем сообщит например в /etc/binary_tarbolls/default.config и в ~/.binary_tarbolls/default.config . При запуске пакет прочитает что там желает админ, и будет вести себя соотвественно. Если же такого конфига нету - то он ничего делать не будет. Будет просто запускатся.

Сооствественно если я распаковал пакет в /usr/local то и пользоватся им смогут все. И логично что он попадет в базу rpm. Что бы его оттуда можно было стандартно удалить тем кто этого жаждет.

Никто собственно даже не мешает перепаковать этот tarboll в rpm средствами tarboll и разместить в локальном репозитории. Естественно все это в предположении что админ/юзер не хочет или не может воспользоватся дистрибутивным пакетом для этого софта.

kernel ★★☆
()
Ответ на: комментарий от really_localhost

> Сейчас вообще-то практически всегда так и есть.

О чем я и говорю.

Просто некоторые пакеты типа опенофиса и коммерческого софта посложнее пошли таки дальше, это факт.

>> Если же в системе есть сотв указания , например в конфиге и есть права доступа пакет должен прописать себя в rpm базу.


> А вот это уже мягко говоря лишнее, не нужно мешать системный и

> пользовательский софт - ни к чему хорошему это не приведёт.


Линукс это система где каждый решает за себя сам, в этом смысл свободы :).

Пакет, естественно, ничего такого делать САМ не должен - если не найдет ясных и недвусмысленных указаний. Хочешь что бы прописывался - скажи ему об этом в глобальных или локальных конфигах. Вот тут нужен некий стандарт что бы пакеты вели себя по человечески. Естественно пакет собирает сборщик - он может всегда покласть на стандарт. Но тут ничего не поделать - не используйте таких пакетов.

И кстати rpm база может быть пользовательской и стоять где то в ~/. Или быть не общесистемной, а общей для подобного софта, зашаренная между использующим ее групоой тарболлов - как в 0installl, где по такой схеме библиотеки шарятся.

kernel ★★☆
()
Ответ на: комментарий от kernel

> И кстати rpm база может быть пользовательской и стоять где то в ~/.

Это был бы суперсолюшн, ИМХО. Только ещё надо вбить всем в голову, что конечным продуктом является не пакет, а репозиторий.

really_localhost
()
Ответ на: комментарий от elzhov

> Избирательные админские права для *привилегированных* пользователей
> (а не всех подряд, коим вздумалось наставить софта) предоставляются

> через sudo. Или недостаточно?


Недостаточно. sudo это если вы хотите помошника-админа прописать. Риски, опять же. Запуск софта из принесенного с собой(скачанного) тарболла это не админская операция. Хотите ее отключить - noexec в fstab или selinux/... настройки.

Тут пробегал олдфаг vitus с рассказами о том как он в суровых 80-х :) ставил много-много софта компиляцией из исходников в свой хомяк. И он такой был не один - смею вас уверить. То есть он удовлетворял ту же самую потребность более сложным способом.

По этому то что предлагается( и что уже есть) это для того чтобы таким софтом мог воспользоватся не только олдфаг vitus, а и юзеры неспособные перекомпилять весь gnu для своих целей. И собственно те кто может перекомпилять, но не хочет тратить на это усилия.


kernel ★★☆
()
Ответ на: комментарий от really_localhost

> Это был бы суперсолюшн, ИМХО. Только ещё надо вбить всем в голову,
> что конечным продуктом является не пакет, а репозиторий.


Да можно и не вбивать. Нужно только вбить в голову что репозиторий это ТОЖЕ продукт, а это гораздо проще. И кстати ooffice так и делает при инсталляции - создает свою rpm базу.

И еще раз, use case распаковал/запустил ортогонален и независим от user case для пакетных манагеров. Противоположная часть спектра. Другая крайность, относительно репозиториев.

kernel ★★☆
()
Ответ на: комментарий от mv

>Или Linux с BSD сравнивай, или конкретный дистрибутив BSD с конкретным дистрибутивом Linux.

У BSD нету дистрибутивов. BSD — это отдельные самодостаточные операционные системы (PC-BSD является FreeBSD, кто не в курсе).

iZEN ★★★★★
()
Ответ на: комментарий от mv

> Запустите мне RedAlert2 на XP. Под wine работает, под XP нет, что за порнография, за что деньги уплочены?

Даже RA1 запускается.

Nxx ★★★★★
()
Ответ на: комментарий от kernel

> Не не не. Он не будет "ставится". Он будет прописывать свою текущую установку в rpm базу. Возможно в пользовательскую где то в /home/user/.../rpm

То есть, какая-то часть rpm будет в конфиге у пользователя в директории, хорошо. Пользователь поставил к себе какое-то приложение, которое зависит от какой-то библиотеки из основного (системного) rpm. Далее, root вдруг хочет убрать эту библиотеку, и никакие пользовательские конфигурации в домашних директориях этому не помешают (ни один процесс, запущенный от рута, не "шарит по карманам" пользователей :)), а пользовательские rpm'ки, установленные локально в /home, работать перестанут.

elzhov
()
Ответ на: комментарий от Nxx

попробуй запустить Settlers 4 на XP, особенно на nVidia 8 серии, что, не вышло? а под вайном прекрасно работает

PayableOnDeath
()

"У вас проблемы с установкой есть? Нету?! И у меня нету.. Но раз есть, значит будем менять все.."

LightDiver ★★★★★
()
Ответ на: комментарий от elzhov

>.. них директориях этому не помешают (ни один процесс, запущенный от
>рута, не "шарит по карманам" пользователей :)), а пользовательские

>rpm'ки, установленные локально в /home, работать перестанут.


Вы совершенно не поняли фишки.

Во первых тарболл уже сделан из расчета что он опирается только на основные библиотеки. Чтобы его можно было распаковать и запустить. Он конечно может опционально проверять наличие нужных версий чегото в системе и использовать их - для того чтобы меньше жрать ОЗУ. Но проверяет при каждом запуске. Если внезапно не найдет майкуллиб.so, использует ее из своей поставки. Если же рут похерит gtk или xlib - ССЗБ. Выведет printf'ом текст - "ваш одмин - идиот". :) И это будет не баг - это фича такая. Основные библиотеки это кстати LSB и есть. Для этого как раз и придумали. Если ваша система не LSB, опять же - ССЗБ. Ну или специальный тарболл со всеми нужными библиотеками. Который будет найден при запуске проги, и с которым она будет линковатся.

Во вторых, никто не мешает тарболлу отмечатся в ~/.binary_tarboll/installed/ своим файлом. В котором написано где его директория, в которой вся необходимая инфа. Так что бы плагин к yum/apt мог написать "вы хотите похерить libmycool.rpm ? А его юзает юзер вася для проги в своем хомяке. Плюнуть на Васю да/нет ?"

То есть работать такие проги перестанут только в том случае если админ - действительно ССЗБ.

И в третьих - тут мы подходим к тому что можно держать пользовательские rpm-базы так чтобы они были видны rpm вообще. Но это правка дистрибутивов а значит пока не реально.


kernel ★★☆
()
Ответ на: комментарий от sv75

>> В дебиане настолько все, что я даже сомневаюсь, есть ли ценный незаброшенный софт вне дебиана :-)

> Бывает, гентушники находили примеры.

"незаброшенный" важное слово. А то бывает вижу интересные поделки (например, добавлени паттерн матчинга к с++) которые последний раз компилировались жцц 2.95. Понятно, что их в дебиане нет :-)

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от kernel

> И их мало так как мало ISV которые не могут войти в дистрибутивы например по причине того что софт коммерческий.

ISV с комм. софтом не надо входить в дистрибутив. А вот сделать нормальные пакеты они могут (и делают, как касперский например). И это вендору несущественно сложнее и лучше, чем заморачиваться с неизвестной необкатанной технологией.

> alien указанных проблем вообще не решает, он для частных случаев.

alien решает до определенной степени проблему разных дистров -- для одного делаешь пакет сам, для других конвертишь.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от kernel

> Поставить несколько эксплореров гораздо легче в линуксе, это я вам отвественно заявляю. Так как там это все ставится одним скриптом и в разные регистри, в результате не конфликтуя друг с другом. Но делается это естественно не пакетным менеджером а благодоря гибкости wine

Вы имеете в виду ies4linux? Это, как минимум, незаконно.

Igron ★★★★★
()
Ответ на: комментарий от really_localhost

> ээээ, нет. Раз уж стали делить софт на "пользовательский" и "системный", то идём до конца. deb - это системный софт.

Имхо, .deb - тупо архив.

Igron ★★★★★
()
Ответ на: комментарий от really_localhost

> А в чём-таки проблема распаковать три различные tar.gz в различные директории?

Т.е. девушка справится? Скачает с офсайта сама и распакует?

Igron ★★★★★
()
Ответ на: комментарий от Igron

> Имхо, .deb - тупо архив.

ОК. Тогда в винде прошу проделать то же самое с MSI.

really_localhost
()
Ответ на: комментарий от Igron

> Т.е. девушка справится? Скачает с офсайта сама и распакует?

с виндовыми как-то же справляется

really_localhost
()

странно, проблем не ощутил и не ощущал. программы я передаю ссылкой на деб пакет, переписываю деб пакет на флешку или говорю название проги в репе. или вы как-то по-другому представляете это?

bernd ★★★★★
()

Во-первых, все дистрибутивы фактически из коробки потому, что привязаны к одному ядру и библиотекам. Поставьте Вмваре и создайте новый Линукс если в этом есть нужда проверить какие-нибудь новые или старые программы. У меня ядро 2.6.18 и при переходе на ядра 2.6.24 и 2.6.30 нужно менять и переписывать все программы дистрибутива.

Во-вторых, только админ, если компьютер многопользавательский, может ставить новые программы. Зачем же тогда пишут эксплоиты?:-)

В-третьих, именно из-за системы доступа к файлу интернет еще существует и на Линукс не написали миллион вирусов как в Виндовс.

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

VitS
()
Ответ на: комментарий от VitS

> У меня ядро 2.6.18 и при переходе на ядра 2.6.24 и 2.6.30 нужно менять и переписывать все программы дистрибутива.

С чего вдруг?

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


У тебя никогда такого не было, что драйвера с дискете/cd к свежекупленной сетевой карте не подходят (хз, почему), и нужно тянуть драйвер из интернета самостоятельно. А карту как раз покупал для того, чтобы можно было в интернет выйти?

Последнее, что было куплено с драйвером для вендов - конвертер usb<>rs232, драйвер не заработал.

mv ★★★★★
()
Ответ на: комментарий от mv

> У меня ядро 2.6.18 и при переходе на ядра 2.6.24 и 2.6.30 нужно менять и переписывать все программы дистрибутива.

С чего вдруг?

Во-первых, юникод и изменения в файеволе, а во-вторых, меняется форма драйвера. Недавно не мог собрать драйвер сетевой et131x. Оказывается форма от 2.6.2 до 2.6.14 одна от 2.6.16 до 2.6.19 другая, а от 2.6.20 третья. Что там дальше не знаю.

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

У тебя никогда такого не было, что драйвера с дискете/cd к свежекупленной сетевой карте не подходят (хз, почему), и нужно тянуть драйвер из интернета самостоятельно. А карту как раз покупал для того, чтобы можно было в интернет выйти?

Я же не дописал - начиная с ВинНТ установить драйвер может только суперпользователь! А автор об этом забыл.:-) Если бы в Виндовс все сидели юзерами и выполняли бы хоть элементарные правила - автор бы такой чуши не писал о легкости установки программ в Виндовс.

VitS
()
Ответ на: комментарий от elzhov

> Я, похоже, в самом деле не догоняю. "Тарболл" - это что, общая,
> "системная" часть репозитория?


Тарболл это .tar (или tar.gz) , архив с программой . Бинарный тарболл - архив со скомпилированной программой. То что вы можете просто распаковать в каталог и запустить - такие есть например для оперы или фаерфокса. :)

kernel ★★☆
()
Ответ на: комментарий от VitS

> Во-первых, юникод и изменения в файеволе, а во-вторых, меняется форма драйвера.

Во-первых, ядро - не юникодное и про юникод ничего не знает (само по себе, не беря во внимание отдельные вещи типа cifs и пр.). Во-вторых, если под "формой драйвера" имеется в виду ABI, то, да, ABI меняется. Но это всё ядро, а обычным программам дела до ядра нет. Проблемы возникают, когда в каких-то аспектах несовместимо меняется семантика системных вызовов и эти изменения отражаются на множестве программ, но с такими вещами Линус борется в весьма жёсткой форме.

Более того, не у всех и не всегда возникают проблемы при смене платформы, скажем, RHEL-4 -> RHEL5, когда в системе меняется вообще всё.

mv ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> ISV с комм. софтом не надо входить в дистрибутив.

Думаешь Касперский отказался бы войти в дистрибутив если бы ему заплатили бы за каждую инсталляцию его продукта ? Да неужели !

> А вот сделать

> нормальные пакеты они могут (и делают, как касперский например).


А другие ISV делают еще и нормальные тарболлы.

> И это вендору несущественно сложнее и лучше, чем заморачиваться с

> неизвестной необкатанной технологией.


Блин, еще раз. Я не предлагаю вендорам эту технологию. Я говорю что ее нет потому что вендоры не озаботились ее созданием - так как именно им она как бы нужна больше всего. А не озаботились потому что их мало - и они кто в лес кто по грибы. А кто в rpm. И они к тому же не десктопные еще. Для серверного софта понятно что его админ ставить будет - юзеры о нем не знают.

kernel ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.