LINUX.ORG.RU

Избранные сообщения ls-h

Микроядро - будущее быстрых и стабильных систем? Гидридное\монолитное на свалку?

Форум — General

Вопрос прежде всего к людям коммитящих в ядро или собиравших lfs\преподающих.

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

Тот же MINIX3 используется в IME интелом.

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

( читать дальше... )

Да, можно пенять на скорость, но микроядра третьего поколения по заверениям обходят в скорости ядра linux и windows.

Дороговизна разработки и перехода? Пардон, но unix(minix), posix, инфраструктура как и совместимость уже есть.

Debian Gnu\Hurd портировал треть библиотеки пакетов Debian.

Я не могу понять, почему кроме единичных академических проектов, нету полноценных разработок экосистем под современные микроядра... пользовательских систем, да и даже ускоспециализированных по пальцам пересчитать(не вдаваясь в закрытые системы управления реакторами и тд) Кроме Debian Gnu\Hurd который пилят на коленке последние 30 лет на неисчерпаемом энтузиазме(ядро), и minix3, фактически и нет нечего...

Микроядро идеально, чистейший минимализм и никакой помойки, когда не можешь понять, где подсистема лезет в области ядра а где пользователя.

Лично меня напрягает, что где то над моей головой в 300 км, висит МКС управляемая Убунтой.

Как пример https://habr.com/ru/post/437406/

Беспилотный вертолет с ОС на основе микроядра sel4 во время полетного задания был подвергнут кибератаке. Был получен доступ к камере и подсистемам вертолета, но не к самому ядру и полетной системе, ибо все уязвимое «говно» вроде файловой системы, вфс и драйверов вынесено за пределы ядра в оболочку, что не позволило повлиять на главные системы беспилотника.

А теперь представим, что МКС поразит NotPetya... или диспетчерскую крупного Аэропорта.

Хочу услышать авторитетное мнение: монолитное ядро\микроядро и перспективу микроядерных ОС.

 , , , ,

Micro
()

А в чём проблема с HDR в Линуксе?

Форум — Talks

Вопрос в связи с удалённой новостью www.linux.org.ru/news/opensource/14875005 А в чём проблема? Почему так тяжело добавить HDR в Линукс? И если это так остро надо, почему озаботились только сейчас? И вообще, что здесь подразумевают под HDR? По 10 бит на R, G и B, или что-то ещё?

Ну и заодно, насколько быстро, по-вашему, эта фича появится в линуксовой Крите, если Интел выполнит обещаное? И как с этим у Гимпа?

Дополнение: https://dimula73.blogspot.com/2018/11/krita-fall-2018-sprint-results-hdr.html объясняет, какое HDR имеется в виду. С недавних пор (года с 2016-го, согласно блогу) дисплеи могут показывать с очень большой яркостью. Ради этого весь сыр-бор.

 ,

question4
()

В MAME добавили поддержку SGI (устанавливают IRIX 5.3)

Форум — Talks

https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=44666&amp...

https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=114749#Po...
В news для MAME 0.207 есть

MAME 0.207
27 Feb 2019

With the latest improvements to the MIPS R4000 CPU, WD33C93 SCSI and SGI Newport graphics emulation, it’s possible to install and run IRIX in MAME. This is a milestone achievement, and wouldn’t have been possible without some amazing dedication and collaboration on the part of the contributors and team members involved.

Судя по коду, 24-битной графики пока нет, есть 8-битная :} Сам пока не пробовал, поэтому в толксы.

Andrew-R
()

Linux - слишком простая oc. В Windows больше настроек.

Форум — Talks

Сегодня, 27 февраля 2019 года, стало известно о том, что уже совсем скоро все пользователи смогут скачать Lite OS от Microsoft, то есть новую операционную систему, которая полностью заменит собой Windows 10.

Данное программное обеспечение не будет иметь никакого отношения к десятой «винде», разве что оно окажется немного похоже на данную операционную систему внешне. Пользователей ждет новый минималистичный интерфейс, а также совершенно новое меню «Пуск», при создании которого Microsoft учла все пожелания пользователей компьютеров. В новой ОС не будет никаких сложных настроек, что сделает ее очень похожей по своей простоте на Linux и macOS, где пользователям доступно не более сотни настоек, тогда как в Windows 10 их около тысячи.

https://akket.com/windows/155698-skachat-lite-os-ot-microsoft-sovremennuyu-za...

 , , ,

vasya_pupkin
()

простой веб на питоне

Форум — Web-development

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

 ,

chenbr0
()

Человеческое управление пакетами в Linux

Форум — General

Предыстория тут

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

Касательно NixOS: _формально_ в ней есть то, чего мне хочется, но вместе с этим - куча всего на тему «как нам обустроить Линукс», причём сделано это как-то сумрачно, сопряжено с красноглазием, и мне трудно представить NixOS на среднем десктопе или ноуте, так что нужно что-то попроще.

Суть предложения: переделать FHS и немного пропатчить ядро, чтобы умело хардлинки для каталогов.

На самом верхнем уровне файловой иерархии, конечно, должны быть пользователи. Хотя бы потому, что это тупенько - требовать от юзера права root для установки приложухи. Да и вообще, у нас система для человека, а не наоборот.

Поэтому корневой каталог будет выглядеть как-то так:

/Alyssa
/Bob
/root

На втором уровне много чего можно разместить, но речь про управление пакетами, так что ограничимся очевидным /pkg:

/Alyssa
  /pkg
/Bob
  /pkg
/root
  /pkg

Каждый пакет устанавливается в отдельный каталог:

/Alyssa
  /pkg
    /firefox:85.0.2
    /firefox-developer-edition:127.0.0.1
    /smplayer:28.6
    /telegram-desktop:4.8.2
/Bob
/root
  /pkg
    /linux-ubuntu:6.3.9600
    /linux-vanilla:6.3.9600
    /systemd:666
    /ubuntu-core:24.04
    /ubuntu-core:25.17

Логика такова:

  • Для каждого пакета разработчики/мантейнеры указывают зависимости (deps) пофайлово (чтобы отвязаться от названий пакетов, которые в каждом дистрибутиве свои).
  • В репозиториях лежат данные, в каком пакете какие файлы содержатся.
  • При установке пакета ПМ скачивает нужные deps-пакеты и устанавливает их в каталог пакета же.
  • Но если такой deps-пакет уже где-то установлен - вместо каталога с новым экземпляром deps-пакета создаётся хардлинк на уже установленный экземпляр (можно менять политики поиска дубликатов - только у root или же у любого пользователя, ради пущей экономии места).
  • Установка deps-пакета ничем не отличается от установки любого пакета. Т.е. всё вышеописанное выполняется рекурсивно вплоть до самого «нижнего» пакета (наверное, это ядро).

То есть:

/Alyssa
  /pkg
    /firefox:85.0.2
      /deps  - тут зависимости фаерфокса
        /ffmpeg:5.8.12
          /deps
            /bzip2:2.4.8  --хардлинк------------
            /lame:3.200                        |
              /deps                            |
                /ncurses:10.20  --хардлинк-----|-----
              /usr                             |    |  
          /usr                                 |    |
        /gtk:4.2  --хардлинк--------------     |    |
      /usr   - файлы самого фаерфокса    |     |    |
/root                                    |     |    |
  /pkg                                   |     |    |
    /ubuntu-core:24.04  - метапакет      |     |    |
      /deps                              |     |    |
        /bzip2:2.4.8  <------------------|------    |
        /gtk:4.2  <-----------------------          |              
        /ncurses:10.20  <----------------------------

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

Далее:

  • Обновления пакета как такового нет. Всегда идёт установка новой версии параллельно прежним.
  • При установке новой версии пакета, ПМ может переключить зависящие от него пакеты на эту новую версию, если это явно указано мантейнерами.
  • По умолчанию пакет остаётся с текущими версиями deps-пакетов и может так работать сколь угодно долго, пока в ядре что-нибудь не отломают.
  • Чтобы перенести пакет на новую систему, достаточно скопировать его каталог - это вытянет рекурсивно все его зависимости, кроме самых общих (ядро и systemd).
  • При удалении пакета полностью удаляется его каталог со всеми deps-пакетами. Если они где-то используются - они остаются там. Если больше нигде не используются - удаляются вместе с пакетом. Такая автоматическая сборка мусора без лишних сущностей.

В общем, суть такова. На мой взгляд, это хороший баланс между стабильностью, обновляемостью, экономией места и «ленивостью» сопровождения. Мантейнерам больше не придётся бежать в колесе, постоянно починяя отвалы программ из-за того, что A хочет B, а в репах уже B1 во все поля. Особенно это касается программ не из центральных репозиториев, а из всяких AUR и PPA. Ну а юзеры, в свою очередь, могут очень долго пользоваться необновляемыми программами при свежей системе.

Дискасс!

 , ,

Deleted
()

Эффективная оптимизация. Что такое Cython.

Форум — Development

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

Часть первая. Правила эффективной оптимизация

  1. Не думайте об оптимизации пока код не дописан. Вообще! Думайте, как написать код проще и понятнее. А про оптимизацию даже не вспоминайте, пока не запустите код. Когда код запустится, проверьте насколько быстро он отрабатывает. Если он достаточно быстр — задача решена, ничего делать не нужно. Точка. И только если код отрабатывает медленнее, чем требуют условия задачи — начинайте думать об оптимизации.
  2. Попробуйте JIT, например PyPy, если условия это позволяют (apt-get install pypy && pypy yourprogram.py). Когда не хватает совсем немного производительности — JIT ускорит в несколько раз, и этого может быть достаточно. И тогда всё, задача решена. Только если это не сработало, переходите к фактической оптимизации кода.
  3. Пройдитесь профайлером. python -m cProfile yourprogram.py Никогда не оптимизируйте код без профилирования. По профилю определите самые медленные куски кода. Если код слишком большой — разбейте на функции. Не нужно бросаться переписывать всё подряд. Изолируйте наиболее прожорливые куски кода, и работайте только с ними.
  4. Выполните высокоуровневую оптимизацию найденных медленных кусков кода. Используйте более быстрые библиотеки: gmpy2 вместо встроенной длинной арифметики, python-regex вместо встроенного re, numpy для матричных вычислений, и т.д. Замените dict на list. Вынесите все возможные вычисления за циклы. Наконец, оптимизируйте алгоритм, или попробуйте найти ему более быстрый аналог. Если что-то получилось — goto 2.
  5. Cython. Расставьте типы, пройдитесь профайлером, посмотрите annotate cython-а, какой код сгенерирован, какие куски можно ускорить (он их расцвечивает)... Ещё раз подчёркиваю, низкоуровневая оптимизация — это последний этап, когда другие варианты исчерпаны.

Часть вторая. Cython

Если мы всё-таки дошли до cython-а, то... что же он такое?

Cython - это транслятор из питона в Си. Всё. Он просто генерирует код на си.

Если в файле mymodule.py написать:

def somefunc(x):
    y = x*42
    return y
и запустить cython mymodule.py то он том же каталоге сгенерирует mymodule.c, в котором будет что-то вроде:
static PyObject *__pyx_pf_8mymodule_somefunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_v_y = NULL, *__pyx_r = NULL, *__pyx_t_1 = NULL;

  __pyx_t_1 = PyNumber_Multiply(__pyx_v_x, __pyx_int_42);
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_y = __pyx_t_1;
  __pyx_t_1 = 0;

  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_y);
  __pyx_r = __pyx_v_y;

  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_XGIVEREF(__pyx_r);
  return __pyx_r;
}
И, хотя это редко делают вручную, этот код можно собрать обычным компилятором: gcc -shared -O3 -o mymodule.so mymodule.c `python-config --cflags --ldflags`. Нигде в остальном коде ничего менять не надо. Обычный «import mymodule» загрузит бинарный module.so так же, как загрузил бы питоновый mymodule.py.

Да, cython позволяет скомпилировать питонокод. Но никаких глубоких интеллектуальных оптимизаций cython не делает. Он просто вызывает из libpython.so питоновые функции, такие как PyNumber_Multiply(). Без питона этот код работать не будет. (в принципе, его можно собрать статически, но обычно это не имеет смысла — реальная программа всё равно будет использовать кучу внешних либ, и ещё одна библиотека роли не сыграет)

Так как все вызовы питоновых функций остались, то просто сборка cython-ом большого ускорения не даст, может, раза в два. Но! Cython-у можно указать, где использовать сишные типы вместо питоновых! В примере выше, если расставить типы:

cdef double somefunc(double x):
    cdef double y = x*42
    return y
то cython mymodule.pyx сгенерирует в mymodule.c код:
static double __pyx_f_8mymodule_somefunc(double __pyx_v_x) {
  double __pyx_v_y, __pyx_r;

  __pyx_v_y = (__pyx_v_x * 42.0);

  __pyx_r = __pyx_v_y;

  return __pyx_r;
}
По сути, это чистый код на си. Быстрее некуда. А с параметром --annotate cython -a mymodule.pyx дополнительно сгенерирует «mymodule.html», в котором раскрасит код цветами. По нему легко смотреть, какие части кода ещё стоит оптимизировать. Но так как после расстановки типов обычным питоном такой код уже не запустится, его традиционно сохраняют в файле с расширением .pyx вместо .py.

Вот так, не написав ни одной строчки на си, а просто расставив типы, медленный питоновый код превращается в быстрый сишный.

В целом, это всё.

PS: Это не все возможности cython-а. В нём можно использовать плюсовые типы, например std::vector. Причём можно даже писать: cdef vector[double] sqrs = [x*x for x in somelist] и всё преобразование из питоновых типов в плюсовые и обратно cython возмёт на себя. Можно вызывать и внешний код на си (cdef extern from).

Есть и более тонкие оптимизации, например мелким функциям можно расставлять inline (хотя с этим и gcc обычно справляется). А ещё код, не использующий питоновые объекты, не блокирует GIL! А значит отлично подходит для многопоточных вычислений. В cython-е есть и модули для параллельных вычислений.

Да и сами .pyx файлы обычно компилируются не руками, а как часть скрипта distutils/setuptool. А в отладочных целях import pyximport; pyximport.install() и после этого обычный import mymodule сможет импортировать не только .py, но и .pyx файлы.

Полезные ссылки

Итого: Оптимизировать надо только когда иначе нельзя, и только то, что необходимо. Низкоуровневая оптимизация делается в последнюю очередь. Но если мы её таки делаем, то cython позволяет сделать её максимально легко — просто расставив типы.

PPS: Питон в этом не уникален. Почти во всех языки есть возможности низкоуровневой оптимизации, расширения на си через FFI/JNI/и т.д. Есть unsafe код в rust и c#. Даже в паскале и си есть ассемблерные вставки. Не удивительно, что кто-то придумал аналог и для питона. Так что эти же принципы оптимизации применимы и к другим языкам.

 , , , ,

pynonymous
()

Возможно ли организовать на андроид смартфоне (SGS 8, 9) что-то вроде режима киоска?

Форум — Mobile

Суть:
- Есть т.н. Live Demo Unit - смартфоны без модема, сканера отпечатка. Но в остальном полноценные по железу. Используются в торговых сетях для демонстрации во включенном состоянии.
- Если к ним добавить Samsung Gear гарнитуру, то можно смотреть всякие VR и прочие 360 видосики. Высокого качества и недорого.
- Само собой, из коробки эти LDU имеют разное рекламное, чего не надо. Благо на них спокойно встает прошивка от обычного телефона. Успешно это все проделывал с S7.

Что нужно:
- Организовать некий выставочный режим работы. Когда в смартфоне отключено все по максимуму. Вырезаны лишние приложения (доступ к ним), в окулусе можно смотреть только заранее залитые видосы. Библиотека отключена.
- Идеальный вариант - вообще лишь одно приложение (есть нужное), запускающее лишь проигрывание нужных видео. И все. Ничего больше недоступно.

Нужны именно эти самсунги. Ибо такое крутое железо (а для 8к3д видео оно важно) так дешево больше никак не купить. Даже дорогой новый, не юзанный LDU S9 стоит 15к руб.

Организовывал ли кто подобное?

Подтупливая смотрю сюда:
https://docs.samsungknox.com/KC-Getting-Started/Content/normal-mode.htm
Но явно никто никаких лицензий не даст.


Перемещено leave из job

 

dk-
()

Может кто то простыми словами объяснить разницу между консолью и терминалом

Форум — General

Вечер добрый,

Для меня все что не имеет GUI это консоль наверное к большому сожалению), может кто то относительно простыми словами объяснить четкую разницу между этими двумя терминами.

 

TesterTester
()

Android - контейнер для приложений

Форум — Mobile

Подскажите, что можно поставить на рутованый телефон для ограничения доступа приложений указанных приложений(установка через apk)? Например предоставлять вместо доступа к телефонной книге, функциям звонков и sms, файловой системе и пр. заглушки, которые будут отдавать пустые или фейковые данные?

Решено: Остановился на Shelter

 ,

Deleted
()

Python vs Bash

Форум — General

Друзья, что лучше выбрать для администрирования?

Сейчас используется php + bash, что хотелось бы переписать на что-то более функциональное - php + python.

Также хотелось бы использовать python в обыденных линуксовых задачах. Да и с питоном можно пролезть как можно дальше )

Симлинки, хардлинки, overlayfs, создание пользователей, удаление пользователей, копирование, перемещение, удаление.

Zabbix, ansible, elk, эксплоиты и тд

Что думаете?

 ,

BitSum
()

Android, зонды, безопасность, СПО, паранойя

Форум — Mobile

Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.

Disclaimer2: Все описанное является суммой наклопленного мной опыта вперемешку с моим личным мнением. Пишите комменты, будем улучшать-дополнять-чинить

Уровень прошивки

Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:

  • Любое приложение (даже не требуещее никаких прав) может с ним общаться.
  • Gapps имеют доступ к сети.
  • Gapps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • Gapps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • Gapps — нереальное огромное количество кода. Стоковый образ (если верить opengapps) будет весить около 700Мб.

ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?

Сложный вопрос, на самом деле. Есть три варианта действий:

  • Новый и простой, и профитный способ. Появилась прошивка «LingeageOS for microG». Если ваше устройство поддерживает её, просто ставьте её и наслаждайтесь. Fdroid+MicroG+пуши+signature spoofing+unlp+OTA-обновления из коробки
  • Самый простой способ. Если ваш андроид достаточно старый (на достаточно новом не удастся отключить самый главный компонент gapps), из Настройки->Приложения отключите все, связанное с Google (особенно, Google Service Frameworks):
    • root не требуется;
    • push-уведомления работать не будут;
    • на устройстве останется огромная и потенциальная куча гугловского дерьма, хоть и менее активная.
  • Способ посложнее. Накатываем root и вручную удаляем все пакеты и библиотеки, требуемые гуглу:
    • требуется root и разблокировка загрузчика;
    • минимальное количество зондов без смены прошивку на полностью опенсорсную;
    • увы, в последних версиях андроида вам, скорее всего, придется оставить несколько пакетов (вроде GoogleSetupWizard), иначе система не загрузится.
  • Самый профитный способ. Ставим альтернативную прошивку (или мотаем до следующей секции и покупаем устройство с пгавославной прошивкой без зондов из коробки). Наслаждаемся.
    • Требуется root, разблокировка загрузчика, шаманство и местами смена устройства.

Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?

Вдоль

Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.

MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).

Уровень софта

Без гуглозондов жить есть!

https://f-droid.org/ — каталог с опенсорсным софтом.

Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps

  • Yalp store. Позволяет ставить приложения из Google Play (да, иногда это все-таки нужно), в том числе через общий аккаунт. Не требует зондов.
    • Позволяет так же выкачивать купленные приложения (но не факт, что они заработают: они при работе могут проверять лиценизию через gapps, возможно, тут может помочь microg).
    • Альтернативно, воспользуйтесь моим решением для выкачивания софта прямо в свой репозиторий f-droid.
  • K-9 Mail. Почтовый клиент.
  • DAVDroid. Синхронизация контактов с owncloud/nextcloud.
  • Gadgetbridge. Синхронизация с умными часами и браслетами (pebble, mi band и некоторые другие)
  • NewPipe. Клиент для YouTube. Умеет воспроизводить видео в фоновом режиме как музыку, загружать файлы.
  • Odyssey. Просто материальный музыкальный плеер, но в последнее время очень нужный, т.к. вендоры повадились заменять в прошивке плеер на Google Music.
  • Набор простых и красивых затычек для различных приложений — simple mobile tools.
  • Файрволл AFWall+ файрволл (имеет Xposed модуль для расширения возможностей)
  • Amplify Battery Extender.
  • DNS66.
  • KDE Connect.
  • OpenKeychain.
  • OpenVPN FOSS.
  • Картография и навигация: Maps.Me (приз симпатий от комментаторов), OsmAnd (приз глюкалова от меня, но щито поделать).
  • Список стал очень жирным. Пока новые элементы не добавляю, думаю над критериями включения в него софта.

Если вы будете ставить проприетарный софт, помните о следующем:

  • Желательно зайти в настройки приложения и вручную запретить доступ ко всем ненужным разрешениям, дабы не промахнуться в нужный момент.
  • Отключите приложению фоновый доступ к сети (если у вас свежий Android) или вообще доступ к сети (если у вас стоит файрволл).
  • Малвари вроде «Сбербанк Онлайн» вообще лучше создать отдельный аккаунт на телефоне.
  • Яндексовским приложениям нельзя давать доступ к местоположению. Вообще никаким — все сливают.
  • Проприетарь может читать названия аккаунтов, даже не принадлежащих ей. Называйте их максимально обще, т.е. вместо «sportloto@syncserver.com» делайте «contacts sync».

Права суперпользователя

Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.

Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.

XPosed

XPosed — опенсорсный фреймворк для низкоуровневых хаков.

  • Не доступен для свежих андроидов.
  • Позволяет заставить не увидеть root всякие «Сбербанки Онлайн».
  • Имеет кучу некрофильских и неопенсорсных модулей. Осторожнее.
  • Легким движением руки может окирпичить прошивку.
  • Полезные модули:
    • PlayPermissionsExposed
    • YouTubeAdAway (но все-таки советую использовать NewPipe, LightTube, WebTube, SkyTube или MiniTube. Тысячи их!)
    • XPrivacy — по своей сути это «песочница» для любого, даже системного, ПО. Xprivacy применяет правила ко всему ПО. Эти правила можно создавать самому или качать готовые. То есть, к примеру, если установлено нечто местами полезное, но попутно показывающее свою рекламу, Xprivacy можно просто запретить этому ПО доступ в сеть. Или если очередная косынка хочет интернет, список контактов, доступ к микрофону и камере, то с Xprivacy это легко и просто запрещается конкретно этой гадости и она даже будет при этом работать не имея доступа к тому, что ей будет запрещено.

Уровень устройства

Тут тоже всё плохо. Выбор:

  • Рандомный флагман с хорошей поддержкой LineageOS (CyanogenMod). Поддержка, вероятно, будет хорошей, секьюрити-апдейты будут приходить долго (например, для htc desire hd цианоген обновлялся до самого конца — декабря 2016 года), но вот версия андроида, скорее всего, застрянет. Обычно дорого. Можно искать по списку официально поддерживаемых линейкой устройств.
  • OneplusOne / Wileyfox Swift 1. Поставлялись с CyanogenOS, имеют хорошее коммьюнити разработчиков, будут долго обновляться в софтовой части. В железной — все плохо. 1+1 уже довольно старый и хорошие запчасти купить сложно. Wileyfox изначально имел несколько проблем, в т.ч. слабенькую батарейку. Компенсируется ценой, местами можно найти новое в продаже. Довольно бюджетно.
  • Fairphone 2. Очень дорого, очень хорошо. Но это в теории, как там на практике — хз, не пользовался, отпишитесь.
  • Рандомный телефон с официальным портом los. Сойдет, главное, чтобы фатальных багов в порте не было. Долгой жизни порта не ждите.
  • Рандомный телефон с васянским los. Совсем плохо, но если телефон уже куплен, ничего не поделать.
  • Рандомный телефон с васянским ведроидом, основанным на стоковой прошивке / без исходников / проч. Лучше такое не ставить, а подготовить прошивку самостоятельно, смотрите выше и ниже.

Следует также заметить, что:

  • Существует несколько устройств с CyanogenOS, без доступной Cyanogenmod. В комплекте идут сервисы microsoft, gapps и много разной другой блотвари. Исходники обычно зажабены. Пример устройств: Wileyfox Spark, Wileyfox Swift 2(|+|x).
  • Выбирая устройство, так же загляните на его страничку на 4pda. Ресурс хоть и васянский, но очень полезный: можно увидеть список доступных прошивок, FAQ по типичным проблемом, список самых вероятных заводских проблем (которые можно проверить еще перед покупкой).

Уровень физической безопасности

Для чего нужна физическая безопасность:

Допустим, ваш девайс попал в руки злоумышленнику.

  • Во-первых, вы хотите, чтобы он не имел никакой возможности прочитать важные файлы с вашего телефона (кейз ФБ-1).
  • Во-вторых, вы хотите узнать, не добавил ли он кейлоггеров в ваш загрузчик (кейз ФБ-2).

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

Я бы на вашем месте на это не рассчитывал.

  • Аппаратные защиты часто не надежны и опираются на принципах безопасности через неясность, в них переодически находят уязвимости
  • На прекрасных, казалось бы, телефонах Xiaomi вы не сможете разблокировать загрузчик, если с Xiaomi что-либо случится: разблокировка производится с участием интернета при помощи (работающей только под Windows) программы, требующей их аккаунта и доступа к интернету. У HTC похожая ситуация, но в несколько более мягких условиях.
    • Скорее всего, это доставит неудобств именно вам, а не злоумышленнику
  • Всякие проприетарные системы полнодискового шифрования тоже не выдерживают проверок специалистами.

Выводы:

  • Для хранения ваших секретных файлов в безопасности от ФБ-1 используйте, к примеру, Secrecy.
  • «Таблеток» от ФБ-2 на сегодняшний день нет. Промбируйте телефон при помощи скотча и волос и не расставайтесь с ним.
  • Лучше все-таки не хранить никакие важные данные на телефоне.

Модули сотовой связи

В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —

  • Фактически отдельное устройство, обычно имеющее максимальный доступ к процессору, памяти и переферии. Зачем это делают — черт знает. Возможны исключения, нужно уточнять в каждом отдельном случае.
  • Идентифиционный модуль, который постоянно разговаривает с воздухом.
  • Куча проприетарного кода, который никто не анализировал. В тех немногих случаях, когда анализировали — находили кучу всего интересного.
  • Работает это все на протоколах, местами разработанные в 80-х годах.

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

Вроде, все, что хотел сказать. Выдыхаю

 , , , ,

derlafff
()

Какой бюджетный SSD брать?

Форум — Linux-hardware

У меня недавно умер HDD в ноуте. Он был на терабайт, вот такой: https://toshiba.semicon-storage.com/content/dam/toshiba-ss/asia-pacific/docs/...

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

Все они более тонкие, чем оригинальный HDD, и практически идентичны с ним по ширине и длине.

Брать какой из этих? Или вообще другой?

 ,

Vsevolod-linuxoid
()

Гвидо ван Россум: непринятие опенсорсом женщин тормозит прогресс

Форум — Talks

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

Как Open Source остается закрытым для женщин

Нам нравится думать, что, вне зависимости от большинства программных систем сегодня, OSS создает будущее демократически. В этом свете наблюдение ван Россума о том, что его разнообразие отстает от коммерческих предприятий, свидетельствует о слабости экосистемы OSS.

«Различные OSS проекты по-разному отреагировали на этот факт - некоторые с отрицанием, некоторые с распростертыми объятиями, а некоторые с враждебностью», - говорит он. «Я бы сказал, что довольно распространенная реакция, особенно когда это впервые стало проблемой, было сказать: «О, но мы не подвергаем дискриминации женщин. Если у нас нет женщин, значит они не хотят присоединяться к нашему проекту».

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

В дискуссии о принятии кого-то в основную команду разработчиков нет четкого списка критериев. «Это не похоже на инженерное интервью. Многие из них: "Знаем ли мы этого человека? Видел ли я их работу?" Уместность человека в команде это критерий, но если у вас есть команда, в которой только белые мужчины, то такая команда будет предпочитать других белых мужчин», - говорит он.

https://www.forbes.com/sites/oracle/2018/11/20/by-welcoming-women-pythons-fou...

 

Burbulator
()

Realtime раздел у XFS. Файлы отдельно, inode'ы отдельно.

Форум — Admin

Уважаемый pon4ik, поднял недавно тут тему как сделать так, чтобы «ФС ... хранила бы метаданные на одном диске, а сами данные на втором. Т.е. пока происходят всякие listdir и fstat не было обращений к харду и он мог сладко спать.»

Я вспомнил, что об XFS слышал подобное, быстро нагуглил пару ссылок про realtime раздел и кинул в коментариях. Но так-как я XFS-boy, то полез смотреть как оно реализовано. Рапортую). Realtime раздел у XFS — это дополнительный раздел на который пишутся только данные (не inode'ы и не лог — первые пишутся на основной раздел, вторые или на него же или на отдельный раздел, если указать). Соответственно можно вынести данные в больших файлах с последовательным доступом на один раздел, а все IOPS'затратные операции на другой раздел на SSD или даже в оперативке (если сохранность данных нужна только до перезагрузки, бывает такое).

Как реализовать:

mkfs.xfs -r rtdev=/dev/sdb /dev/sdc
или
mkfs.xfs -l logdev=/dev/sdd -r rtdev=/dev/sdb /dev/sdc

Где:
/dev/sdb — realtime раздел (только файлы и только если об этом «попросить», об этом ниже)
/dev/sdc — основной раздел (файлы, inode'ы, log)
/dev/sdd — раздел для log'а ФС

Лог раздел имеет ограничение по размерам. Поэтому легче его не выносить, учитывая что мы и так выносим от «главного» раздела файлы.

Далее монтируем:

mount -o rtdev=/dev/sdb /dev/sdc /mnt
или
mount -o logdev=/dev/sdd,rtdev=/dev/sdb /dev/sdc /mnt

Как заставить систему писать файлы на realtime раздел? Есть 3 варианта:

  • 1. Опция
    mkfs.xfs -d rtinherit=1
     — это недокументированная опция, которая говорит, что на созданной ФС все файлы будут писаться на Realtime раздел.
  • 2. Команда
    xfs_io -c "chattr +t" /mnt/
     — ставит на директорию атрибут «realtime inheritance». Все файлы созданные после этого в директории будут записаны в rt раздел. Атрибут можно ставить на директорию в которую примантирована ФС (и даже на ней атрибут сохраняется после перемонтирования).
  • 3. Команда
    xfs_io -c "chattr +r" /mnt/file_name
     — ставит на файл атрибут «the realtime». Файл должен быть создан пустым для этого (touch /mnt/file_name подходит).

Какова стабильность решения? После обсуждения год назад патчей для realtime разделов (подробнее тут: https://patchwork.kernel.org/patch/9933237/ ), началось активное тестирования этого функционала в XFS, были исправлены несколько багов, а в xfstests добавлен функционал по тестированию ФС с realtime разделом.

 , , , ,

chaos_dremel
()

Выбор видеокарты

Форум — Talks

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

По деньгам так, чем меньше, тем лучше :) В принципе, если сумеете убедить, что лучше всего брать nvidia 1080ti найду и на это деньги, но как-то более реалистично по бюджету взять nvidia 1060ti или radeon rx vega 56. RTX 2080ti уже за пределами.

По спецификациям получается, что в gpgpu AMD круче nvidia и даже 2080ti в double не дотягивает до веги 56:

https://www.techpowerup.com/gpu-specs/maxsun-rx-vega-64.b4848
AMD Radeon RX Vega64 - 8Gb  (Vega56)

FP16 - 25166 (21131) GFlops,
FP32 - 12583 (10566) GFlops
FP64 - 786.4 (660.4) GFlops

TDP 295W (210W)
https://www.techpowerup.com/gpu-specs/geforce-gtx-1080-ti.c2877
Nvidia GTX 1080Ti (RTX 2080ti) - 11Gb

FP16 - 177.2 (26895) GFlops
FP32 - 11340 (13448) GFlops
FP64 - 354.4 (420.2) GFlops
TDP 250W

Но это как говорится все на бумаге. Реально я что-то не пойму. Вроде общее мнение и бенчмарки, что amd сливает в играх nvidia. Правда рендер в блендере у веги быстрее на 30% чем 1080ti и тем более 1060ti

А вот как в нейросеточных развлечениях проявляет amd? насколько чувствительно, что у нвидии 11ГБ памяти, вместо 8Гб

Ну и вообще интересует общая безгеморойность, вроде официальные драйвера без правки скриптов на дебина не поставятся? Что с ускорением видео и поддержкой в mpv, mplayer, vlc и плагинах для ютуба?

 , ,

praseodim
()

Применения Raspberry Pi

Форум — General

Не в Толксы чтобы anonymous тоже мог высказаться.

Привет! Никогда не покупал Raspberry Pi, и вот купил. Не покупал потому что «я же не хакер, чтобы делать программируемого робота» или для чего их там используют? «Мозг» станка ЧПУ? Купил потому что мне раз за разом попадались копророутеры, а Raspberry Pi, как оказалось, работает безупречно.

Давайте собирать инфу о том, кто где и как использует Raspberry Pi?

 

ZenitharChampion
()

Теория вероятностей

Форум — Science & Engineering

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

 

Aswed
()

Тюрьма для приложений (виртуализация)

Форум — General

Сап линуксоиды. Что посоветуете использовать (контейнер/гипервизор или другие виды виртуализации) kvm,qemu,lxc,docker,mbox и т.д. Цель такая: например установить лису в этот самый Конт/гипер и чтобы он там жил в своем маня мирке создавая и удаляя свои папки не знаю что есть основная система. А когда надоест просто удалить этот контейнер со всеми потрахами. Гуглил много. С контейнерами дела такие что надо установить прогу на основную систему и уже оттуда запускать, а с гипером нужно поверх основной другую систему инсталить. Что посоветуете.

 , ,

osmanman
()

Изоляция сайтов друг от друга

Форум — Admin

День добрый. Нужно на сервере разместить пару сайтов на php. Для безопасности хочу каждый сайт изолировать, склоняюсь в сторону отдельного lxc контейнера на каждый сайт. В связи с чем возникли вопросы:
1. В каждом контейнере нужно устанавливать отдельно php-fpm или можно как-то безопасно предоставить кажому контейнеру хостовый php-fpm?
2. Тоже самое про mysql. Лучше в каждом контейнере свой mysqld или лучше общий на хосте?
3. Как лучше обновлять софт в контейнере? В каждый заходить и писать apt upgrade?
4. И в целом, lxc для такой задачи хороший выбор? Может есть что-то более удобное и надёжно?

 , ,

sany0k
()