LINUX.ORG.RU

Избранные сообщения NoobeR

Запуск полноценного ArchLinux без root прав на android

Форум — Mobile

Навеяно вопросом mandala ниже
Все действия на ваш страх и риск

Немного теории
Есть такая библиотека ptrace.h
ptrace - тоже самое что strace, только позволяет изменять результат системных вызовов
Например подменив вызов getuid()/setuid() можно заставить приложение думать что оно запущено из под рута
Подменив fstat() можно изменить структуру файлов

proot
На этой библиотеке написана утиля proot.
proot умеет эмулировать chroot и mount --bind без root прав.

Где добыть ArchLinux под arm
Здесь - https://archlinuxarm.org/platforms/armv8/generic ,если у вас aarch64 (на нём тестировал)
Здесь - https://archlinuxarm.org ,если armv7

Исправляем проблемы архива
0) Для начала распакуем архив (на компьютере)
umask 022
mkdir arch
cd arch
sudo tar xvfp ~/Downloads/ArchLinux.tar.gz (важно это сделать из под рута)
1) Неправильные права директорий
Часть директорий связаных с openssl имеют права 555, и при распаковке под обычным пользователем, это приводит к ошибке.
chmod -R u+w ./arch
2) Жесткие ссылки
Не знаю зачем они нужны (если есть symlink), но android на «ln a b» выдает «permission denied»
Поэтому упаковываем с флагом "--hard-dereference"
sudo tar cvzfp arch.tar.gz --hard-dereference ./arch

Запускаем ArchLinux
Разумеется нам понадобится эмулятор терминала.
Лучше всего изпользовать Termux (бесплатный, OpenSource), так как в нем есть менеджер пакетов, и proot устанавливается очень просто.
1. (В termux)
termux-setup-storage (SD Карта)
pkg install proot
2. Копируем перепакованый arch.tar.gz на телефон (например используя netcat)
3. Распаковываем в ~/arch
umask 022 (В termux)
tar xvfp arch.tar.gz (В termux)
4. Пишем скрипт для запуска

#!/data/data/com.termux/files/usr/bin/bash

rootdir="/data/data/com.termux/files/home/arch" # /
tmp_prefix="/data/data/com.termux/files/usr/tmp" # здесь будут храниться временные файлы (/tmp, /run)

sid="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" # mktemp -d для слабаков

run_bind="${tmp_prefix}/run${sid}" # /run
tmp_bind="${tmp_prefix}/tmp${sid}" # /tmp

resolv_conf="${run_bind}/resolv.conf" # список dns

mkdir "$tmp_bind"
chmod 777 "$tmp_bind"
mkdir "$run_bind"
chmod 777 "$run_bind"

for i in `seq 1 4`; do
    if [[ ! -z `getprop net.dns${i}` ]]; then
        echo nameserver `getprop net.dns${i}` >> "$resolv_conf"
    fi
done
# настроили dns
proot --link2symlink -0 -m "${run_bind}:/run" -m "${tmp_bind}:/tmp" -m /sdcard -m /dev -m /sys -m /proc -w / -r "${rootdir}" /bin/su - root # сам proot, флаг --link2symlink не документирован, но черезвычайно полезен

rm -rf "$run_bind" 
rm -rf "$tmp_bind" # Стираем временные файлы перед выходом

Настраиваем dns в ArchLinux
chmod +x ./arch.bash (В termux, arch.bash - скриптик выше)
./arch.bash (В termux)
rm /etc/resolv.conf (В ArchLinux)
ln -s /run/resolv.conf /etc/resolv.conf (В ArchLinux)

 

drjerk
()

Кластер из старых китафонов на базе Debian Stretch

Галерея — Рабочие места

Давным давно я покупал всей семье аппараты UMI-X2 (mt6589). Время этих телефонов прошло, апдейтов на них уже не прилетит, некоторые трубки частично убиты. К UMI-X2 еще и добавился еще и мой старый iOcean-X8 (mt6592) с убитым SIM-слотом. Выкидывать весьма производительные железки мне не хотелось, потому я сделал для аппаратов кастомные ядра и портировал Debian Stretch.

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

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

Время печати всего удовольствия - около 30 часов на моем Flying Bear P902. Моделировал в SolveSpace.

Каждый аппарат по USB определяется как композитное устройство в составе которого: сетевая карта (cdc-eem), виртуальный последовательной порт с консолью и usb mass_storage (если потребуется прямой доступ к SD/eMMC).

На данный момент аппараты планируется использовать как ферму для сборки debian-пакетов под arm через Jenkins CI. Тут два варианта: если удастся завести docker, то узлы будут эквивалентны, с контейнерами под debian armhf/armel и raspbian armhf. А если нет - то на каждый аппарат по своему дистру. Нет только аппарата на aarch64, но что-то подсказывает мне, что если второй раз разобью экран своего K6000 Pro, будет и эта архитектура в этой чудной зомби-ферме.

Кстати, за время с прошлой новости, я добавил в MediaDeb поддержку WiFi для UMI-X2, перевел систему сборки проекта на cmake, добавил в ядро все необходимое для поддержки iotop, оптимизировал систему для работы с еMMC и еще сделал много мелких доделок, включая еженедельные сборки для поддерживаемых аппаратов. А еще сделал бенчмарки

 , ,

ncrmnt
()

Рабочее место шифропанка

Галерея — Рабочие места

Привет всем! Хочу показать своё домашнее рабочее место, а также место, где хостится бОльшая часть ресурсов http://www.cypherpunks.ru

Главная часть — два компактных сервера от ETegro Technologies. Xeon процессор (чтобы поддерживать ECC память), 16 GB ECC RAM. В каждом из них корзина для 4-х hot-swap SATA дисков, но в серверах только по два диска (2-3 TB) в ZFS зеркале. В одном сервере ещё и 100 GB Kingston SSD для L2ARC кэша. Всё это соединено гигабитной сетью не связанной с Интернетом. Один из серверов выступает в качестве шлюза к Интернету — для него отдельный 100 Mbps коммутатор стоит. Есть ещё какой-то дешёвый WiFi мост, но он не включался уже много месяцев, так как вся связь между компьютерами только по Ethernet. Серверы запитаны от ИБП. К одному из серверов подключён монитор, выводящий кой какой мониторинг.

К этом подключается рабочий ноутбук — Dell Latitude 3470: довольно дешёвый, с вполне сносными характеристиками (Intel i5 на архитектуре SkyLake, 8 GB RAM, 120 GB Kingston SSD). Так как работа за самим ноутбуком (его монитором и клавиатурой) довольно редка, то претензий к качеству экрана, клавиатуры и тачпада нет никаких (любое дерьмо сгодится). Обклеен наклейками: Bradi Cerebri Ectomia, GNU, FSF, EFF, FSFE тематика — с ними работает субъективно получше. К нему подключён USB хаб на четыре порта, но, к сожалению, его не видно за монитором. Full HD 27" Монитор подключается по HDMI (в ноутбуке нет DisplayPort) и крепится на кронштейне с газпатроном — легко сделать повыше/пониже, если хочется работать стоя. Обязательно наличие Beastie — BSD системы без него... я даже не пробовал как они без него работают, ибо сомнения.

Основной элемент без которого я бы вообще не рискнул работать — тактильная механическая клавиатура. Можно поменять серверы и взять какую-нибудь лажу, можно ноутбук 10 летней давности, можно много чего — но без тактильной клавиатуры жизни нет, в принципе, вообще. Так как всё программирование проходит в редакторе, вся почта проходит в редакторе, даже набор формочек в броузере проходит в редакторе... то интерфейс между мной и редактором должен быть первостепенной важности. В данном случае это Filco Majestouch 2 с MX Blue переключателями. Абсолютно никаких к ней нареканий. Справа от неё трэкбол Kensington Expert — 4 больших полноценных кнопки, большой с хорошей инерцией шарик и колесо прокрутки вокруг него.

Работа немыслима без хорошей музыки в ушах. Asus Essence One MkII USB звуковая карта, Beyerdynamic A1 усилитель и Beyerdynamic DT990 Pro наушники — идеально под это подходят. В данный момент ноутбук ещё и заряжает сотовый телефон: OpenPhoenux (GTA4), служащий на ура уже много лет. Всё это размещается на столе Ergostol Duo — его высота может регулироваться электрическим приводом, пуль управления которого рядом с сотовым телефоном. Можно буквально все выходные провести в стоячем положении за ним. Но пришлось приобрести кронштейн для монитора — в сидячем и стоячем положении у него должна быть разная высота.

Что касается ПО, то на всех серверах и ноутбуке или HardenedBSD (в том числе в виртуалках) или FreeBSD. Все файловые системы это только ZFS (ну кроме флешек которые нужно сувать в чуждые ОС). Самое важное и ценное с точки зрения конфиденциальности расположено на зашифрованных GELI разделах: AES-XTS режим, но без явной аутентификации, ибо, так как внутри раздела ZFS, то изменить данные не получится, не нарушив целостности ФС. Трафик между серверами шифруется IPsec-ом, между ноутбуком GoVPN-ом. На шлюзе в качестве firewall: ipfw и ядерный встроенный в него NAT (к сожалению приходится иметь дело с IPv4). Касательно серверного ПО не буду вдаваться в подробности.

На ноутбуке в качестве оконного менеджера — DWM. Терминал — st. Шрифты — Inconsolata LGC. Почти всё автоматически запускается под Tmux — несколько буферов обмена, scrollback буфер с большой историей и возможностью поиска, табы, скриптование. БОльшую часть времени провожу в Vim редакторе. Почта читается в Mutt. В качестве IRC клиента — irssi, Jabber/XMPP — Bitlbee, Tox — Toxic. RSS/Atom новости сыпятся в почту через rss2email Python программу, хотя когда-то очень любит Newsbeuter. Музыка слушается Cmus-ом. На одном из серверов мультимедиа библиотека, доступ к которой идёт через NFS. На одном из серверов запущен почтовый — почта сыпется не в mailbox, а в NNCP который сохраняется в своём буфере исходящих сообщений письма для ноутбука. Когда он подключается к серверам, то забирает/отправляет всё что накопилось. Если нужно сбросить на серверы бэкапы или какие-то данные для хранения, то, опять же, все они отправляются в NNCP набор утилит чтобы fire-and-forget-ом пересылать большие объёмы данных когда появляется связанность машин.

 ,

stargrave
()

История о том, как я за $470 собрал мощный и практичный ноутбук (2017)

Форум — Linux-hardware

Скоро будет вот уже 2 года, как я поведал свою историю о том, как я за $350 собрал мощный и практичный ноутбук, но как не крути, время идёт — 220/420/520 серия уже морально и отчасти технически устарела и отстала, простой пример: поддержка OpenGL для встроенного в Sandy Bridge видео остановилась на версии 3.3, хотя для Ivy Bridge доступен 4.2, а версия 4.5 доступна на Haswell и выше. AVX2 тоже не помешает для некоторых задач. HD+ матрица норм, но в 2017 уже нужен FHD.

Хотя деньги свои мощный и практичный T420 отбил полностью, но на новый Thinkpad P50/P70 денег у меня нет, поэтому я решил не тянуть время, а уже сейчас начинать лазить по помойкам апгрейдиться.

Слегка разобравшись в той катастрофе, которая произошла после 220/420 и 230/430 серии, а именно гомнотачпад безкнопочный, перепрошивка (wlan/wwan whitelist) биоса только через программатор, а в более новых моделях вообще и это пофикшено леновой, т.е. никак и прочие прочие проблемы, я так понял и решил, что стоит остановить свой выбор на Thinkpad T440p — как последнем нормальном, да-да, последнем нормальном синкпаде, практически идеальной базе для апгрейда, с наличием некоторых важных особенностей, которые нужны были и использовались на ранних поколениях, а именно:

почему Thinkpad T440p

  • цена: новые/refurbished в районе ~$300
  • сокет: возможность замены процессора, широкая линейка Haswell 4/8 i7 с Intel® HD Graphics 4600 видео и AVX2.
  • ультрабей: последняя линейка, где он присутствует, т.е. +1 место для ssd/hdd
  • биос: еще можно почистить, но уже только с программатором (нужно купить CH341A + SOIC8 clip и задонатить на bios-mods)
  • матрица: нативная поддержка качественной FullHD IPS матрицы
  • тючпад: «нативная» установка классического кнопочного тачпада от 450/550 линейки, они взаимозаменяемые
  • корпус: всё тот же магниевый сплав, идеальная сборка/разборка и быстрый доступ к cpu/memory через 2 болта


Итак, теперь это моя новая история о том, как я за $470 собрал мощный и практичный ноутбук.


Я купил Thinkpad T440p за $300, состояние нового, все было новым: корпус, батарея, клавиатура, матрица, внутренности, ни тачпадом, ни даже винчестером не пользовались никогда (29 циклов вкл.выкл).

Конфигурация на момент покупки была такова:

  • i5-4200M (2 ядра, 4 потока), 37W
  • 4GB RAM (1х4GB)
  • 540 GB HDD (7200 rpm)
  • 1366x768 14" матовая

Я продал: 2х-ядерный i5-4200M ($72), матрицу (10$), а также память (8$) и клавиатуру (10$) благодаря чему выручил: ровно $100.

Я купил: 4х-ядерный i7-4702MQ ($150), качественную IPS FullHD матрицу AUO B140HAN01.2 / FRU 04X0436 ($62 с доставкой), кнопочный тачпад ($17 с доставкой), клавиатуру с подсветкой FRU 04X0101 ($42 с доставкой), в сумме затраты: $271.

Итак, за ~$470 я получил:

  • i7-4702MQ (4 ядра, 8 потоков), 37W
  • 3 свободных места для HDD/SSD (hdd-слот, ультрабей, M.2 2242 в wwan)
  • 1920x1080 14" матовая IPS anti-glare
  • кнопочный тачпад + трекпоинт (5 кнопок)
  • клавиатура с подсветкой (как альтернатива ThinkLight)

память и ssd я снял с T420, т.е. не платил в этот раз:

  • 16GB RAM (2х8GB)

Уже заказал с али фирменный ленововский M.2 2242 ssd, хоть у меня и нет whitelist'а, но эти получаются самые дешевые, так что пока пользуюсь тем ssd диском, что достал также с T420.

Можно ли купить ноутбук с 4х-ядерным i7 не ниже Haswell, 37W теплопакетом, FullHD IPS матрицей, 3 местами для дисков, тючпадом+трекпоинтом, корпусом не хуже thinkpad'ов T/X/W/P-серии за $470 — я не в курсе, уверен что со времен такого же апргрейда T420 мало что изменилось.

 ,

Bruce_Lee
()

netbook, 1gb ram, intel atom

Форум — Games

На сабже поигрываю иногда в mari0, homm3 и starcraft:bw.

В какие ещё игрушки можно поиграть на такоей машине под linux?

 

SuoiCat
()

Для тех, кто думает перейти на Gentoo

Форум — General

Привет

Достаточно часто создаются темы, где люди думают переходить на Gentoo и хотят уточнить некоторые моменты. Чтобы сэкономить время себе и другим, решил создать этот топик, в котором буду собирать ответы на частые вопросы.

TL; DR: Для тех, кто думает перейти на Gentoo (комментарий)

В каких случаях имеет смысл выбирать Gentoo:
1. Вы любите настраивать систему под себя. В Gentoo есть больше возможностей по кастомизации системы в сравнении с многими другими дистрибутивами: USE флаги, параметры компиляции, поддержка пользовательских патчей в пакетном менеджере, хуки пакетного менеджера (вставка своих шагов на этапе установки пакетов), игры с версиями приложений и/или зависимостей, игры с альтернативными имплементациями (openrc/systemd/..., rsyslog/syslog-ng/metalog, slang/ncruses, dhcpcd/dhclient/...).
2. Вы хотите обучиться основам Линукс. Установка Gentoo невозможна без практического понимания базовых принципов Линукс: интерфейс командной строки, chroot, работа с диском (MBR, GPT, возможно LVM, возможно шифрование, типы файловых систем, параметры монтирования и т. п.), настройка сети (WiFi/Ethernet, DHCP, ifconfig/ip, выбор между wicd/NetworkManager/sysinit и т. п.), ядро (конфигурация/компиляция/установка, firmware, внешние модули aka @modules-rebuild, возможно параметры при запуске и т. п.), графический сервер (Xorg/wayland, драйвера) и др. Большинство дистрибутивов скрывают это за инсталлятором, но в Gentoo вам придется столкнуться с этим непосредственно.
3. Требуется система максимально оптимизированная под определённую платформу или нефункциональные требования: минимальный размер (embedded), минимальный отклик (банковские системы, игровые сервера), максимальное быстродействие в конкретных областях (обработка видео потоков) и т. п. Стоит заметить, что Gentoo имеет смысл выбирать только в том случае, когда нет дистрибутива уже заточенного под эти требования, или он чем-то не устраивает.

В остальных случаях Gentoo скорее всего не лучший выбор, разве что Just for Fun.

Сильные стороны Gentoo:
#1 Gentoo очень гибкая и всенастраиваема
Пример того что в Gentoo делается просто:
- Использовать openrc вместо systemd или наоборот; pulseaudio или без него
- Наложить кастомный патч; пример когда это нужно
- Подключить или отключить такие вещи как vaapi, vdpau, opencv и т. п.
- Иметь несколько веток софта; уточню, что это работает только для определённых пакетов; например можно одновременно установить python 2.7, 3.4, 3.5 или qt4 и qt5, но нельзя одновременно установить qt 5.7 и 5.8

#2 Очень удобный и функциональный пакетный менеджер
Примеры удобных фич:
- Прервать установку (вплоть до перегрузки компьютера), а потом ее продолжить. Можно продолжить с последнего пакета (emerge --resume), продолжить но пропустить последний пакет, например, если его установка прервалась с ошибкой (emerge --resume --skipfirst, некоторые нюансы); для больших пакетов можно продолжить саму компиляцию (ebuild <полный путь и имя файла>.ebuild merge).
- Когда при установке обновляется конфиг приложения, определяется редактировался ли предыдущий конфиг пользователем. Если да, конфиг не перезаписывается, а кладётся радом, и выводится сообщение пользователю с предложением обновить конфиг.
- Обновить всю систему, но исключить некоторые пакеты (удобно для исключения больших пакетов из ежедневного обновления)
- Почистить зависимости - удалить те пакеты, которые больше никому не нужны.
- Поскольку ebuild - текстовый файл, то можно пропарсить на предмет требований к количеству ресурсов для установки:

$ for F in $(find /usr/portage -name "*.ebuild") ; do REQ=$(grep "CHECKREQS" "$F") ; if [[ -n "$REQ" ]]; then echo -e "\n$F\n$REQ" ; fi; done
- Вынести компиляцию на другой компьютер (поддержка distcc на уровне пакетного менеджера). Важно когда Gentoo устанавливается на слабый компьютер.


#3 Хорошая документация, по крайней мере на английском. Более того, поскольку Gentoo-специфичные утилиты являются лишь надстройкой на generic механизмами, документация от других дистрибутивов (например от Arch) в большинстве случаев тоже подходит.
Опрос 2014: У какого дистрибутива лучшая документация

#4 Достаточно свежий софт, много сторонних репозиториев.
Список сторонних репозиториев
Gentoo - rolling release, а значит как только новая версия конкретного софта появилась в репозитории, её можно установить. Но здесь не имеется ввиду, что как только новая версия зарелизилась, она моментально становится доступна в основном дереве; лаг есть, но он как правило не большой, хотя зависит от пакета. В тестинг ветке новые версии появляются раньше. Кроме того мейнтейнеры Gentoo могут маскировать некоторые версии, если в них обнаруживаются серьезные баги. Однако всегда можно размаскировать нужную версию. Кроме того для некоторых пакетов есть -live версии, когда исходники скачиваются напрямую из github или аналога.
Пример когда «у меня не самый свежий софт в Gentoo»

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

#6 В процессе установки и эксплуатации получаешь полное понимание как работает система, а значит возникающие проблемы решаются быстро. На самом деле без должного знания Линукса (или желания его узнать в процессе) Gentoo нормально не установить.

Недостатки
#1 Сложная и долгая первичная установка. Если устанавливать в первый раз, нужно готовиться потратить несколько дней. Для опытных - несколько часов + компиляция.
Время установки (компиляции) Gentoo, еще немного цифр по большим пакетам

#2 Пакетный менеджер хоть и удобный, но очень медленный

#3 Если не обновлять систему долго (полгода и более), то сложность обновления сопоставима с установкой новой системы. Есть мнение, что emerge-webrsync --revert=yyyymmdd должен помочь (лично я не проверял).

Особенности
#1 Высокий порог входа; дистрибутив не для новичков. Если человек не комфортно чувствует себя в командной строке, никогда не компилировал ядро, не разбивал диски на разделы, не привык изучать докуменацию, вчитываться в сообщения и анализировать логи, то Gentoo покажется сложной в обслуживании, а возникающие проблемы будут списываться на дистрибутив.

#2 Обновляться нужно часто.

#3 Основные фичи - в командной строке. Для тех, кто не привык работать в командной строке, это будет минусом. А для тех, кто комфортно чувствует себя в командной строке, это будет плюсом, так как работа в командной строке более эффективна, а типовые сценарии можно обернуть в скрипты и еще больше сократить время на обслуживание системы.

#4 Есть две ветки: stable и testing. В stable меньше шансов встретить проблему, но в testing более свежий софт. Ветки можно комбинировать.

Мифы
Миф #1 Gentoo даст прирост производительности за счет того, что весь софт компилируется под конкретное железо.
Краткий ответ: Без дополнительных телодвижений - в пределах пары процентов, так что вряд ли вы это заметите.

Детальный ответ.
Не следует ожидать что просто скомпилировав систему из исходников вы получите сколько-нибудь заметное улучшение перформанса.
Для большинства приложений компиляции под конкретное железо даст прирост производительности в районе 1-2%.
Ложка дегтя: в некоторых случаях даже может быть замедление. Например Firefox, можно ускорить с помощью PGO. В Gentoo по умолчанию это отключено, так как PGO увеличивает время компиляции почти в два раза. В бинарных дистрибутивах соотв. софт может быть скомпилирован с PGO.
Так как добиться улучшения производительности? Узкий круг приложений может быть значительно ускорен при компиляции под конкретную платформу - на 30%-50% и больше. В основном это приложения которые активно занимаются вычислениями. Но для этого требуется соотв. настройки. Например, активация SIMD инструкций, даст прирост производительности в мультимедиа приложениях. Некоторые процессоры имеют аппаратную поддержку шифрования AES. В бинарных дистрибутивах подобные фичи будут отключены, так как не все процессоры это поддерживают, а бинарные дистрибутивы в первую очередь заботятся о совместимости.
Небольшое улучшения перформанса возможно если убрать из системы всё лишнее (мнение 1, мнение 2).
Еще интересный случай

Миф #2 Обновления занимают много времени
Краткий ответ: 5-10 минут на фоне, не мешая основной работе.

Детальный ответ.
Обновления не занимают много времени, но опять же, при правильном подходе.
Во-первых, как было сказано выше, обновляться нужно часто. Для testing ветки это каждый день, или по крайней мере не реже чем в раз 2-3 недели. Для стабильной ветки - раз в неделю достаточно (на стабильной ветке намного реже выпускаются обновления)
Во-вторых, есть пакеты которые правда очень долго компилятся: libreoffice, firefox, chromium... Их всего 10-15. Я их исключаю из ежедневного обновления, а обновляю раз в несколько месяцев.
Еще нужно сказать, что на этом вопросе часто заостряют неоправданно много внимания. Обычно обновления происходят на фоне, и не сильно влияют на работу; так какая разница как долго они выполняются?
В итоге, у меня обновления занимают примерно 5-10 мин ежедневно (у меня тестинг-ветка).
К тому же всё происходит на фоне, в любой момент можно поставить на паузу (Ctrl+Z, fg), продолжить после прерывания (умышленного или случайного).
Мой скрипт ежедневного обновления

Миф #3 Gentoo требует много времени на обслуживание
Краткий ответ: это зависит от вас.

Детальный ответ.
Обслуживание Gentoo занимает меньше времени по сравнению с другими дистрибутивами, но только при грамотном обращении, конечно. Достигается это за счет следующего:
- хороший пакетный менеджер: маскировки, глобальные и индивидуальные установки для пакетов (USE флаги, опции компиляции, каталоги), хуки, приоритеты (чтобы компиляция происходила на фоне и можно было работать), много опций для установки и анализа, подсказки после установки.
- всё происходит в CLI, а значит типовые операции можно обернуть в скрипты/алиасы.
- уже существуют много утилит для облегчения обслуживания: eselect, equery, eix, eclean, euse, genlop и др.
Грамотное обращение означает, что вы правильно и регулярно обновляете систему, исполняете предписания emerge, которые он выдает после установки, держите в порядке конфигурационные файлы, а если таки возникает проблема, которую решить вы не можете, то вы обращаетесь в форумы, а не просто жалуетесь на жизнь.
Что до проблем с обновлениями - см. следующий пункт «Миф #4 Установка, обновление постоянно падают; частые блокировки»

Миф #4 Установка, обновление постоянно падают; частые блокировки
Краткий ответ: Не чаще чем в других дистрибутивах

Детальный ответ.
Если говорить про «часто» и «постоянно», то проблемы с обновлением/установкой могут быть если:
- система давно не обновлялась
- система неправильно обслуживается (см. выше про Грамотное обращение)

В редких случаях пакет просто не компилируется. На самом деле это проблема не Gentoo, а тех, кто писал этот софт. И в подавляющим большинстве случаев это не является проблемой, и вот почему. Если это обновление, то можно продолжить процесс запустив emerge с параметрами --resume --skipfirst - он обойдет проблемный пакет, пересчитает зависимости чтобы система осталась консистентной, и продолжит обновление (а можно изначально передать параметр --keep-going, тогда это будет происходить автоматически, прерываний вообще не будет). Если пакет критичен, можно установить предыдущую версию, которая компилировалась (а проблемную замаскировать чтобы пакетный менеджер ее не видел).

Что может заблокировать обновление полностью:
- просьба пакетного менеджера поменять флаги пакета. При этом emerge предлагает сделать это автоматически, но лично я предпочитаю делать вручную. Для ручного способа, решается добавлением строчки в package.use
- просьба пакетного менеджера задать лицензию. Это валидно только для не-свободных лицензий, например EULA, Skype, Adobe Flash и т. п. Если мы говорим имено про обновление, то такое бывает только когда лицензия обновляется, что бывает очень редко (как много у вас пакетов под не-свободной лицензией, и как часто они меняют лицензию?). Решается добавлением одного слова в make.conf
- просьба пакетного менеджера размаскировать пакет. По моему опыту нужно не размаскировывать, а наоборот замаскировывать пакеты, которые тянут замаскированные зависимости. Это, да, требует минут 5-10 на разобраться. Но, если только у вас нет смешения веток и live пакетов, такой вариант случается раз в пятилетку.
- сложные блокировки. Большинство блокировок пакетный менеджер разрешает сам; по моим наблюдениям, качество данного механизма значительно улучшилось пару лет назад. Из своего опыты скажу, что (учитывая частые обновления) блокировок, которые бы совсем останавливали обновление я уже не видел года 1.5. Но если они есть, то это действительно сложный кейс.

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

Миф #5 В Gentoo нет бинарных пакетов
Краткий ответ: Есть там, где это действительно нужно.

Детальный ответ
29 декабря 2023 года было официально объявлено о релизе бинарного варианта Gentoo: Gentoo становится бинарным / https://www.gentoo.org/news/2023/12/29/Gentoo-binary.html Также есть Calculate Linux - полностью бинарный форк Gentoo.
С самого начала в «классическом» Gentoo в основном репозитории всегда были несколько бинарных пакетов: libreoffice-bin, firefox-bin, некоторые другие. Связано это с тем, что из исходников они очень долго компилируются, и иногда проще поставить бинарник.
Бинарный пакет можно сделать самому командой quickpkg --include-config y <установленный пакет> - удобно для бекапов.
Но стоит обратить внимание на то, что при использовании бинарных пакетов пропадают те главные особенности, ради которых имеет смысл выбирать Gentoo. Если вам нужен уже скомпилированный софт, возможно вам имеет смысл присмотреться к другим дистрибутивам.

FAQ

#1 Установка на слабый компьютер
Смотря что есть слабый компьютер.
Из собственного опыта: Intel Core2 Duo 6600 @ 2.40GHz, 2Gb RAM + 4Gb swap хватало для комфортной работы в Gentoo.
Зачастую ebuld'ы содержат информацию о том, сколько нужно памяти для компиляции пакета. TOP 5:
16G - chromium
8G - ledger, isabelle
7G - ceph
6G - firefox x64 (для x32 нужно 3G), pypy x64 (для x32 нужно 3G)
5G - electron
Если компьютер и вправду слабый, то лучше выбрать не Gentoo (точнее не-source-based дистрибутив). Альтернатива - можно вынести компиляцию на другой «не-слабый» компьютер с помощью distcc.


Опрос 2021: Какую операционную систему и/или дистрибутив GNU/Linux вы используете на ПК?
Опрос 2018: Какой ОС вы пользуетесь на основном ПК?
Опрос 2017: Какую ОС вы используете на основном ПК?
Опрос 2014: Какой дистрибутив вы используете на десктопе?
W3Tech стастика дистрибутивов на серверах
Отличия дистрибутивов, время работы ноутбука
Чем удобны USE флаги
Сколько памяти нужно для РАБОТЫ Gentoo (сколько нужно для компиляции было указано выше)
Сколько места на диске нужно для Gentoo
Правильное полное обновление Gentoo, Мой скрипт ежедневного обновления, Еще вариант
Gentoo для девелоперов
Практика инсталляции Gentoo: в двух словах простым языком
Небольшой скрипт - сборка livecd

 

Kroz
()

Миграция на FreeBSD

Форум — Desktop

Всем доброго дня.

В какой-то момент я решил мигрировать с Manjaro Linux на FreeBSD 11.1. Очень жду выхода релиза, а всё по одной причине:

Есть флешка eMMC (не сильно разбираюсь, но на ней написано UHS-I, Class 10, SDXC) на 64 Гб. Вроде в 11.1 как раз должны прикрутить поддержку таких флешек. И вот ОС я хочу установить на эту флешку.

Прошу совета у тех, кто сталкивался с FreeBSD плотнее:
- Надо ли создавать на флешке GPT-разметку, если буду ставиться на ZFS?
- Может ли оно ставиться/грузиться с UEFI?
- Есть ли смысл глядеть на TrueOS? Какие плюсы по сравнению с FreeBSD?
- Есть ли в портах/репозиториях такие вещи как: LibreSSL, OpenNTPD, fetchmail, procmail, tilde/jed, mutt/NeoMutt, abook, calcurse, OpenJDK, компилятор Rust, Tcl/Tk, sqlite3, PostgreSQL, Metasploit, dvtm, gnupg2, Mono, FreeCAD, LibreCAD, BRL-CAD, OpenSCAD, Inkscape, GIMP, ELinks, mpv, LibreOffice?
- Устраивает ли поддержка UTF-8 в консоли, или косячная?
- Есть ли поддержка AMD KVM (забыл, как оно правильно называется), qemu, libvirt?

P. S.: Нет, мне не лень искать ответы и хэндбук я читал (и не только его), но очень хочу услышать советы/мнение реальных пользователей. Буду рад любым рекомендациям по адаптации в новой среде.

 

NIR
()

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
()

Домашнее место инженера ядра

Галерея — Рабочие места

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

Мебель из Икеи. Отдельного внимания заслуживает табуретка, конечно же :). Всё никак не соображу заменить её каким-нибудь удобным креслом. Она покупалась сразу после переезда в пустую квартиру, так и живёт.

Стол брал компактный и с полочками — квартира маленькая.

Справа от стола полочки для домашнего сервера, ИБП, коммутатора и монитора для этого сервера.

Сервер собран на Intel Pentium J3710, почти не шумит, мало ест, роутит всякий трафик и раздаёт Wi-Fi. Монитор достался от коллеги из Red Hat'а за 3 бутылки чешского пива. Коммутатор — D-Link DGS-1100-08, я его забрал с собой из Киева. Поначалу он периодически забывал все настройки, но после очередной перепрошивки работает как часы. VLAN'ы там есть, больше мне от него ничего не нужно.

ИБП — какая-то фигня от Eaton'а, которая флапает USB-портом, когда подключаешь его к любому компьютеру. Поэтому, он не мониторится никак.

Ноут — Dell Vostro 3360, тот самый, на котором пилится pf-kernel. Ему уже сравнительно много лет. Из достоинств — я когда-то умудрился туда вставить 16 ГиБ ОЗУ и 2 SSD по 256 ГБ каждый в RAID 1. Очевидно, 12309 у меня нет :). И на сервере, и на ноуте стоит Arch.

Наушники — Sennheiser HD 380 Pro. Замечательная вещь.

По мелочи: часы Casio G-Shock GD-100BW, ещё одни часы из Икеи, которые работают как термометр, телефон Lenovo P1m и две открытки от девчат с разных стран.

Снималось на Fuji X-T2 с ужасным освещением ночью. Лампа сверху, в кадр не попала. По конструкции точно такая же, какая была шесть лет назад. Некоторые предпочтения, очевидно, с возрастом не меняются.

 , ,

post-factum
()

Игры, Linux, Steam, обзоры

Форум — Games

Список 1000+ игр со ссылками на обзоры от GNU/Linux пользователей. Здесь список больше не обновляется.

Список на базе Steam с оглавлением по прежнему улучшается.

English version of the list Games, Steam, Linux, reviews.

Здесь встречаются обзоры на разных языках: [rus] — русский, [eng] — английский, [fra] — французский, [spa] — испанский, [por] — португальский, [ces] — чешский, [deu] — немецкий, [pol] — польский, [fin] — финский и [ukr] — украинский.

Должен предупредить, что в части обзоров крайне мало информации, кроме того факта, что обзор существует и автор как минимум запустил игру в среде GNU/Linux. Со временем я постараюсь улучшить эту ситуацию.

Деление на жанры довольно условно. Распространение ссылок на перечисленные здесь обзоры всячески приветствуется. «Лайкать» обзоры тоже не возбраняется.

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

 ,

Evgueni
()

Собрать небольшой неттоп

Форум — Linux-hardware

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

Память планирую взять планку 4гб с ноута DDR3L sodimm, винт 2.5" оттуда же.

Остается материнка, корпус и БП. Бюджет - ну как можно меньше, рассчитываю до 10 рубасов на это.

Требования к материнке выходят такие: 2 гигабитных сети, пару мест под DDR3L sodimm, интегрированный Intel.

Нашел только такую: https://market.yandex.ru/product--gigabyte-ga-n3050n-d3h-rev-10/13074106

Что можете посоветовать? Нормальный ли выбор материнки? Какой корпус и БП под нее лучше взять, будет ли это нормально работать без вентиляторов?

Ах да, еще хочу вайфай чтоб раздавал. Это любой usb-свисток подойдет, который умеет в точку доступа? Куда смотреть, чтоб купить совместимый с линукс?

Спасибо.

 ,

POLTER
()

ConnochaetOS - Система для слабых машин

Галерея — Скриншоты

Сейчас решил собрать из самого старого имеющегося в наличии хлама работающий компьютер и поставить не него Linux. Получилась вот такая конфигурация:

  • Материнка: Acorp 6VIA/ZX85
  • Процессор: Intel Celeron SL37X (400 MHz)
  • RAM: 64 MB одной планкой (безымянная на чипах Hyundai)
  • HDD: Quantum Fireball EL2.5A (~2.5 GB)
  • LAN: Безымянная 10 mbit/s на RTL8029AS (на ней есть BNC-коннектор!!1)
  • Video: NVidia Riva Vanta 16 MB AGP
  • Sound: Pine PT-2620-40 v1.0 / Cirrus Logic CS4281
  • PSU: Power Master LP-8 230 W

В качестве ОС поставил ConnochaetOS - идейную наследницу DeLi Linux, основанную на Arch Linux. Заявленные минимальные системные требования - Pentium I, 64 MB RAM, 2 GB HDD. У меня почти получилось их достичь =).

На изображении можно увидеть скриншот с ЛОР'ом и фотографию собственно самого железа в работающем состоянии. В качестве легковесного браузера используется xxxterm, сделанный на GTK+ и webkit. Скриншот с фотографией я склеивал сдесь же, в GIMP'е. MPlayer играет музыку...

 connochaetos, , ,

Deleted
()

luastatus — генератор данных для панелей состояния, поддерживающий i3bar и dwm

Новости — Open Source
Группа Open Source

Вышла первая версия luastatus — универсального генератора данных для панелей состояния, поддерживающего i3bar и dwm. Программа написана на C и распространяется под лицензией GNU LGPL v3.

Большинство генераторов данных для панелей состояния тайловых WM либо обновляют информацию по таймеру (например, conky), либо требуют сигнал для перерисовки (например, i3status). Панели же в составе окружений рабочего стола, как правило, обновляют информацию мгновенно и автоматически, как и luastatus.

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

>>> Страница проекта на GitHub

>>> Страница релиза

 , , , ,

shdown
()

Красные глаза, CRUX и gmusicbrowser

Галерея — Скриншоты

Уже две недели на CRUX, полет нормальный.

Весь софт собирается в оперативке, /tmp в оперативке, кэш firefox'а тоже. Никакого пульсаудио, системд и прочего: минимальные зависимости. Никакой документации и мусора. Только маны.

Когда не слушаю музыку — слушаю винт, чтоб не шуршал не дай бог. Иначе паника, хватаюсь за iotop и бешено ищу виноватых.

Короче, хочу рассказать не об этом: в терминале виден код, это плагин к gmusicbrowser. Кто не знает об этом плеере, предлагаю оценить. Наифичайший: плагины, бэкенды, кастомизация внешнего вида. В pull реквестах проекта, на гитхабе, валяется плагин к musixmatch. Русско/украино/молдо/казахскоязычной аудитории может понадобиться, чтоб плеер находил тексты песен на этих языках. В целом исправлений немножко накопилось... как-нибудь оформлю патчи.

О коде: наконец-то дошли руки. Давно хотел. Теперь в gmuscibrowser можно включать эквалайзер для каждой песни отдельно, создавать свои предустановки разным песням, включать по умолчанию какую-то предустановку или полностью вырубить эквалайзер. Чтоб включался только указанным песням.

Вот скриншот: https://transfer.sh/UA2kE/07-03-17-10-51-29.png

Иииха! Глаза красные, уши прекрасные.

Меломанам посвящается.

 , ,

Deleted
()

Скрипт для выгрузки всех скриншотов linux.org.ru и описания. Локально.

Форум — Talks

Написал на досуге скрипт на python3 для выгрузки локально всех скриншотов галлереи лора с 1999 года.
Решил просто замутить галлерею отдельную с историей таких скриншотов, вдохновился лором, и решил нарабатывать навыки написания кода на python (пишу 2 неделю на нем), до этого писал 6 лет на php.
Весь код открыт, находится на github:

https://github.com/foozzi/linux.org.ru-gallery

Буду рад помощи и вашим доработкам скрипта, вскоре запущу (если администрация разрешит), ресурс с галереей этих скриншотов онлайн.

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

 , , , ,

noname_user
()

Cloud-разработка в Chrome OS на ASUS Chromebit и Kubernetes+CoreOS

Галерея — Скриншоты

У меня давно настроен Kubernetes+CoreOS на одной машине и это позволяет мне экспериментировать с разработкой распределенных приложений дома и запускать разные сервисы вроде торрентов и транскодинга в условиях жесткой изоляции среды и ресурсов.

Я решил попробовать устроить себе среду разработки, которая будет соответствовать определенным критериям

  • Будет глобально доступна с любой машины в мире без установки софта кроме браузера.
  • При работе с другого континента не будет ощущаться задержка при печати как было бы в vim+tmux. mosh скорее всего бы не решил проблему с vim.
  • Глобально доступны по HTTPS веб-приложения запущеные в этой среде
  • В Linux среде где запускается разрабатываемое приложение можно заменить дистрибутив на другой за несколько минут, но сохранить home.

Чтобы эксперимент был чистым все это тестируется на ASUS Chromebit со стоковой ChromeOS, 2 ГБ памяти и ARM Rockchip Quad-Core RK3288C, которая размером с большую флешку и воткнута в телевизор LG 49LB550V. Потому шрифты могут быть чуть больше чем обычно, чтобы было лучше видно на телевизоре. Устройство очень маломощное, но работает быстро потому что в ChromeOS нету дискового swap, только RAM+zRAM и если что-то не влезает, то выгружается.

Скриншоты

  • Редактор Codiad в полноекранном режиме. В принципе можно установить любой другой, но для обычного редактирование текста он подходит. Если найду такой, который потребляет мало памяти и умеет режим vim, поставлю его.
  • tmux. Вот так выглядит контейнер для разработки. Он совершенно отдельный от Codiad и я могу менять в нем дистры простым редактированием Dockerfile. В него и в Codiad примонтирован один и тот-же каталог с исходным кодом. При смене контейнера home тоже сохраняется. В данном случае в контейнере последняя версия Ubuntu, но ядро как всегда остается хостовым от CoreOS. В контейнер заранее установлены средства разработки на C++, Go, Python, NodeJS.
  • Caddy, который вы видели запущеным в контейнере. Интересная часть заключается в том, что для него создается виртуальный хост, создается Let's Encrypt сертификат и производится авторизация. Это умеет делать и сам Caddy, но он тут просто для демо. Суть в том, что в данном случае это будет делаться на уровне nginx фронтенда для любого приложения открывшего порт 8080 в контейнере
  • tmux+vim. Если работать не издалека, то вполне можно просто пользоваться tmux+vim. Плагины на него устанавливаются в home и в основном продолжают работу при смене дистра, кроме тех, которым нужна перекомпиляция.
  • Внутренности. Это Kubernetes Dashboard. В ней вы видите некоторые из упомянутых выше контейнеров и еще много чего. Для временных изменений некоторые параментры контейнеров можно менять прямо в UI, но лучше конечно через файл конфигурации.

Изначально CoreOS машина разворачивается сама по iPXE на голый диск. Если система уже была установлена, то она просто загружается. После этого по SSH необходимо загрузить ключи и некоторый набор базовых сервисов Kubernetes. Теперь кластером можно пользоваться удаленно через kubectl. Я запустил там локальный docker реестр, потому вы видите localhost в названии некоторых контейнеров. На моей машине различные сервисы работают на Alpine Linux, Ubuntu или CentOS в зависимости от того, на чем было проще настроить конкретное приложение. Если разницы нету, то я использую Alpine, так как тогда контейнеры наиболее компактны.

Цепочка загрузки такая

  • BIOS
  • PXE
  • iPXE
  • Ядро CoreOS
  • systemd
  • Docker
  • Kubernetes
  • Сервисы из публичных образов и локальный Docker реестр
  • Сервисы из локального Docker реестра

В качестве сервера использую старый Dell ноутбук с Core i7-2630QM, 8GB RAM и сломаной батареей, ибо нечего ему пылиться с таким процессором.

Если я захочу подключить второй сервер, то мне нужно сделать два действия: сделать для второго сервера облегченный конфиг без части Kubernetes демонов и придумать как монтировать диски удаленно. Пока что персистентные каталоги монтируются в хост систему, что не будет работать если сервисы будут случайно мигрировать между машинами. Но если я это сделаю, то полностью програмная виртуальная сеть на flannel будет работать полностью прозрачно и контейнеры на разных будут общаться друг с другом так же просто как и раньше. Из того что можно настроить дома поддерживаются GlusterFS+Heketi, Ceph и NFS

Среди дополнительных удобств на сервере есть связка Transmission+Plex, интерфейсы которых тоже доступны глобально. Потому я могу пойти в гости, поставить torrent дома с телефона, а потом транскодированый и оптимизированый фильм можно посмотреть на телевизоре например через Chromecast, AppleTV, PS4, XBox, Android, Windows Phone или другой способ отобразить браузер с компьютера на телевизор.

В качестве заключения скажу что мне понравился такой способ настройки домашнего сервера. Использование Docker контенеров позволяет уравнять в легкости настройки опакеченый софт из дистрибутивов и софт, который устанавливается скриптом сборки на github. Они оба могут быть завернуты в контейнер на любом дистрибутиве и потом когда более не нужны могут быть аккуратно удалены. Kubernetes очень облегчил работу с виртуальными хостами, шифрованием, перенаправлением портов, изоляцией ресурсов, перезапуском упавших сервисов и проверкой их здоровья.

 , , ,

vertexua
()

mush performance

Галерея — Скриншоты

900 MHz счастья и 256 Mb радости. GPU Radeon 7000 (RV100), 18Gb HDD. Планирую сделать апгрейд до GeForce 4 MX (или посоветуйте что-нибудь лучше для AGP 4.x). Еще скриншот.

  • Firefox 3.6.9 (40.х тоже норм, но 3-тий достаточно)
  • gimp2
  • Libreoffice 5
  • mplayer (да, в HD 720p может)

Больше и не надо.

 ,

mfhunruh
()

Еще на тему визуализации аудио

Галерея — Скриншоты

По мотивам этого топика, сильно зачесалось оформить себе нескучную музыку на стол. Беглый обзор показал, что самый художественный свист в этом плане выдает проект C.A.V.A., но консоль это немного не то. Поэтому была написана обертка на питоне, которая читает вывод cava и рисует в собственном gtk окне. Бонусом оно умеет часть настроек cava через гуй, играть mp3 через gstreamer, брать картинки из тегов и определять (с переменным успехом) их цвет. Можно посмотреть демо всего этого и поковырять исходники. Там еще некоторые косяки, но что-то я поднаелся, пусть будет так.

Окружение: все тот же старый awesome 3.5.9.

 ,

Worron
()

Свободная программа для рисования красивых диаграмм - есть такая?

Форум — Desktop

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

 ,

aquadon
()

Сочиняю лабораторные работы

Галерея — Скриншоты

Пока отдельных граждан намертво привязали к Delphi, я тут решил обновить задания к лабам, собрать те работы, которые буду проводить весной, в одну методичку. Расчётные задачки я ещё где-то в мае большей частью переписал со старого Matlab под Scilab 5.5.2.

Получился вот такой несколько постановочный скриншот «в двух частях». Слева — будущая методичка, в vim набираю её в LaTeX, в соседней вкладке запускаю сборку pdflatex. На заднем плане кусок получающейся pdf-ки.

Справа Scilab: основное окно, развёрнутое на весь экран, а на переднем плане фрагмент скрипта и окошко с графиком, который тот рисует. В принципе, две половины скрина соответствуют двум рабочим столам Xfce.

Оформление практически дефолтное для Xubuntu. Адвайта, стиль окошек — Radiance Flat Graphite. Значки Vibrancy. Верхняя панель растягивается под текущее количество значков и автоматически скрывается при развёрнутых окнах (у которых отключена строка заголовка — всё для того, чтобы выжать побольше места из несчастных 1366 на 768). Вот так это выглядит при пустом столе: панели и чёрно-белая обоина с недовольной деревянной физиономией :)

 , , ,

al_exquemelin
()