LINUX.ORG.RU

Нужно ли противодействовать зловредному ПО? Как вы это делаете?

 , , , ,


3

2

И снова здравствуйте, мои дорогие. Как вы боритесь с неблагонадёжным программным обеспечением? Вот, возьмём к примеру браузер. Браузер тащит подсистему печати и следовательно дырявый как ситечко ghostscript. Ни то ни другое мне не нужно (в браузере так точно).

Итак, я создаю заглушку, делаю следующее:

desktop ~ # cat cupsnop.c
void cupsGetOption(void){return;}
void cupsLastError(void){return;}
void cupsFreeDests(void){return;}
void cupsGetDests2(void){return;}
void cupsGetDests(void){return;}
void cupsGetDest(void){return;}
void cupsGetNamedDest(void){return;}
void cupsGetPPD2(void){return;}
void httpError(void){return;}
void cupsGetPPD(void){return;}
void httpConnectEncrypt(void){return;}
void httpClose(void){return;}
void httpBlocking(void){return;}
void ppdOpenFile(void){return;}
void ppdMarkDefaults(void){return;}
void ppdLastError(void){return;}
void ppdErrorString(void){return;}
void cupsParseOptions(void){return;}
void cupsMarkOptions(void){return;}
void cupsFreeOptions(void){return;}
void ppdFindMarkedChoice(void){return;}
void ppdFindOption(void){return;}
void ppdFindChoice(void){return;}
void ppdFindAttr(void){return;}
void ppdClose(void){return;}
desktop ~ # cat make.sh
#!/bin/sh

gcc -s -shared -fpic -march=native -O2 -pipe -fstack-clash-protection -fstack-protector-strong --param=ssp-buffer-size=4 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,relro -Wl,-z,now -Wl,--hash-style=gnu -Wl,--no-copy-dt-needed-entries -Wall -Wextra cupsnop.c -olibcups.so.2

mv -v libcups.so.2 /lib64/libcups.so.2
desktop ~ # ./make.sh
renamed 'libcups.so.2' -> '/lib64/libcups.so.2'

И всё хорошо, все довольны и счастливы. Но браузер также тащит кучу дряни вроде gtk, а та в свою очередь тащит atk, at-spi2-atk с at-spi2-core, причём, не найдя любую из зависимостей категорически отказывается собираться. Я считаю, это не дело, так не должно быть.

В браузерах есть огромная беда с файловыми диалогами на гтк – они неудобные, выглядят очень инородно, и сразу затирают иксовый буфер выделения среди прочего. Это ужасно. Как мне рассказывали старшие товарищи, в opensuse файловые диалоги как-то патчили, чтобы сделать те человеческими. Можно ли такое же сделать, например, с хромом?

И ещё, браузер запускается без ffmpeg (выдаёт libffmpeg.so => not found), при этом с видео даже проблем нет. Ну или они есть, это не важно (их нет). А вот с cups так не работает, приложение отказывается запускаться, если библиотека не найдена. Что это такое? Пробовал patchelf или что-то подобное для удаления зависимостей, так программа молча зависала при попытке её запустить.

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

Все браузеры давно на своих тулкитах

это какие такие тулкиты? практически всё в основе тащит gtk.

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

Ей вебкит нужен только для Фалькона. Не такой уж и старый. Хотя там 2 вебкита, один из них вроде как объявлен устаревшим. Ещё несколько лет назад. А Кути собираются очень быстро, по-моему даже намного быстрее той же глибц.

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

померяй время. у меня культя собиралась 1130 минут. я time поставила. это на 4 ядрах i7 и на HDD. мне кажется, glibc быстрее собирается, хотя я его давным давно не собирала (у меня musl). и даже весь тулкит gcc-шный быстрее собирается, скорее всего. дольше культи, может, собирается только libreoffice. и то хз. у меня он раз пять падал во время сборки и приходилось на ходу патчить, поэтому точное время я замерить не смогла. но точно больше 8 часов.

при этом я собирала браузеры - палемун UXP и жирнолиса ESR 52 с патчами для новых библиотек. и они вдвоём быстрее собирались, чем культя сама по себе. то есть, там порядка часа или даже меньше что-то было вроде.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 4)
Ответ на: комментарий от Iron_Bug

время в секундах

2019-09-02T01:57:04 >>> dev-qt/qtchooser: 9
2019-09-02T01:57:13 >>> dev-qt/qtcore: 255
2019-09-02T02:01:28 >>> dev-qt/qtdbus: 85
2019-09-02T02:02:46 >>> dev-qt/qtxml: 54
2019-09-02T02:01:28 >>> dev-qt/qtnetwork: 143
2019-09-02T02:03:34 >>> dev-qt/qttest: 52
2019-09-02T02:03:46 >>> dev-qt/qtconcurrent: 46
2019-09-02T02:04:21 >>> dev-qt/qtpaths: 16
2019-09-02T02:04:32 >>> dev-qt/qtsql: 68
2019-09-02T02:04:23 >>> dev-qt/qtscript: 147
2019-09-02T02:06:43 >>> dev-qt/linguist-tools: 82
2019-09-02T02:07:59 >>> dev-qt/qdbus: 21
2019-09-02T02:08:14 >>> dev-qt/qtsensors: 89
2019-09-02T02:09:37 >>> dev-qt/qtxmlpatterns: 336
2019-09-02T02:05:34 >>> dev-qt/qtgui: 587
2019-09-02T02:15:21 >>> dev-qt/qtimageformats: 17
2019-09-02T02:15:33 >>> dev-qt/qtx11extras: 15
2019-09-02T02:15:21 >>> dev-qt/qtwidgets: 213
2019-09-02T02:18:54 >>> dev-qt/qtprintsupport: 63
2019-09-02T02:19:51 >>> dev-qt/qtsvg: 41
2019-09-02T02:20:25 >>> dev-qt/qtopengl: 80
2019-09-02T02:21:38 >>> dev-qt/designer: 515
2019-09-02T02:18:54 >>> dev-qt/qtdeclarative: 889
2019-09-02T02:33:43 >>> dev-qt/qtgraphicaleffects: 22
2019-09-02T02:33:59 >>> dev-qt/qtvirtualkeyboard: 87
2019-09-02T02:33:43 >>> dev-qt/qtquickcontrols: 126
2019-09-02T02:35:19 >>> dev-qt/qtwayland: 306
2019-09-02T02:35:42 >>> dev-qt/qtquickcontrols2: 343
linuxnewb13
() автор топика
Ответ на: комментарий от Iron_Bug

время в минутах

2019-09-02T01:57:04 >>> dev-qt/qtchooser: 9s
2019-09-02T01:57:13 >>> dev-qt/qtcore: 4′15″
2019-09-02T02:01:28 >>> dev-qt/qtdbus: 1′25″
2019-09-02T02:02:46 >>> dev-qt/qtxml: 54s
2019-09-02T02:01:28 >>> dev-qt/qtnetwork: 2′23″
2019-09-02T02:03:34 >>> dev-qt/qttest: 52s
2019-09-02T02:03:46 >>> dev-qt/qtconcurrent: 46s
2019-09-02T02:04:21 >>> dev-qt/qtpaths: 16s
2019-09-02T02:04:32 >>> dev-qt/qtsql: 1′08″
2019-09-02T02:04:23 >>> dev-qt/qtscript: 2′27″
2019-09-02T02:06:43 >>> dev-qt/linguist-tools: 1′22″
2019-09-02T02:07:59 >>> dev-qt/qdbus: 21s
2019-09-02T02:08:14 >>> dev-qt/qtsensors: 1′29″
2019-09-02T02:09:37 >>> dev-qt/qtxmlpatterns: 5′36″
2019-09-02T02:05:34 >>> dev-qt/qtgui: 9′47″
2019-09-02T02:15:21 >>> dev-qt/qtimageformats: 17s
2019-09-02T02:15:33 >>> dev-qt/qtx11extras: 15s
2019-09-02T02:15:21 >>> dev-qt/qtwidgets: 3′33″
2019-09-02T02:18:54 >>> dev-qt/qtprintsupport: 1′03″
2019-09-02T02:19:51 >>> dev-qt/qtsvg: 41s
2019-09-02T02:20:25 >>> dev-qt/qtopengl: 1′20″
2019-09-02T02:21:38 >>> dev-qt/designer: 8′35″
2019-09-02T02:18:54 >>> dev-qt/qtdeclarative: 14′49″
2019-09-02T02:33:43 >>> dev-qt/qtgraphicaleffects: 22s
2019-09-02T02:33:59 >>> dev-qt/qtvirtualkeyboard: 1′27″
2019-09-02T02:33:43 >>> dev-qt/qtquickcontrols: 2′06″
2019-09-02T02:35:19 >>> dev-qt/qtwayland: 5′06″
2019-09-02T02:35:42 >>> dev-qt/qtquickcontrols2: 5′43″
linuxnewb13
() автор топика
Ответ на: время в минутах от linuxnewb13

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

я говорю про чистую сборку из сорцов, с нуля.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Дык это и было сорцы с нуля. Этот список, это всё, что надо для кед и любого кутешного софта. Просто хромиум из кутей у меня не установлен. Хромиум у меня компилируется 30 часов, я не буду его компилировать. Кеды тоже довольно быстро собираются, вроде даже быстрее гнома и гткшных зависимостей.

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

ну это однозначно не вся культя. вся она куда больше. и самое долгое - это сборка как раз веб-компонентов.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

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

linuxnewb13
() автор топика
Ответ на: комментарий от Iron_Bug

ну это однозначно не вся культя.

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

Вот веб-компоненты (что вебкит в прошлом, что хромиум сейчас) — это да, это долго.

гном нужен только браузерам

А каким браузерам нужен гном? У меня firefox-esr и wibkitgtk свежий, но гнома я отродясь не ставил и не собирал. Только gtk. Хромиум хочет гномовских компонентов, что ли?

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

Посмотрите на хромиум, там один пакет хромиума около гига.

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

гткшный вебкит это вообще дичь

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

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

gtk и есть гном. и вот не помню насчёт браузеров, но очень многие утилиты юзают гномовские ресурсы (жутко жирные). а без них у них во всех менюшках вместо картинок просто дефолные нонейм заглушки. и, главное, текста нет! гады, раньше в менюшках текст был, а теперь тупые картинки. и когда картинок нет, нажимание менюшек превращается в квест. к сожалению, многие утилиты от этого зависят. и ещё есть какой-то гномконфиг или что-то типа того. не помню, как оно называется. и некоторые утилиты (например, cheese), для установки своих настроек используют его. и это приколочено гвоздями, вариантов сборки с каким-нить текстовым конфигом нет. а, ещё есть одно говно - keyring, нахрен не нужный. его тоже многие утилиты используют для хранения настроек доступа. и прикручено намертво. хотя в системе может вообще не быть никаких кейрингов. в общем, это такой общепринятый дефолт, который на самом деле вовсе не дефолт. и из кеды тоже иногда тащится куча говна там, где оно вовсе не нужно. это общая проблема нынешних утилит.

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

Мда, я, видимо, страшно далёк от народа. У меня гткшных проги едва ли три с половиной наберётся. И ни keyring’а, ни gconf’а (или dconf’а, или ещё какой гадости), ни даже dbus’а, который им всем нужен, у меня нет.

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

gtk и есть гном.

Позволю себе не согласиться. Гном — это DE, а gtk — всего лишь тулкит. Гнома без gtk, конечно, нет. А вот gtk без гнома вполне себе возможен.

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

ну, кроме тулкита многие софтины тащат ещё кучу всякой гномовской обвязки. причём без всякой аргументации. ради пары формочек для выбора файла или ради этих дурацких менюшек или даже ради пары настроек конфига, как cheese.

а dbus к гному отношения не имеет. он кроссплатформенный и его используют многие DE и не только. какой-то стандарт IPC всё равно был нужен. причём это должна была быть именно шина, а не каналы типа сокетов. и должна быть возможность отправки сообщений для любого приложения. возможно, dbus не самая лучшая реализация, но у меня к ней особых претензий нет. я не вижу адекватной замены dbus'у. наверное, можно использовать boost IPC, но там нет уже готовой структуры, это только реализация и надо было бы городить свой огород для всего софта, которому нужны такие сообщения. ну, может ещё какой-нибудь mq бы подошёл, есть компактные mq. но тоже так себе идея.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

вот даже не знала. думала, что название от гнома. но не суть. его гном развивает и поддерживает для своих нужд. и он всё жирнее и жирнее день ото дня. уже жир4 выпустили, говорят. но главное не жир конкретной библиотеки, а то, что там нарушен принцип kiss и все эти библиотеки и приложения завязаны друг на друга. а это существенно затрудняет поддержку конфигураций, не зависимых от гнома. гном тащится в сборку и жир переплывает на твою систему.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

а dbus к гному отношения не имеет.

Я в курсе. Просто упомянул, чтобы показать, насколько я далёк от народа. И насколько гном, который без dbus’а не живёт, далёк от меня.

я не вижу адекватной замены dbus’у.

А я не вижу в нём никакой необходимости. Но, конечно, речь о моём локалхосте, а я, как уже говорилось, страшно далёк…

Как я себе представляю (возможно, ошибочно), dbus нужен чтобы разные компоненты одного DE могли общаться между собой, не привлекая внимания пользователя. А у меня, во-первых, нет никакого DE, а во-вторых, я не люблю, когда программы начинают между собой общаться минуя меня. У меня тогда паранойя начинается: а вдруг они против меня что-то замышляют, пока я не вижу.

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

Согласен, говнотык — редкостное дерьмо. Но культяпки еще дерьмовей.

Есть еще уйма гуишных либ (причем, среди них наверняка есть приличные), но пилятся они, к сожалению, полутора человеками. Вот и привело это к тому, что как ни ткни — либо приложение на говнотыках, либо на культяпках. Прискорбно.

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

Вот и привело это к тому, что как ни ткни — либо приложение на говнотыках, либо на культяпках.

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

FedyaPryanichkov ★★
()
Последнее исправление: FedyaPryanichkov (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

ну, из гуишных либ моё внимание пока привлёк efl. это отличная библиотека, компактная и очень продуманная. макаки жалуются на «неудобство» и нехватку свистелок и перделок, но efl очень логичен и минималистичен. и при этом он шустр в работе. возможно, есть другие библиотеки такого уровня. я не спец в гуе. но пока что из того, что я видела, поделки на efl выглядят очень прилично, не тормозят и не жрут ресурсы, как не в себя. и там нет той ненужной жирной обвязки или каких-то специальных средств разработки. чистая сишечка. единственное, что плохо - они туда в последней версии мезон затащили. но библиотеки легко собираются и без этой тухлятины, обычными автотулзами. так что это мелочи. я периодически выпиливаю пистоноговно из сборки разных пакетов. это делается достаточно просто.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)

Но браузер также тащит кучу дряни вроде gtk, а та в свою очередь тащит atk, at-spi2-atk с at-spi2-core, причём, не найдя любую из зависимостей категорически отказывается собираться.

Так используй браузер, который не тащит всякую дрянь :)

annulen ★★★★★
()

сразу затирают иксовый буфер выделения среди прочего

Это правда? Боже, какое днище этот ваш десктопный гнулинупс.

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

А что ты имеешь против мезона?

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

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

пистон не нравится. мне он вообще не нравится и у меня на машине его нет. отовсюду его методически выпиливаю.

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

Пользуюсь для org-mode, но тормозная штука.

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

Vim лучше.

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

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

Да и лисп я не очень.

Ну тут да, дело такое… Мне-то как раз лисп нравится, так что и емакс хорошо заходит.

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

Vim — всего лишь редактор, в него не уйдёшь.

Да, но совместив с tmux, mutt, cmus и проч. что-то можно и в 2019 получить удобства в консоли. Но это на случай, если qt/gtk и проч. перестанут быть популярными. А так, да, не тот уровень. Но я emacs впервые в районе 2008 вместе с линуксом попробовал, уже вряд ли вкачусь, но, надеюсь они многопоточность допилят.

FedyaPryanichkov ★★
()
Последнее исправление: FedyaPryanichkov (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Загуглил этот EFL. Полный трешняк! По набору ненужного говна он, похоже, скоро будет соревноваться с культяпками!!!

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

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

А мне понравилась. По-моему она течет и пришлось из 9999 собирать.

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

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

Держи веделенную машину для сборок пакетов и тестов, от соединённую от инетов. На ней компиль как надо и тестируй. На остальные заливай с нее правильный хром через Binpkg.

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

кстати,

  • есть где-то какой-то проект типа «un-googled» - там еще более выпилены зависимости от google, да и вообще постепенная планомерная и всесторонняя замена всех сторонних сервисов весьма актуальна

  • как поживает на маке и андроиде синхронизация в хромиум?

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