LINUX.ORG.RU

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

Как systemd монтирует lvm-разделы? (хочу без fstab)

Форум — General

разделы lvm не монтируются при загрузке, с сообщением (для mount-юнита) в логе о том, что зависимость подкачала. А для device-юнита в логе пишет, что таймаут.

примерно так: https://unix.stackexchange.com/questions/556819/systemd-time-out-waiting-for-device-dev-mapper-vg

По совету со stackoverflow я сделал device-юниты в виде явных файлов, однако пример со стековерфлоу содержит секцию [Service] а моя система ругается, и говорит, что в device-юнитах такой секции быть не должно и она проигнорирована.

я создал 1 файл mount, 1 файл device, добавил их командами systemctl enable, и мой lvm-раздел всё ещё не монтируется (корень тоже lvm-раздел, но он монтируется, потому что он монтируется по-другому из initramfs).

читал то - https://www.freedesktop.org/software/systemd/man/systemd.mount.html и это - https://www.freedesktop.org/software/systemd/man/systemd.device.html

Были такие темы и на LOR - Монтирование lvm разделов вsystemd интересно, разобрались ли с ними по-существу, а не обходными манёврами, как здесь - Запуск системы с разделами на LVM ?

Пробовал выполнять запуск юнитов из консоли без перезагрузки. Поведение такое же - таймаут у device, не монтируется у mount-юнит. Если руками выполнить команду mount, то systemd индицирует, что mount-unit запущен. Его можно остановить и он размонтируется. А сразу после этого обратно запустить не получается.

Что и куда мне надо прописать в этом вашем systemd, чтобы стало хорошо?

 ,

Einstok_Fair
()

Настройка XKB

Форум — General

Привет. Пытаюсь поменять местами клавиши на клаве, решил сделать не топорно правя файлы в /usr/share/X11, а через конфик-опцию в sway

input <identifier> xkb_file <file_name>
           Sets all xkb configurations from a complete .xkb file. This file can be dumped from xkbcomp $DISPLAY keymap.xkb. This setting overrides xkb_lay‐
           out, xkb_model, xkb_options, xkb_rules, and xkb_variant settings.

сделал дамп через xkbcomp:

root /usr/share/X11/xkb/rules # xkbcomp $DISPLAY xkb_config.xkb

подключаю:

input keyboard xkb_rules "xkb_config.xkb"

Результат - жалуется на ошибки в файле, пытался скомпилировать .xkb в .xkm, итог аналогичный. Может кто уже мучился? Если чего-то накостылится, то хотелось бы кинуть xkb_config.xkb в ~/.config/sway, но никак не выходит, не находится там конфиг, по-всякому задавал пути - отностельный и абсолютные. Интересно, почему решили взять иксовый xkb? Как-то причесать бы его под wayland.

 , ,

pavlick
()

i3. Не опять, а снова

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

Экстракт всего ненужно в одном скриншоте.

  • ОСь - Рач
  • WM - i3-gaps
  • Панелька - polybar
  • Блокнот Редактор кода - VScode
  • Терминал - tilix(тайлинг в квадрате)
  • Файловый менеджер - ranger

 , ,

RedMaun
()

Рендеринг шрифтов в линуксе как в Windows 10

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

Делюсь конфигом, который делает шрифты очаровательно читаемыми. На скриншоте текстовый редактор VS Code.

Больше скриншотов: Lor / Firefox, Lor / Chromium, GitHub, Telegram, System

Сравнение: до и после, до и после

Конфиг здесь: GitHub Gist

Автор конфига и скриншотов не я.

Критика и контрибьюции приветствуются.

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

Основной посыл поста: получилось ли у автора сделать рендеринг как в Windows 10 на линуксе или нет? Если нет, то как улучшить конфиги?

 , , , ,

elonmusk
()

В ядро Linux для ФС Ext4 включена поддержка работы без учёта регистра символов

Форум — Talks

Тед Цо (Ted Ts'o), автор файловых систем ext2/ext3/ext4, принял в ветку Linux-next, на основе которой будет сформирован выпуск ядра Linux 5.2, набор изменений, реализующих поддержку регистронезависимых операций в файловой системе Ext4. Патчи также добавляют поддержку обработки символов UTF-8 в именах файлов (для сравнения и нормализации строк, включающих символы определённые в спецификации Unicode 12.0).

Режим работы без различия регистра символов опционально включается в привязке к отдельным каталогам при помощи нового атрибута «+F» (EXT4_CASEFOLD_FL). При установке данного атрибута на каталог все операции с файлами и подкаталогами внутри будут производиться без учёта регистра символов, в том числе регистр будет игнорироваться при операциях поиска и открытия файлов (например, файлы Test.txt, test.txt и test.TXT в подобных каталогах будут считаться одинаковыми). По умолчанию, за исключением каталогов с атрибутом «+F» , ФС продолжает быть регистрозависимой. Для управления включением регистронезависимого режима предлагается модифицированный набор утилит e2fsprogs.

 ,

vasya_pupkin
()

Emacs 26.2

Новости — GNU's Not Unix
Группа GNU's Not Unix

В День Космонавтики случилось ещё одно радостное событие - релиз среды исполнения Lisp программ Emacs, наиболее известной лучшим (по мнению пользователей Emacs) редактором текста.

Предыдущий релиз состоялся чуть меньше года назад поэтому заметных изменений не так много:

  • поддержка 11 версии юникода
  • поддержка сборки модулей в произвольной директории
  • удобная команда сжатия файлов во встроенном файловом менеджере

Кроме того стоит отметить релиз 9.2.3 org-mode - режима управления заметками, таблицами, календарями и всем тем, что необходимо для организации продуктивной работы. Несмотря на то, что это часть Emacs, у неё отдельный цикл релизов.

Из личного опыта - даже org-mode https://orgmode.org/ уже достаточно для того, чтобы задуматься о переходе на Emacs.

В предверии неизбежных шуток за 300 про «отсутствующий редактор»: http://spacemacs.org/ - преднастроенный дистрибутив Emacs, созданный по мотивам vim.

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

 , ,

zabbal
()

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

Форум — Development

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

И есть у меня одна проблема. Очень часто в моих баш скриптах есть команды терминала. И они настолько разнообразные, что никакого единого подхода питоном к ним нет. А зачастую и вообще можно только запустить bash код из Питона.

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

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

os.system - не отлавливает ошибки subprocess.check_output - не тоже не отдает то ли ошибку,то ли вывод.

Единственное, что более менее работает это

p = Popen(command)
p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
		universal_newlines=True)
	output, error = p.communicate()

но и тут проблемы.

Если я делаю return, то не вижу вывода и должен делать x=function_name(cmd) print(x)

А если я делаю print , то не могу засунуть output в переменную.

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

вот она:

def run_command(cmd,output="print",exit_on_error=False):
	p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
		universal_newlines=True)
	o, e = p.communicate()
	if p.returncode != 0:
		if output == "print" : print("%s%s" % (o, e))
		if exit_on_error:
			print("Error. Exit script")
			quit()
		if output == "return": return("%s%s" % (o, e))
	else:
		if output == "return": return("%s%s" % (o, e))
		print("%s%s" % (o, e))

И если я хочу вывод на экран, то

cmd='команда'
run_command(cmd,"print")

А если я хочу вывод в переменную, то

cmd='команда'
x=run_command(cmd,"return")

В если я хочу выйти из скрипта при ошибке, то

run_command(cmd, "print", True)

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

Например:

last_remote=$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1")

или просто 

$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1")

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

Вопрос, вот эта моя уродливая функция: так все мучаются? или есть нормальное решение?

 , , ,

constin
()

Кастомизация статусной строки

Форум — Development

Можно как-то убрать часть значений из статусной строки?

-UUU:----F1  views.py        2% L37   Git-master  (Python WK yas ws Projectile[some_project:generic] h-i-g Helm FlyC:0/15 ycmd company)

 

Xwo
()

Большой лаг bluetooth

Форум — Desktop

На днях обзавёлся блюпуп колонкой. К линуксу подрубается через раз, имеет задержку в воспроизведении звука примерно в секунду. Попробовал гору разных советов из интернета, но лаг уменьшить не удалось.
При работе через remmina, звук запаздывает порой секунд на 20, когда как без колонки лаг составляет не более 2 секунд.
Т.е. дело где-то в аудиобуфере, похоже. Но что-то я даже не знаю куда соваться.
Кто-то решал подобный вопрос ?
И bouns level: колонка имеет микрофон, но пульса о нём не ничего не знает.

 , , , ,

Deleted
()

Хостинг картинок с добавлением через curl, открывающийся через тор, аналог 0x0.st

Форум — General

0x0.st умеет классно работать через консоль, но в браузере тормозит открытие картинки при обращении через тор.

Подскажите аналог, который тоже умеет

curl -F'file=@picture.png' 0x0.st

и который не тормозит, если заходить по url картинки через браузер с тор?

 , ,

znavko
()

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

странное копирование на USB

Форум — General

привет!

при копировании файла на USB(любым способом), ощущение такое, что файл целиком читается в какой-то буфер и только потом пишется на USB, и пишется очень медленно %)

если копировать при помощи какого-то GUI, то индикатор прогресса сразу показывает %100, но копироваться реально будет еще ооочень долго.

подскажите, куда копать?

спасибо.

 ,

niXman
()

Как в linux работает AMD Ryzen 5 1600x

Форум — Linux-hardware

Вот читаю:
https://community.amd.com/thread/219002

Там человек пишет, что у него при работе linux на топовом процессоре наблюдаются всякие сбои, хотя винда работает нормально. По этому я хотел спросить, как данный процессор работает в linux?

 ,

ne-vlezay
()

Как на лету изменять трафик в линукс маршрутизаторах

Форум — Development

Здравствуйте. Стоит следующая задача: На роутере на линукс нужно iptables FORWARD трафик отпралять в user-space, там в своей программе его изменять и отпралять в ядро для дальнейшей отсылки. То есть мне надо научится делать что-то типа прозрачного прокси, изменяющего на определенных портах некоторые данные. Как подойти к такой задаче? Есть для этого API в user space? Если нет, то какое API в ядре надо использовать что бы написать свой драйвер, отпраляющий трафик в user-space и возвращающий данные из него?

 , ,

bigfrogg
()

Настроил роутинг в разные VPN целыми субдоменами, да по-разному для разных SSID, восторг.

Форум — Admin

Захотел тревел-роутер с поддержкой Wireguard, да придумал такой приподвыверт: чтобы был двухдиапазонник и можно было на любом девайсе, хоть на Kindle, быстро пустить трафик через VPN или напрямую просто переключившись на другую сеть. Решил поддержать GL.iNet за идею продавать роутеры с OpenWRT из коробки и купил Slate. Да и железка реально понравилась, очень маленькая. Весит, правда, будто большая.

Цель 0, обещанная: получить роутер, который может в Wireguard по переключателю

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

Цель 1, оригинальная: разный роутинг для разных SSID

Задача вроде несложная: разделяем Wi-Fi сети на два несвязанных интерфейса, заводим две подсети и две таблицы роутинга. В фирменном интерфейсе ничего про две таблицы роутинга и близко нет, но по кнопочке Advanced в фирменном интерфейсе просто открывается luci… в которой тоже ничегошеньки нет про две таблицы роутинга. Зато интерфейсы и подсети разделяются чуть ли не drag-and-drop’ом. Вспоминаю, как, кажется, @intelfx жаловался, что в OpenWRT без ныряния в конфиги ничего серьезного не сделать, но сначала иду в гугл.

Из гугла тут же возвращаюсь окрыленный, ставить какой-то mwan3. Я, не разобравшись поначалу, ожидал просто возможность сделать несколько таблиц, а узрел целый, блин, менеджер аплинков с балансировкой, мониторингом, фейловером и вообще. Сочиняю в нем желаемые и (явно для его гибкости слишком примитивные) правила маршрутизации «разные source подсети - разные gateways» и получаю то, зачем вообще все это затеял: одна из Wi-Fi сетей роутится через VPN, а вторая — напрямую.

Цель 2, расширенная: отдельные правила для отдельных IP

До меня доходит, что можно заворачивать в VPN трафик для отдельных хостов по destination IP. Получается, что для них трафик можно принудительно гонять через VPN, или наоборот, принудительно напрямую, и части ручных переключений можно будет избежать. И правила эти можно писать раздельно для двух SSID. Красота, причем все это все еще в пределах luci, ни одного конфига все еще не пострадало.

Цель 3, немыслимая: заворот по имени вместо IP

Оказывается, что в этом mwan3 правила можно применять по ipset: динамическому множеству destination IP. А dnsmasq умеет загонять в эти множества айпишники на основе доменного имени прямо по мере резолвинга. То есть пока на моем устройстве DNS’ом указан мой роутер, можно написать правило «а на все IP, застуканные за обслуживанием somesite.com и всех его поддоменов (!) распространить такое-то правило роутинга». Для написания этих правил, внезапно, тоже есть готовая морда для luci, но в репах ее не нашлось, а README на китайском отпугивает меня достаточно, чтобы я забил и просто написал их в пустой /etc/dnsmasq.conf руками.

Цель 4, че уж там: несколько VPN

Ну и нечего ограничиваться одним VPN и двумя подсетями с разными правилами, если можно N VPN и K<5 подсетей. Прописал еще один VPN для ходьбы наоборот, через Россию, добавил новых ipset’ов и правил роутинга.

Теперь /etc/dnsmasq.conf состоит из записей типа:

ipset=/some_banned_website.com/force_nl
ipset=/some_other_website_banned_in.ru/force_nl
ipset=/one_more_site.ru/prefer_nl
ipset=/accessible_only_from.ru/force_ru
ipset=/whatismyip.com/force_direct

На этом этапе был, правда, подводный камень: когда уже подключен VPN1 и подключается VPN2, автопрописыватель статического маршрута до endpoint от VPN2 какого-то лешего прописывал его через VPN1. В итоге трафик радостно бегал, например, из России в Голландию, обратно в Россию и только потом к адресату. Логику автопрописывателя выяснять было лень и я написал скрипт, который после поднятия VPN-интерфейсов просто удаляет такие идиотские маршруты. Скорее всего я сам дурак себе грабли подложил и можно было гораздо проще.

Итог

После всех этих манипуляций я могу заворачивать трафик в нужный VPN или пускать его напрямую целыми поддоменами + имею возможность переключаться между двумя такими наборами правил с разными дефолтными маршрутами просто выбрав нужную Wi-Fi сеть, на любом устройстве. Может можно и еще круче, но все упирается в мою фантазию, которая уже полпоста как безнадежно отстает от возможностей. По мере набухания моих хотелок я все-таки залез в конфиги и даже скрипт написал, но 1) возможно я просто поленился понять, как это делается правильно, и, вообще-то, 2) это было уже для достижения того, чего я не только не планировал, я вообще не думал, что так можно. Отсюда

резюме: OpenWRT — торт, luci — торт, mwan3 — торт, dnsmasq — торт, wireguard — торт, GL.iNet — красавцы, линукс готов для потребительских роутеров с уровнем потребителя от одноклеточных до меня включительно, я просто в восторге.

 , , , ,

t184256
()

Figma для Linux систем (инструмент для проектирования/дизайна интерфейсов)

Новости — Проприетарное ПО
Figma для Linux систем (инструмент для проектирования/дизайна интерфейсов)
Группа Проприетарное ПО

Figma — онлайн-сервис для разработки интерфейсов и прототипирования с возможностью организации совместной работы в режиме реального времени. Позиционируется создателями как основной конкурент программным продуктам компании Adobe.

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

>>> Репозиторий GitHub

 , , ,

temakonkin
()

Wake on LAN на Ubuntu 18.04

Форум — Admin

Ну здравствуй ЛОР! Великий и ужасный! Подари мне пож-ста немножечко мозгов.

Я хочу запускать домашний комп удаленно с телефона или с работы. Нагуглил рецепт аж от 2014-го года.

Создал скрипт

#!/bin/bash
ethtool -s enp2s0 wol g
exit

Права установил. В автозапуск добавил. Даже в /etc/init.d добавил.

Но срабатывает этот скрипт один раз, если выполнить его в терминале.

То есть после его выполнения, я выключаю компьютер и включаю его с телефона. Больше он включаться не будет. Снова надо запускать скрипт руками из-под рута.

Самое страшное, что ethtool под рутом и подо мной показывает разные значения Supports Wake-on.

dronsovest@apricot:~$ ethtool enp2s0
Settings for enp2s0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: Unknown
Cannot get wake-on-lan settings: Operation not permitted
	Current message level: 0x00000000 (0)
			       
	Link detected: yes
dronsovest@apricot:~$ sudo -i
root@apricot:~# ethtool enp2s0
Settings for enp2s0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: Unknown
	Supports Wake-on: pg
	Wake-on: g
	Current message level: 0x00000000 (0)
			       
	Link detected: yes

Подскажите пож-ста, чем это лечится?

 

dronsovest
()

Запуск сервиса systemd после загрузки сети

Форум — Admin

Други, подскажите

С помощь automount от systemd на клиентских машинах при загрузке монтируется удаленное хранилище по nfs.

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

Так вот, из-за того что этот сервис (точнее его запускающий файл) хранится на удаленном хранилище, то при перезагрузке клиента он не запускается.

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

 ,

ITdreamer
()

Рабочий i3

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

Решил поделится, смело кидайте камни ;)

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

Прикручена смена тем (вид терминала, тема саблайма, гтк тема, курсор, цвет панелей, rofi и dmenu), что бы интерфейс не приедался + автосмена обоев google earth. Пачка скриптов для dmenu, по типу монтирование\размонтирование устройств, pass, скриншотер, запись экрана, подключение мониторов и много еще прочего. Пачка скриптов для i3: размер окон, i3ass и т.д.

  • WM: i3-gaps
  • Панель: polybar
  • Тема: Arc\Numix
  • Значки: Zafiro\Numix Squqre
  • Курсор: Capitane
  • ШГ: Terminus
  • Запуск приложений: rofi+dmenu
  • Терминал: termite
  • Браузер: chromium
  • Музыкальный плеер: spotify
  • Файловый менежер: ranger
  • Менеджер сети: nmtui

Пример белой темы. Пару скриншотов.

Таксс, что еще то? Да много чего, но лень писать видео и делать 100500 скринов. Будет интересно, выложу конфиги.

Всем добра)

 , ,

flappyright
()

Проблемы с графикой в slackware

Форум — Desktop

Поставил на второй диск слаку 14.2. С дефолтным ядром (не обновленным из патчей) паника при загрузке, что странно, потому что загрузка с тем же ядром с установочной флешки работает без проблем. Возможно, что проблема в модулях, но я не стал разбираться. Обновил ядро из зеркала, все заработало, но производительность очень низкая. По lspci я не вижу вменяемого названия карты, не указан драйвер. В /sys тоже информации по драйверу нет. Карточка rx 480, которая вроде как на ядре 4.4.* уже должна поддерживаться нормально свободными драйверами.

Чтобы как-то решить проблему, я собрал два lts ядра 4.19.32: одно с дефолтным конфигом, который я вытащил у ядра слаки, второе с дефолтным конфигом ядра слаки + включенными в конфиге ядра опциями в разделе граф. драйверов, где фигурировало «amd» или «amdgpu». Оговорюсь, что ядро собираю второй раз, порядок прочитал в слакбуке, но применительно к частным случаям слакбук ничего не поясняет, так что действовал почти что наугад. Сборка ядра и модулей прошла без ошибок.

С обоими лтс ядрами все загружается, но есть две проблемы. Во-первых, существенные задержки при переключении окон по alt-tab. Доходит до 10-15 секунд, когда окно загрузится, при этом при переключении мышкой через панель все загружается мнгновенно. Во-вторых, тиринг, который никак не фиксится. На арче мне достаточно или поставить compton и запускать его с opengl-swc, или в конфиге Х прописать tearfree опцию. В слаке не работает ни то, ни другое. В настройках xfwm при активации vsync тиринг пропадает в видео, которые запущены в нативном размере (не во весь экран) или в плеерах в браузере, но если максимизировать или переключить на весь экран плеер в браузере или локальный плеер, то тиринг возвращается. Тиринг при прокрутке в браузерах вообще никак не фиксится.

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

 , ,

Yorween
()