LINUX.ORG.RU

Сообщения mradermaxlol

 

Создание образа GPT-диска с несколькими разделами без loop-устройств

Форум — General

Всем привет.

Возникла следующая задача: создать образ диска с GPT и двумя разделами (EFI/FAT32 и ext4), чтобы его можно было сразу заливать на блочное устройство.

Я быстро родил тривиальное решение:

  • создать болванку образа нужного размера с помощью truncate
  • sgdisk’ом разметить образ в GPT с двумя разделами нужных типов
  • создать loop-ноды для образа диска через losetup
  • примонтировать loopNpM, залить данные, отмонтировать и убрать loop-ноды

Тем не менее, я хотел бы допилить это решение так, чтобы оно работало и на системах без возможности создания loop-нод (в ограниченных контейнерах, например).

В голову пришла мысль создать болванку с GPT-таблицей и cat’ом или dd’шкой присобачить в конец этой болванки образы разделов (создаваемые условными mkfs.XXX part_XXX.img). Попытался реализовать - не вышло, образ диска превращается в кашу, хоть я вроде и указывал отступ на 2048 байт от начала. Скорее всего я просто не осилил что-то в используемых утилитах, либо не вкурил матчасть.

Итак, вопрос: как в болванку образа GPT-диска добавить разделы из своих образов без использования loop-устройств?

UPD: вот так.

 , , ,

mradermaxlol
()

iptables, или как закрыть порт

Форум — Admin

hello world

В продолжение предыдущей моей темы из этого раздела.

Обнаружил, что к виртуалке на сервере можно подключиться не только по server_wg_ip:32101, но и по server_public_ip:32101 (порт 32101 пробрасывается в виртуалку как порт 3389) - что в общем-то неудивительно. Перезапустил libvirt, сделал iptables -A INPUT -p tcp -d server_public_ip --destination-port 32101 -j DROP, запустил вм - а подключаться по server_public_ip:32101 всё ещё можно (я хочу, чтобы подключение по публичному IP блокировалось, а по WireGuard-адресу разрешалось). ЧЯДНТ?

Меня ещё интересует вот что: можно ли сделать «master»-правило (т.е. ему было бы фиолетово на то, что там в хуке наизменял libvirt, например) iptables, которое блокировало бы все порты на enpNsX и потом разрешало бы конкретные? А там уже можно аналогично разрешить только нужное по интерфейсу wgN.

UPD: решение.

 , ,

mradermaxlol
()

Libvirt, WireGuard, их скрещивание и проброс портов в ВМ

Форум — Admin

hello world

Имеется (dedicated) сервер с одним публичным IPшником, на сервере руками настроен WireGuard (на serverip:42069, например) и прикручен к systemd-networkd, во внешний интернет кроме самого wg ничего не пробрасывается. Сервер держит виртуальную машину с мастдаем (пока что одну, как разберусь с сетевым цирком - будет больше) через KVM+Libvirt.

Нужно сделать так, чтобы был туннель WireGuard между виртуалкой и, например, моей рабочей машиной, чтобы я с последней подключался по, скажем, serverip:22869 (помимо «основного» соединения рабочая машина => сервер). Вопрос: а как так сделать-то?

Я пробовал кривыми-косыми правилами iptables (честно скомунизженных из интернета и адаптированных для своих систем) и с дефолтной NAT-сетью перенаправлять порты сервера в порты виртуалки, но то ли я не вкурил в правила и сделал всё через одно место, то ли изначально не туда вою.
Пробовал ещё вот это - вроде выхлоп iptables -L меняется, а нужный порт всё ещё closed и контакт между виртуалкой и рабочей системой наладить не получается.
Только что попробовал ради прикола поднять bridge-соединение - на виртуалке теперь вообще нет сети (удивительно). Ну и настроил в Libvirt я его так себе, полагаю.

В виртуалке на время тестирования был отключён Windows Firewall, порт WireGuard тот же 22869 (пытался пробрасывать одинаковые порты с хоста в vm).

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

UPD: решение и дополнение к нему.

 , , , ,

mradermaxlol
()

Модули ядра для виртуальных GPU

Форум — General

Всем доброго времени суток.

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

Суть: есть, например, CONFIG_DRM_VMWGFX:
Choose this option if you would like to run 3D acceleration in a VMware virtual machine. This is a KMS enabled DRM driver for the VMware SVGA2 virtual hardware. The compiled module will be called "vmwgfx.ko".

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

 , , , ,

mradermaxlol
()

ncmpcpp и добавление в плейлист всей библиотеки треков

Форум — Multimedia

Вечер добрый, товарищи ;)

Может кто-нибудь из использующих ncmpcpp (фронтэнд для mpd) подсказать, как можно добавить в плейлист (для рандомного воспроизведения всего и вся) всю музыкальную библиотеку без перебирания всех исполнителей, к примеру? Читал FAQ и хелпу, не нашёл ничего нужного, либо криво читал :/

 , ,

mradermaxlol
()

Plasma 5.12, цветные лошади и окна

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

Очередное пришествие УГ в моём исполнении. С другой стороны, оно теперь (вроде как; по сравнению с Archlinux + Plasma 5.9) выглядит красиво и в целом цивильно, экранное место используется вполне себе оптимально, свистоперделки на месте. (если что, pendosski langvedzh стоит, потому что так надо, а не потому что локали сдохли)

Что имеется:

  • Автоматически скрываемый Latte-dock
  • Окошко VSCode-OSS из Flathub, не умеющее в глобальное меню (вроде как это проблема (уже несвежего) Electron с GTK2). Методом научного тыка я подружил этого зверька с темой GTK в системе, но так и не разобрался с иконкой (если кто знает, как flatpak-приложения приучать к системной теме иконок - если можно, поделитесь опытом)
  • Окошко Konsole, которое было открыто только из-за того, что Yakuake некрасиво кушал часть экрана для снимка (ИМХО)
  • Окошко Dolphin, в котором всё чисто и уютно
  • Плазмоид playbar2 с Elisa из git и хорошая музыка
  • Нескучные обои (которые мне обрезал друг, потому что я от слова «совсем» не могу в графические редакторы даже в плане банальщины - в целом, смещение рук в сторону ж видно и по порядку рабочих столов на скриншоте, который перепутан)

Тема рабочего стола - Arc-dark, курсоры и сплешскрин - Breeze, иконки - Papirus-dark.

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

С точки зрения системы всё просто - крутится это добро на арче с testing'ами x86_64, который успешно пережил две (вроде) глобальных смены железа и за полтора-два года (вроде) с момента установки упавшем два раза, один раз из-за косяка в связке systemd + linux-zen (и вариациями zen) и второй из-за проблем с электричеством и помершим из-за этого разделом EFI (который сразу же был восстановлен с лайва, впрочем). Система раз в пару месяцев чистится руками и rmlint'ом.

>>> Просмотр (3840x1080, 1069 Kb)

 

mradermaxlol
()

Archlinux + Plasma 5.9

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

Ну чё, вот и случилось второе пришествие аутиста в этот раздел...

Чё это такое? ВНЕЗАПНО, это арч x86_64-testing. Накатывал около года назад (склероз хорош тем, что о нём можно забыть), с того момента ничего, как ни странно, не поломалось, а выдрочить UIшку я хоть как-то смог (со своей-то ленью, криворукостью и дальтонизмом).

  • Fishshell + OMF 5 (тема - bobthefish, цветовая схема gruvbox)
  • Тема Breeze-Dark по системе и (вроде как) большинству приложений, что не подхватывают конфиг плазмы
  • SDDM-git (ибо 0.14 поломан немного) + Breeze-Cover
  • Latte-Dock с макоподобным оформлением (доска приложений вместо менюшек и прочего, scaling иконок при наведении вырублен)
  • PlayBar в качестве индикатора и плазмоида для плееров
  • Большая, толстая Кнопка «Консоль», которая бахает на полный экран Konsole с Byobu и профилем под это - открывается на втором виртуальном рабочем столе и периодически вызывается
  • Говнистые иконки в трее - я пока без понятия, как их починить. Пробовал hardcode-tray - не помогло...
  • Эффекты, вязкие окна и их друзья
  • Всякая рандомнщина, нацеленная на упрощение моей никчёмной жизни (от действий по триггерам до KDE Connect и прочих радостей жизни)
  • ПОНИ

Пока что как-то так. Надо бы поправить иконки... Эхх. Кстати, мне одному кажется, или с некоторыми шрифтами (см. окно Konsole) начало происходить оШГшивание после последней обновы FreeType?

Всем хорошего дня.

>>> Просмотр (1920x1080, 1237 Kb)

 , ,

mradermaxlol
()

Скрещивание JACK2 и PulseAudio

Форум — Multimedia

День добрый, товарищи. Собсвтенно, суть такова: пишу гитару через Guitarix2, всё хорошо, да вот только из-за того, что JACK2 отжимает всю звуковушку, не могу, к примеру, включить музыку и играть синхронно, ибо пульса не может подключиться к звуковухе => ни один плеер/браузер/что-нибудь не воспроизводит что-либо, а это не есть хорошо. Назревает вопрос: как заставить джек и пульсу работать вместе, дабы не было подобных проблем? В интернете нашёл 1,5 мана на офстранице JACKAudio, где нужной инфы я не откопал, однако понял то, что можно делать проброс пульса -> джек, хоть и какими-то окольными (костыльными) путями.

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

 , , ,

mradermaxlol
()

Кеды, которые не падают, плюс прозрачность

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

Всем приветы.

С последнего появления в данном разделе произошли некоторые изменения, одно из которых - смена дистра, ну и DE по ходу дела. А, ну да, обои тоже сменились (немного).

Значит, сие чудо есть рач со всем возможным тестингом + infinality. Стоит Plasma 5 (из которой я ещё чищу говно), тема - Breeze Transparent, имеются настроенные эффекты, которые не передать скриншотом. ШГ - Noto Sans (9-10), моноширинный - Oxygen Mono 9. В терминале стоит Ubuntu Mono 11.

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

>>> Просмотр (1920x1080, 1507 Kb)

 , ,

mradermaxlol
()

Моя понигента^W гента v2

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

Постарался исправить недочёты старого скрина, а именно:

-------

-Исправил ШГ в терминале (посавил Monospace (вроде) - мне нравится)

-Убрал поней с обоин, ибо над ними ещё нужно работать

-Исправил иконку ФФ

-Временно убрал действительно убогий значок xfce-xkb - работаю над этим

-------

Всё ещё не поправил иконки трея, но скоро всё будет, обещаю.

>>> Просмотр (1920x1080, 872 Kb)

 

mradermaxlol
()

Ошибки make install в ебилде Haguichi

Форум — Development

Всем приветы.

Имею ебилд для Haguichi. В нём всё хорошо, только на этапе выполнения src_install() бегут ошибки... Их так много, что пришлось залить на pastebin.

Вопрос таков: как это лечить? При всей этой срани, при сборке руками всё прекрасно.

 , , ,

mradermaxlol
()

Python3, Urwid и менюшки

Форум — Development

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

Пилю менюху для своей питоно3проги на Urwid. Всё бы ничего, но есть проблемы с выходом из цикла Urwid.

Допустим, есть кусок кода из туториала:

import urwid

choices = u'Chapman Cleese Gilliam Idle Jones Palin'.split()

def menu(title, choices):
    body = [urwid.Text(title), urwid.Divider()]
    for c in choices:
        button = urwid.Button(c)
        urwid.connect_signal(button, 'click', item_chosen, c)
        body.append(urwid.AttrMap(button, None, focus_map='reversed'))
    return urwid.ListBox(urwid.SimpleFocusListWalker(body))

def item_chosen(button, choice):
    response = urwid.Text([u'You chose ', choice, u'\n'])
    done = urwid.Button(u'Ok')
    urwid.connect_signal(done, 'click', exit_program)
    main.original_widget = urwid.Filler(urwid.Pile([response,
        urwid.AttrMap(done, None, focus_map='reversed')]))

def exit_program(button):
    raise urwid.ExitMainLoop()

main = urwid.Padding(menu(u'Pythons', choices), left=2, right=2)
top = urwid.Overlay(main, urwid.SolidFill(u'\N{MEDIUM SHADE}'),
    align='center', width=('relative', 60),
    valign='middle', height=('relative', 60),
    min_width=20, min_height=9)
urwid.MainLoop(top, palette=[('reversed', 'standout', '')]).run()
И я не могу реализовать запуск функции (из проги, офкоурс) после выбора пункта меню.

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

 , ,

mradermaxlol
()

Python3, VKapi и строки

Форум — Development

Добрый вечер.

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

#!/usr/bin/env python3
import curses
import vk

#Start ncurses window
global stdscr
stdscr = curses.initscr()
curses.noecho()
curses.cbreak()
stdscr.keypad(True)

def Close(): #Close the window
    curses.nocbreak()
    stdscr.keypad(False)
    curses.echo()

def Clear(): #Clear NCurses window
    stdscr.clear()
    stdscr.refresh()
    curses.endwin()

def VKLogin(): #Start VK session
    #Get login
    from curses.textpad import Textbox, rectangle
    stdscr.addstr(0, 0, "Enter your VK login: (Ctrl-G/Enter to continue, Ctrl+H to delete symbols)")
    editwin = curses.newwin(1,30, 2,1)
    rectangle(stdscr, 1,0, 1+1+1, 1+30+1)
    stdscr.refresh()
    box = Textbox(editwin)
    box.edit() #Let the user edit until Ctrl-G is struck
    login = str(box.gather())

    #Clear window
    Clear()

    #Get password
    stdscr.addstr(0, 0, "Enter your VK password: (Ctrl-G/Enter to continue, Ctrl+H to delete symbols)")
    editwin = curses.newwin(1,30, 2,1)
    stdscr.refresh()
    rectangle(stdscr, 1,0, 1+1+1, 1+30+1)
    stdscr.refresh()
    box = Textbox(editwin)
    box.edit() #Let the user edit until Ctrl-G is struck
    stdscr.clear()
    password = str(box.gather())

    #Clear window
    Clear()
    curses.endwin()

    #Start session with collected data
    session = vk.AuthSession(app_id = 5350360, user_login = login, user_password = password)
    api = vk.API(session, v = '5.3.5', lang = 'ru', timeout=10)
    #api.users.get(user_ids=1)
    def Menu(): #Navigation menus
        from curses import panel
        stdwin = curses.newwin()
        #TODO
    #Menu()

VKLogin()
Close()
#TODO: menu, authorization
Как видите, через ncurses-textbox задаётся логин и пароль, которые передаются vk.AuthSession(). ОДНАКО, ответ являет собой жалобу на неверный пароль. При этом, если чётко прописать логин/пароль в vk.AuthSession(), то всё будет хорошо.

Вопрос прост: ЧЯДНТ?

 , , , ,

mradermaxlol
()

Пердоллинг с ебилдами в Gentoo: V3.0

Форум — Development

Добрый день.

Опять грабли, ага. В репозитории содержится оверлей с вином и Unity3D. И с последним есть проблемы: $FILESDIR нет. Просто нет. Вывод ls:

root@m-Gentoo-PC /h/maxik# ls /var/tmp/portage/games-engines/unity3d-5.3.3/
build-info/  distdir/  homedir/  image/  temp/  work/
root@m-Gentoo-PC /h/maxik# ls /var/lib/layman/maxik-ebuilds/games-engines/unity3d/files/
EULA                unity-editor*         unity-monodevelop.desktop  update-eula*
monodevelop-unity*  unity-editor.desktop  unity-monodevelop.png

Что я делаю не так и как исправить $FILESDIR?

 , ,

mradermaxlol
()

Пердоллинг с ебилдами в Gentoo: v2.0

Форум — Development

Всем приветы.

Честно, я уже прожёг всю мебель, на которой можно сидеть. Я не могу понять, как работает чёртов пункт SRC_URI в чёртовых ебилдах.

Если конкретнее: есть оверлей, в котором висит ебилд для вина. Решил добавить модульности и вытащить тип вина (ванилька, staging, ванилька + Nine, staging + Nine) в if-ы и переменные. Вот кусок кода:

if (!(use staging) && !(use d3d9)) || (!(use staging) && use d3d9); then
		if use d3d9; then
			WINETYPE="nine"
		else
			WINETYPE="vanilla"
		fi
		SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${MY_P}.tar.bz2 -> ${WINETYPE}.tar.bz2" # Vanilla Wine with/without Nine
		
	elif use staging && !(use d3d9); then
		WINETYPE="staging"
		SRC_URI="https://github.com/wine-compholio/wine-staging/archive/v${PV} -> ${WINETYPE}.tar.gz" # Wine with Staging patchset
		
	elif use staging && use d3d9; then
		WINETYPE="stnine"
		SRC_URI="https://github.com/mradermaxlol/pontostroy-wine/archive/v${PV}.tar.gz -> ${WINETYPE}.tar.gz" # Staging-and-Nine-patched Wine
	fi
Кусок кода установки sourcedir:
if [ "$WINETYPE" == "stnine" ]; then
	S="${WORKDIR}/pontostroy-wine-${PV}"
elif [ "$WINETYPE" == "vanilla" ] || [ "$WINETYPE" == "nine" ]; then
	S="${WORKDIR}/${PN}-${PV}"
elif [ "$WINETYPE" == "staging" ]; then
	S="${WORKDIR}/${PN}-staging-${PV}"
fi
Кусок кода распаковки:
if [ "$WINETYPE" == "staging" ]; then	
		unpack "staging.tar.gz"
	elif [ "$WINETYPE" == "stnine" ]; then
		unpack "stnine.tar.gz"
	elif [ "$WINETYPE" == "vanilla" ] || [ "$WINETYPE" == "nine" ]; then
		unpack "vanilla.tar.bz2"
	fi

Проблема в том, что repoman ну никак не хочет качать архивы pontostroy и staging. Т.е. при запуске repoman manifest генерятся суммы для %нужныефайлы% и vanilla.tar.bz2, всё. Что я делаю не так?

 , , ,

mradermaxlol
()

Изменение вывода glxinfo

Форум — Desktop

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

Есть желание изменить кусок вывода glxinfo, а именно - пункт OpenGL Renderer: с «Gallium 0.4 on AMD PICTAIRN [...]» на что-то вменяемое, типа «R7 370».

Как можно это сделать? Есть ли возможность настройки данного пункта? Вангую, что да, ибо блобы, например, меняют строки на свои. Или это всё захардкожено в libGL.so?

 , , , ,

mradermaxlol
()

Ebuild для Wine со свистоперделками

Форум — Development

Утро доброе.

Я всё ещё трахаюсь совокупляюсь пердоллюсь разбираюсь с этим чёртовым ебилдом для свежего вина с staging + nine (https://github.com/mradermaxlol/wine-d3d9-gentoo), с переменным успехом.

После недавнего секса с дебилдом имеется:

Скачивание уже патченного вина

Накатывание патчей найна + патчей wine-gaming-nine

Сборка (успешная) на amd64, x86_32 потестить не могу

СЕГФОЛТ!!!1

Кто-нибудь может посмотреть ебилд, потестить сборку и сказать, что не так? Сейчас вангую на staging, ибо патч почти не менялся (1 строка, лол).

 , , , ,

mradermaxlol
()

Багтрекер IXiT (GalliumNine)

Форум — Development

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

Никто не может дать ссылочку на багтрекер Wine-Nine? Вики ixit.cz лежит (либо я лох что-то делаю не так).

Короче, куда отправлять багрепорты, связанные с GalliumNine в Wine?

Большой привет.

 , ,

mradermaxlol
()

Пердоллинг с ебилдами в Gentoo

Форум — Development

Приффки, как делиффки?

Имеется проблема в виде отсутствия в генте пакетов вина с staging+nine. Решил запилить свой оверлей с блэкджеком и шлюхами с данными плюшками, но что-то пошло не так, а именно - процесс патчинга вина найном. То есть в ебилде прописано, что патчить, но что-то идёт не так - некоторые файлы не находятся патчем.

Как победить это? Если что, оверлей тут, ебилд в нём (ваш кэп).

 , , , ,

mradermaxlol
()

Layman и части оверлея

Форум — Desktop

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

Столкнулся с проблемой: нужен Wine из оверлея Bobwya (https://github.com/bobwya/bobwya/tree/master/app-emulation/wine), но не нужен весь оверлей, а только кусок с ебилдами вина. Как импортировать этот самый кусок лэйманом, не подтягивая оверлей целиком?

Кстати, есть ли оверлей (не от NP-Hardass) с вином (свежим) + стагинг + д3д9?

 , , ,

mradermaxlol
()

RSS подписка на новые темы