LINUX.ORG.RU
ФорумTalks

окололинуксовый юмор.

 воскресный юмор


2

1

а вы уже посмеялись над очередным «экспертом» «знающим как надо» устанавливать программы в линуксе?

этот бред можно прочитать на хабре: http://habrahabr.ru/post/152841/

ps. для Ъ переносить это на лор мне совесть не позволяет.

★★★

Ответ на: комментарий от Q3164

Взял пользователь и написал под рутом make install. Как ему помешают права доступа?

Рута у пользователя надо отобрать. Сказано же - установщик должен быть единый, находиться в ядре и устанавливать только из Marketplace!

om-nom-nimouse ★★
()
Ответ на: комментарий от rnz

несомненно
/var/db/971be390-0af9-11e2-ac09-001a80593a0c
/var/lib/9c6ba448-0af9-11e2-910e-001a80593a0c[br намного прозрачнее! Прямо взглянул и всё ясно. Ты сейчас скажешь «но у меня же есть база данных programname-id» и «id-files». Так что тебе мешает иметь одну базу programname-files (что уже есть). Зачем нужны лишние сущности? Более того зачем нужны эти лишние сущности в ядре?

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

А да, а что будет если случайно твоя база id-programname накроется? Всё «переустанови виндоус»? Потому что «библиотека не могла быть найдена»

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

Ну сам себе злой буратино, хотя конечно можно бы дорабоать make, что-бы он на параметр install отрабатывал как положено или тупо выводил сообщение-заглушку...

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

И да, ещё:

% time dpkg -S /var/lib/Acc*
accountsservice: /var/lib/AccountsService
dpkg -S /var/lib/Acc*  0.46s user 0.14s system 99% cpu 0.601 total
% time dlocate -S /var/lib/Acc*
accountsservice: /var/lib/AccountsService
accountsservice: /var/lib/AccountsService/users
accountsservice: /var/lib/AccountsService/icons
dlocate -S /var/lib/Acc*  0.03s user 0.04s system 1% cpu 6.015 total

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

А я и говорю, имена не факт что помогают. Все эти базы для отслеживание установленного не слишком-то эффективны. Наоборот я предлагаю убрать все эти лишние сущьности в виде programname-files. Т.к. идентификаторы - уже база, всё что надо строить по ним индекс. Не ужели не видно разницу?

programname1-files:

/usr/bin/filename1
/usr/lib/filename2
/usr/share/filename3
/usr/share/doc/filename4

или

programs.list:

eb7fa5a8-c177-4c84-bf79-00ae0f7a47c9:programname1
5a3e054a-0bb0-49b1-adb3-e3e307673001:programname2
e8f36695-380f-4be8-b6c1-dc55559a0d83:programname3
a65af4c9-f925-424c-bcb0-653100123b3b:programname4

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

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

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

Рута у пользователя надо отобрать. Сказано же - установщик должен быть единый, находиться в ядре и устанавливать только из Marketplace!

Или, как в QNX: администратор пакетов невозможно обойти, т.к. на него зацеплены почти все каталоги кроме хомяка.
И для этого линукс перепишут как микроядро, угу.

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

ну вариантов хватает: тот же ls -l вполне может выводить в дополнение к информации о владельце:групп, информацию о программе к которой принадлежит программа, или например тот же bash вполне может интерпретировать например ввод

$ programname1:<tab>
как действие для показа стуктуры размещения программы, выведя хинт типа:
programname1:bin
programname1:etc
programname1:doc
programname1:lib
А на ввод например:
$ nano programname1:etc/<tab>some<tab>.conf<enter>
интерпретатор вполне может выполнить nano передав аргументом соответствующий конфигурационный файл (хотя это я считаю вредным, имхо лучше-бы конфиги uploadились с проверкой на валидность, чем в прямую редактировались).

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

Ты ответь на вопрос не как этим пользоваться, а как это будет работать. У тебя есть программа programname1, тебе нужно найти все файлы ей принадлежащие. Что для этого должно быть сделано системой? Давай, по пунктам...
Ну типа: 1) найти соответствующий id в таблице id-programname 2) найти все файлы соответствующие данному id во всём дереве файловой системы? Или как? Давай, по пунктам и заодно прикинь необходимые затраты на поиск.

invy ★★★★★
()
Ответ на: checkinstall от X10Dead

Не нужно мне это ваше чудо

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

Ну ты же уже написал... Ок, допустим как это будет bash делать для меня:
1) интерпретирует «programname1:<tab>»;
2) смотрит в файл соответствия (если файла, нет ругается «нет файла-соответствия, построй индекс командой такой-то» ну или сам дёргает программу для перестройки индекса);
3) дёргает базовые каталоги (посмотрев в переменные окружения), вываливает списком названия базовых каталогов.

Допустим для того, что-бы вывалить все файлы принадлежащие programname1, у нас будет тулза типа lsa:
1) интерпретирует ввод:

lsa -r programname1:*
2) ищет соответствующий programname1 did;
3) дёргает базовые каталоги/did/ рекурсивно собирая из каждого пути к подкаталогам и файлам;
4) попутно выводит полученные списки на stdout.

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

Эх что-то у меня с запятыми полный фейл сегодня...

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

по поводу затрат на поиск - они ничтожны:

0.001s - фильтрануть файл на предмет имени и выделить часть строки до delimiter'а;
0.070s - собрать список по структуре (echo 3 > /proc/sys/vm/drop_caches);

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

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

Такое засекается на раз.

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

тот же ls -l вполне может выводить в дополнение к информации о владельце:групп, информацию о программе к которой принадлежит программа, или например тот же bash вполне может интерпретировать

Ты придумал абсолютно непрозрачное говно и чтобы оно стало прозрачным предлагаешь навертеть костыли к ls. Ты вообще здоров? С головой всё нормально?

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

Дык опенсорц же, пусть делает. Или вон можно Поттерингу написать, что этот ваш RPM - говно неюзабельное, его надо переписать с нуля в несовместимом с предыдущей реализацией виде, он обрадуется новой идее. Ну или самому написать, и завоевать мир. Ну а если этой тулзой будут пользоваться только полторы калеки, то значит тупое быдло само себе хуже делает, не понимая Гения.

om-nom-nimouse ★★
()

а вы уже посмеялись над очередным «экспертом» «знающим как надо» устанавливать программы в линуксе?

пусть делает. Посоветуй ему Slackware, там такую файлопомойку устроить тривиально просто. В других дистрах будут проблемы.

для Ъ переносить это на лор мне совесть не позволяет.

какое неуважение к Ъ!

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

для Ъ: автор 14 лет мечтает зопелить /Program\ Files

а кто ему мешает-то?

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.
drBatty ★★
()
Ответ на: комментарий от Gorthauer

По существу за /etc/{did} я бы вообще убил! За треш в /usr/bin тоже, за длинный PATH точно бы бутылкой из под шампанского изнасиловал.

тебе-то что, до чужой файлопомойки?

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

всегда думал, что это ввели специально для того, чтобы любопытные не лазили «где не положено», типа security through obscurity.

для этого есть chmod -r и -x на каталоге. Правда в маздае это не работает...

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

а всё общение с данными должно производиться через навороченные графические программы на С++ и Java.

кресты для старпёров. HTML во все поля!

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

как минимум работает с rpm и deb без проблем

как максимум - тоже. Есть ещё tgz для слаки, но он сломался с 12й версии. И да, работать-то оно работает, а толку с него? Можно ставить только на ту же самую машину, где собрано. Ну как txz в слаке. Со всеми вытекающими.

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

Задача: добавить пару строчек в squid.conf

Существующее решение:

vim /etc/squid/squid.conf

Предлагаемое наркоманами решение:

1. Выяснить, где находится squid.conf:

/etc/eb7fa5a8-c177-4c84-bf79-00ae0f7a47c9/squid.conf
/etc/5a3e054a-0bb0-49b1-adb3-e3e307673001/squid.conf
/etc/e8f36695-380f-4be8-b6c1-dc55559a0d83/squid.conf
/etc/a65af4c9-f925-424c-bcb0-653100123b3b/squid.conf
2. ...

3. ...

4. Тут должен быть «PROFIT!», но его тут нет.

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

Я имею в виду - если вместо конфига будет троян, как будет работать программа?

как троян. (С)Кэп.

А как этот троян попадёт в ~/.config/? Типа README=«Скопируйте наш молдавский вирус из ~/Загрузки/ в ${XDG_CONFIG_DIRS:-$HOME/.config}»?

Круто...

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

Это не понять всматриваясь в путь к файлу. На этот вопрос, прошерстив всю пакетную базу мне ответил qfile

в слаке ответ даст grep /var/log/package/*

ЧСХ - намного быстрее.

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

тот же ls -l вполне может выводить в дополнение к информации о владельце:групп, информацию о программе к которой принадлежит программа

заюзай xattrs, и будет тебе щастье.

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

Ты придумал абсолютно непрозрачное говно и чтобы оно стало прозрачным предлагаешь навертеть костыли к ls. Ты вообще здоров? С головой всё нормально?

всё у него нормально с головой, просто неграмотный. УЖЕ есть расширенные атрибуты, которые позволяют навесить к любому файлу что угодно. В том числе к бинарникам чё-нить. Я вот навешиваю gpg sign, что-бы проверить быстро, тот это файл, или не тот.

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

что мешает поставить на другую машину?

ничего не мешает. Превращай дальше свою систему в шлаку. Сам подумай, что будет, если хоть одна из библиотек будет другой версии? checkinstall зависимостей не делает, ЕМНИП...

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

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

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

Не знаю. Но тот факт, что этот «креативщик» (да, творцом его язык не поворачивается назвать) яростно желает отгородить ФС от пользователя туманом бессмысленных цифр и букв, как бы намекает на его подспудные цели.

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

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

//Поток сознания просто.

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

погуглил я, что за хрень такая этот checkinstall. Понял, что это — абсолютно ненужная сущность.

checkinstall позволит _быстро_ и _просто_ создать пакет, который можно будет установить/удалить *в эту* систему.

Даже вредная.

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

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

Не знаю. Но тот факт, что этот «креативщик» (да, творцом его язык не поворачивается назвать) яростно желает отгородить ФС от пользователя туманом бессмысленных цифр и букв, как бы намекает на его подспудные цели.

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

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

checkinstall позволит _быстро_ и _просто_ создать пакет, который можно будет установить/удалить *в эту* систему.

Под «эта» подразумевается rpm- или debian-based. Ну или слака. Арчик уже отпадает. Да и вообще, не вижу смысла в таких извращениях: проще же сделать cmake/configure && make && make install.

Правда придётся пересобирать ПО при обновлении либ

Ну и смысл?

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

Спасибо, но я знаю что такое xattr, они никак не спасают от того бардака, который творится с развертыванием пакетов в дистрибутивах linux.

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

Сомневаюсь. Чем мешают понятные имена файлов?

наверное он боится того, что система не сможет сделать player2, если есть palyer... Я тоже иногда так делаю, например обзываю файлы их md5. Впрочем, ФС тоже так делает (на самом деле она хеширует имена файлов, и ищет хеш, а не имя). Но зачем это говно вываливать в ls - мне тоже непонятно.

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

Под «эта» подразумевается rpm- или debian-based.

да, конечно.

Ну или слака.

нет. Патрег поломал, и не фиксит, ибо checkinstall не нужно.

Арчик уже отпадает.

имелся ввиду роллинг.

Да и вообще, не вижу смысла в таких извращениях: проще же сделать cmake/configure && make && make install.

смысл в том, что файлы можно удалять ПМом, не засоряя систему. Правда Over9000 либ и прочего г-на по зависимостям таки остаётся.

Ну и смысл?

ну там можно зависимости ручками задавать, но это уже настолько геморрно, что проще сделать нормальный пакет...

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

наверное он боится того, что система не сможет сделать player2, если есть palyer

Наверное, у него просто ручки кривые. Или глаза заточены под мановую слепоту.

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

Спасибо, но я знаю что такое xattr, они никак не спасают от того бардака, который творится с развертыванием пакетов в дистрибутивах linux.

и где ты видишь «бардак»? Бардак в твоей венде, где все файлы складываются в каталог с программой, и в НЁХ по имени «реестр». В Linux я могу _в принципе_ запретить юзерам запускать что угодно, тупо поставив noexec на /home & /tmp, а что делать в венде? Если запретить программе работать, она не будет работать, если разрешить - она будет качать троянов, и их у себя складировать. Имеет право. А всё потому, что _всё_ в венде лежит как в помойке - в одном и том же мусорном бачке.

xattr нужно для того, что-бы каждому файлу прилепить название программы(программ), которая юзает этот файл. Ты же этого хотел? Я не знаю, зачем тебе это, но ты можешь так сделать. Удачи.

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

Да, меня родители учили быть вежливым. И ещё меня учили быть честным. То есть, если человек идиот, то так и говорить ему, что он идиот, а не разводить толерастские сопли.

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

они никак не спасают от того бардака, который творится с развертыванием пакетов в дистрибутивах linux

Ну просвети-ка, гуру, в каком месте бардак.

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

Забавные вы, все те кому до изжоги хочется насрать, на то чему вас Мама учила - быть вежливыми.

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

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