LINUX.ORG.RU

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

QEMU. устройство хранения block vs file.

Форум — Admin

Всю жЫсть использовал для дисков формат qcow2. В xml’е секция под это выглядит вот так

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/kvm/images/vm.qcow2'/>
  <target dev='vda' bus='virtio'/>
  <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</disk>

В ТГ наткнулся на канал, в котором чувак (препод в одной из госконтор) упорото топит во-первых за разметку хоста - lvm (у меня RAID-1), во-вторых диски ВМ он создаёт тоже lvm lvcreate -n vm -L16G vg (некий бутер из lvm получается) и его секция в конфиге выглядит так

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/ssd/vm' index='2'/>
  <backingStore/>
  <target dev='vda' bus='virtio'/>
  <alias name='virtio-disk0'/>
  <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
</disk>

а про qcow2 с пеной у рта кричит: - «ЗАБУДЬТЕ…!!! Это прошлый век. Использование хранилок блочными в сто раз быстрее, чем файлами».

В общем я замерил. Файлом у меня скорость чтение/запись примерно в 8 раз быстрее, чем блоком.
Кто юзает qemu, поделитесь опытом, как всё-таки лучше будет юзать диски под ВМ.

P.S> Лев, если ты это читаешь - сорян. Я хочу выяснить у местного бомонда действительно ли ты прав в своей теории…=)

 , , ,

Shprot
()

Веселая музычка из /dev/urandom

Форум — Development
cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | aplay -c 2 -f S32_LE -r 16000

Source: http://blog.robertelder.org/bash-one-liner-compose-music/

 , ,

Oxdeadbeef
()

fpga + pcie + dma + SG

Форум — Linux-hardware

Всех приветствую.

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

Для начала исходные данные:

  1. Есть некая fpga которая может прикидываться EP сидя на шине PCIe для передачи данных от CPU в какую-то физическую среду, которая где-то там с другой стороны выходит в наружу (суть ее на важна, если кому-то нужна определенность пусть будет serdes).

  2. Для эффективной и быстрой передачи делаем SG и схематоз типа сетевых карт. Заводим в памяти массив дескрипторов, где есть битовый флаг владельца этого дескриптора и адрес буфера где лежат сами данные. Ну и для полноты битик обозначающий конец массива дескрипторов (чтобы железка понимала, что надо начинать читать с начала). Для простоты, пока считаем передачу в одну сторону - MEM2DEV. Отдельно выделяем буферы для данных, адреса которых, прописываем в дескрипторы.

  3. В железку, куда-то в регистр прописываем адрес начала массива дескрипторов.

Это все исходные данные.

Дальше берем линукс, пишем стандартный драйвер для pci. Где выделяем память для массива дескрипторов (конечно с когерентностью), выделяем буфера. Заполняем дескрипторы адресами буферов и битики все расставляем куда надо.

Это наше исходное состояние.

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

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

Понятно, что железка битик сразу заметит. Как именно? Как быстро?

По моим ощущениям где-то через 1 клок внутренней частоты fpga.

Дальше запустится процесс чтения дескриптора. Как она его будет читать? По-словно по шине pcie из памяти к себе? Стартанет DMA для передачи сразу всего массива дескрипторов?

Призываются все плисоводы которые реализовывали pcie на fpga для передачи чего-то сложнее хеловорда.

 , , , sg

yax123
()

3D-принтера выбора тред

Форум — Talks

Привет ЛОР, а что у нас сегодня на рынке принтеров? У меня есть древняя пруша i3, но нужно заменить этот хлам на что-то, с чем можно уже работать по-человечески. Требования:

  • Без геммороя, желательно готовый, но можно и собрать на крайняк.
  • Печать абс пластиком. Подогреваемый стол понятно, но нужен еще и экран в идеале же?
  • Поле хотелось бы 300х300х300, но рассмотрю варианты и 250, и даже 200.
  • Бюджет 100к деревянных.

Линукс тут при том, что слайсер будет на онтопике.

 , ,

sehellion
()

книга по эмбеддовке

Форум — Development

А подскажите какие-нибудь достойные книги по эмбеддовке. Не тупое перечисление пинов и аббревиатур с курсом программирования на Си и асме, а что бы было описание всяких SPI, I2C, JTAG, для чего они и как устроены внутри, может история принятых инженерных решений.

На английском, ну или на русском

 , книга,

zendrz
()

Horizon EDA 2.6.0

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

Вышла новая версия Horizon EDA — свободной системы автоматизированного проектирования электронных устройств.

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

В примечаниях к релизу разработчик по факту признаёт решение использовать GTK4 во втором своём проекте — САПР Dune3D — неудачным и обещает в обозримом будущем оставить Horizon EDA на GTK3, поскольку порт на GTK4 займёт много времени и сил и в итоге ухудшит пользовательский опыт.

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

 , , , horizon

AP
()

Игра «Бездна света» на свободном движке INSTEAD

Новости — Игры
Игра «Бездна света» на свободном движке INSTEAD
Группа Игры

Василий Воронков, автор игр «Переход» и «Лидия», а так же нескольких книг, выпустил новую игру «Бездна света».

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

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

>>> Скачать игру

 , , , ,

gloomy
()

Как забирается RTP поток у сервера RTSP?

Форум — Development

Приветствую.

Дошли руки для продолжения темы (RTSP публикация надежна?), но пока классический вариант освоить требуется.

Все это «ноу-хау» )) делаю на основе кода на С умершего ffserver от ffmpeg, в котором и реализован только сам RTSP (+html) сервер, а RTP протокол обернут в библиотеки ffmpeg-a - собсна что мне и нужно с одной стороны, но не дает понимание как там работает RTP.

С RTSP понятно - слушающий сокет, через который по входящим событиям (poll) парсится текст. После rtsp согласования открывается еще один (хотя в netstat вижу 2 для rtp и rtcp) слушающий сокет, в который начинают писаться кадры, обернутые в rtp и разбитые на udp/tcp пакеты (в первую очередь рассматриваю udp соединение).

Собсна из за непонимания как происходит RTP обмен вопросы

  1. rtp клиент запрашивает каждый раз новые данные или rtsp сервер просто пишет в сокет, пока в сокет rtsp не придет закрыть соединение?
  2. несколько причин есть очередного рефакторинга, но одна из них это в том, что rtsp клиент может отваливаться и не прислать teardown - с помощью чего подобное лучше отслеживать, исходить из того, что каждый rtsp клиент обязан периодически слать options и по таймауту закрывать сокеты?
  3. вся эта кухня делается на одноплатнике, который уже занят на 75% по процессору, а хочется не только отдавать больше одного видео потока как это сделано в ffserver, но еще и разные (последние создадут нагрузку только на чтение с флешки помимо сети для случая однотипных) - однопоточный RTSP/RTP сервер потянет такие задачи для случая до 10 соединений или лучше сразу разделять 2 протокола на 2 потока?

Пы.Сы. звиняйте за многа букав )

 , , ,

wolverin
()

Книги почитать (никакой тех литературы)

Форум — Talks

Приболел.
Надо что-то почитать хорошее. Так как температура, присобачил хороший шрифт на 60" моник, лёжа читается супер с беспроводной. Пользую на сегодня или Emacs или fbless.

Возник вопрос, а что же почитать? Полез на Hugo Awards и стало хуже. Одни женщины. Потерялся.

Предпочтений нет кроме одного: Литература, написанная после 2005 года, так как до этого плотно читал. Много.

посоветуй, Анон, что пробовал на зуб.

 ,

masterOf
()

Понижение флага -j для некоторых пакетов в emerge

Форум — Admin

Как сделать так, чтобы все пакеты по умолчанию собирались -j8, но для некоторых явно прописанных пакетов было -j2, -j3, -j4?

Перемещено hobbit из general

 ,

zx_gamer
()

Зацените дизайн сайта в стиле TUI for DOS :)

Форум — Talks

 ,

sanyo1234
()

Помощь с решением треда

Форум — Job

Привет! Опишу задачу заново.. 3proxy + OpenVpn

Имеется сервер ubuntu 20.04.. На сервер ставлю 3proxy, поднимаю прокси и теперь могу использовать данный сервер, как прокси сервер-ip:port:log:pass На данный сервер устанавливаю openvpn.. Закидываю конфиг, в котором через openvpn идет подключение к стороннему впну..

Поднимал уже так сервер(Спасибо ребятам, которые подсказывали, но сервер не проплатил и все слетело)..

Какую задачу преследую?-Поднимаю 3proxy условно на порту 0001 от пользователя 1 и также запускаю конфиг 1 openvpn.. Создаю таблицу 1 и пересылаю трафик от 3proxy к openvpn.. Основная задача:-чтобы при подключении по данным 3proxy он выдавал конечный ip адрес впна.. Таким образом создаю 1 порт..

После дублирую подобное с разными настройками и таким образом поднимаю условно 30 портов.. Выходит у меня 30 проксей с разными Ip адресами..

Какая проблема сейчас? С iptables проблем нет- все правила прописываются.. С поднятием 3proxy и прочем проблем нет..

Конкретно сейчас проблема в том, что из-за команды в конфиге route-nopull- openvpn поднимает только тунель в отдельной таблице, хотя раньше он все подключения закидывал в данную таблицу.. Сейчас же только тунель поднимает и все(команда на поднятие тунеля у меня находится в файле).. C route-nopull он только поднимает тунель, а без route-nopull работает только openvpn, так как все лежит в основной таблице маршрутизации и 3proxy из-за этого перестает работать..

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

Основная задача-Чтобы openvpn подключался к впну автоматически и все Ip адреса закидывал в отдельную таблицу маршутизации, дабы в последующем перенапрявлять трафик от 3proxy в данную таблицу маршрутизации..

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

И подскажите, сколько это будет стоить..

 , , ,

lolipop5577
()

Посоветуйте стартер кит(программный) для изучения схемотехники

Форум — Talks

Есть цель: разобраться в схемотехнике на таком уровне, чтобы можно было собирать простые усилители НЧ. Что нужно?

  1. Хорошая книга, чтобы там было максимально сжато сформирована информация, необходимая для того, чтобы можно было понимать, как работает схема и как ее промониторить

  2. Программа, для моделирования схем, с проверкой их корректности и работы

 

serg002
()

Как выбрать частоты тактирования?

Форум — Development

Пишу прошивку для девайса. Он в том числе взаимодействует с ПК по USB.

Имеется внешний кристалл на 25 МГц. Имеется внутренний резонатор на 8 МГц. Также имеется два внутренних умножителя и набор делителей.

Для USB-периферии я из 25 МГц получаю 48 (25 / 5 * 8 / 10 * 12).

SYS тактирование я могу выбрать либо от этих 48, либо от кристалла (25) напрямую, либо от внутреннего резонатора (8). Сейчас я беру 48.

Далее я через множитель могу это значение поделить и настроить частоту AHB шины. Сейчас я делю на 8, получаю 6 МГц. На этой частоте работает процессор.

Далее мне нужно получить частоты для шин APB1 и APB2. Сейчас я APB1 делю на 16, получаю 375 kHz и APB2 делю на 4, получаю 1.5 MHz.

Собственно это всё я настроил исходя из принципа - чем меньше, тем лучше. На 3 МГц у меня USB не завёлся, соответственно поставил 6.

На шине APB2 у меня крутится таймер, через который я делаю микросекундные задержки для USB, поэтому её тактирую повыше (таймер использует двойную частоту, 3 МГц).

Каких-то требований на данный момент у меня нет (точней они такие небольшие, что подойдёт что угодно, к примеру у меня ещё будет SPI, для которого нужна скорость не ниже 110 КГц и передавать данные по USB я буду со скоростью примерно 15 КБ/с.

Есть ли какие-то соображения, по которым стоит запитать AHB шину не от делителя USB? Если запитывать от 25 МГц кристалла, то делить на ровные числа не получается, а частота в 25 МГц мне кажется избыточной, хотя изначально так и делал. Запитывать от 8 МГц резонатора кажется странным при наличии внешнего кристалла.

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

 

vbr
()

STM32 с нуля (жж)

Форум — Talks

Я тут в очередной раз пытаюсь освоить программирование микроконтролеров. Захотелось написать такой полу-ЖЖ, полу-туториал (как говорится - хочешь разобраться в чём-то, объясни это другим). Может кто почерпнёт или подскажет чего полезного.

Если интерес будет, буду продолжать.

Итак осваиваем STM32 не как нормальные люди.

Примерный план:

  1. Подключить его к компьютеру и убедиться, что там что-то происходит. Использовать будем st-util и gdb.

  2. Написать простейшую программу на ассемблере, которая в цикле прибавляет регистр, скомпилировать из неё прошивку, залить на плату и пронаблюдать её работу. Использовать будем binutils и st-flash.

  3. Поморгать диодом (на ассемблере же).

  4. Переписать осмысленный код на С (дальше всё на С).

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

  6. Сказать внешнему миру «Hello world» через UART.

  7. Переписать «Hello world» с помощью CMSIS, уже с пониманием того, что там происходит.

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

Сразу скажу, что в процессе будет использовано достаточно много инструментов вроде make, ld, gdb, as, gcc и тд, по каждому из них можно книги писать (и пишут). Поэтому, конечно, углубляться в них я не буду, а напротив буду использовать в максимально примитивном виде.

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

 , ,

vbr
()

Выбор медиа-сервера

Форум — Talks

Всем привет) Для Admin/Media вроде бы не серьёзно, но если требуется - то мои извинения.

Задача проста - сервер на котором есть список видео и клиент, на котором этот список воспроизводиться, клиентом выступает простой телевизор на android.

Смотрел Xibo / KODI, сейчас запускаю просто поток на VLC)

Хотел бы услышать советы \ истории успеха по такой задаче, именно каким сервисом или набором «костылей» решили такое.

Спасибо)

 ,

lawliet
()

Выбор принтера

Форум — Linux-hardware

Ищу ЧБ лазерный принтер, с двусторонней печатью, с дешевыми расходными материалами.

Собственно, почему пишу сюда. Нужно чтобы принтер работал в Линуксе без установки каких-либо драйверов и прочей бинарной мути. Насколько я понимаю, он должен иметь сетевой интерфейс (предпочитаю проводной, WiFi возможно в дополнение), поддерживать PostScript и AirPrint.

Что посоветуете из доступного в России?

 

zb2
()

А подскажите платки с ланом и уартами

Форум — Linux-hardware

Сабж, пользую по старинке Нанопи но вдруг кто подскажет чуть более подходящее решение для двух вариантов:

  1. аналог ip-камерных плат с мелким линухом, без матрицы но с парой уартов (или сразу с парой 485) и внятным жпио на борту, в идеале с ацп.
    Т.е. дешёвый Китай-проц (гок7205 весьма и весьма), метра 32 ОЗУ и флешка на борту под ОСь и метров 10 свободных.
    Камерные платы в целом радуют но много лишнего гимора с «найти именно с двумя уартами, отключить на одном консоль, страдать без жпио» ради «полюбиться чтобы туда зайти под Рутом а потом без документации и по вялым следам собирать под нее нужные модули ядра»
    Короче задачка получить больше портов и жпио (очень хотца ацп) в обмен на проц

  2. аналог какой-нить ардунки но сразу с ланом на борту и в идеале с процом более внятным - немощь типа 051ого стм32 в целом устраивает но если будет пожЫрнее то хорошо.
    Тут задачка аналогичная - заиметь много портов и ацп но чур с ланом на борту (610/5500 вз паять вот не хочу, хочу сразу на борту)

Из покупаемых хотя бы на алике
Спасибо

 , ,

rukez
()

Для тех, кто думает перейти на 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
()

Хранение и организация заметок

Форум — Talks

В общем, с каждым днем всё острее встает необходимость хранить какие-то записи о разных вещах. До этого пользовался просто текстовыми файлами в plain text, нужно хотя бы форматирование. Вставка картинок\видео, электронных таблиц было бы тоже весьма кстати. Очень хотелось бы теги. Т.е., например, один файл может касаться сразу нескольких тем, а лежит, естественно в одном каталоге. Можно и несколько решений, в принципе.
Можно и self-hosted решения с web-мордой, даже будет плюсом.
Но решений, где все хранится где-то в хрен-пойми-какой базе хотелось бы избежать.

 , , ,

sehellion
()