LINUX.ORG.RU

Сообщения Spoofing

 

Загрузка любого дистрибутива в RAM

Форум — Talks

Здравствуйте мои юные кали-хакеры и любители оставаться анонимными. С утра, ковыряя VDS (пользуюсь услугами ру-провайдера), [ДАННЫЕ УДАЛЕНЫ] запрос, и [ДАННЫЕ УДАЛЕНЫ] дамп диска [ДАННЫЕ УДАЛЕНЫ].

А теперь скрипт, который из кастомного, т.е. созданного и настроенного вами chroot'а создаёт initramfs образ, готовый к загрузке и работе в tmpfs.

С ним вы можете на любой системе прямо «на лету» свичнуться в tmpfs, хоть прямо сейчас, на своём компьютере. Предварительно установив в chroot любой дистрибутив по желанию и настроив его под себя. А потом скриптом упаковать его в initramfs образ и свичнуться, да.

Для создания минимального (от слова «маленький», а не «огрызок») образа потребуется squashfs-tools. Чтобы свичнуться «на лету» нужен kexec-tools. Установите их. В ядре должны быть включены опции: CONFIG_OVERLAY_FS=y, CONFIG_SQUASHFS=y и CONFIG_SQUASHFS_XZ=y. [личное мнение: ZSTD получается размером больше, чем XZ]

Например. Хотите генту?

# mkdir gentoo_chroot/
# cd gentoo_chroot/
# wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20200519T155804Z/stage3-amd64-20200519T155804Z.tar.xz
# tar xf stage3-amd64-*.tar.xz
# rm stage3-amd64-*.tar.xz
# cd ..

На этом этапе мы получили ванильную генту в gentoo_chroot/. Рекомендую её настроить, хотя бы сделать chroot gentoo_chroot/ /bin/bash и установить passwd для root, иначе в систему вы не войдёте. Я не знаю, что это за особенность такая, не давать установить пароль если его нет. В моём CRUX когда пароль на root отсутствует и ты логинишься первый раз (в tty или в ssh по ключу), оно просто предлагает установить пароль. Какая тут может быть дыра в безопасности на свежеустановленной системе? Не знаю...

Предлагаю так же в gentoo_chroot/ скопировать модули и фирмварь для корректной работы текущего ядра и железа.

# cp -a /lib/modules gentoo_chroot/lib/modules
# cp -a /lib/firmware gentoo_chroot/lib/firmware

Ну и создадим образ наконец.

# ./mkchrootrd gentoo_chroot/ ~/gentoo_initrd

Усё. У нас теперь целая настоящая гента в gentoo_initrd файлике упакована. Давайте загрузимся же в неё скорее с текущим ядром.

# eval $(cat /proc/cmdline | cut -f 1 -d \ )
# kexec -l $BOOT_IMAGE --initrd=gentoo_initrd --reuse-cmdline
# kexec -e

Если вы не хотите делать kexec по каким-то причинам, то положите этот же образ в свой /boot, а в параметрах загрузки укажите initrd /gentoo_initrd. Перезагрузитесь и получите тот-же результат.

Ура! Гента загрузилась. Тоже самое можно проделать с любым дистрибутивом, просто установите его, настройте как вам угодно, а затем скриптом создайте initramfs образ. Я уж взял для примера Gentoo, не стал лишний раз приводить в пример CRUX.

Жмём Reset чтобы сбросить всё и загрузиться в свою систему с морально устаревшего M.2 NVMe накопителя обратно.

Перевёл свою VDS на работу в tmpfs. Диск /dev/vda отформатировал в NTFS. Рекомендую всем. 👍👍👍👍👍👍

Скрипт:

#!/bin/bash
#
# Author: Sp00f1ng <sp00f1ng@sp00f1ng.com>
# License: Public Domain
#
################################################################################
#
# mkchrootrd chroot_directory/ [initrd_image]
#
################################################################################
# 
# Depends on: squashfs-tools
# Optional:   kexec-tools
# Kernel:
#
# File systems  --->
#    <*> Overlay filesystem support
#    [*] Miscellaneous filesystems  --->
#       <*> SquashFS 4.0 - Squashed file system support
#          [*] Include support for XZ compressed file systems
#
################################################################################
#
# Example usage:
#
# mkdir gentoo_chroot/
# cd gentoo_chroot/
# wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20200519T155804Z/stage3-amd64-20200519T155804Z.tar.xz
# tar xf stage3-amd64-*.tar.xz
# rm stage3-amd64-*.tar.xz
#
# [.. do something else with gentoo_chroot/ like additional configuration ...]
# [ cp -a /lib/modules ./lib/modules ]
# [ cp -a /lib/firmware ./lib/firmware ]
#
# cd ../
#
# ./mkchrootrd gentoo_chroot/ ~/gentoo_initrd
#
# eval $(cat /proc/cmdline | cut -f 1 -d \ )
# kexec -l $BOOT_IMAGE --initrd=gentoo_initrd --reuse-cmdline
# kexec -e
# 
# Have fun and happy hacking day 1 <3 <3 7 !

panic() {
	if [ -e "$TMP" ]; then
		rm -rf $TMP 2>/dev/null
	fi
	exit ${1:1}
}

got_help() {
	grep ^\# "$0"
}

got_cmdline() {
	while [ "$1" ]; do
		if [ ! -n "$CHROOT_DIR" ]; then
			CHROOT_DIR="$1"
			shift
			continue
		fi
		if [ ! -n "$INITRD_IMG" ]; then
			INITRD_IMG="$1"
			shift
			continue
		fi
		shift
	done
}

cp_bin() {
	local src="$1"
	local dst="$2"
	local dep=""

	if [ "$dst" = "" ]; then
		dst="$src"
	fi

	if [ -e "$TMP$dst" ]; then
		return
	fi

	install -D -m 0755 "$src" "$TMP$dst"

	for dep in $(ldd "$src" 2>/dev/null | grep -o '/.* '); do
		cp_bin "$dep"
	done
}

mk_env() {
	for dir in proc sys dev run mnt overlay; do
		install -d $TMP/$dir
	done

	for dev in console tty tty1 null; do
		cp -a "/dev/$dev" "$TMP/dev/$dev"
	done

	for bin in sh switch_root mount umount mkdir rmdir; do
		cp_bin "$(which $bin)"
	done

	touch $TMP/init
	chmod +x $TMP/init

	cat > $TMP/init << EOF
#!/bin/sh
mount -t proc none /proc
echo "0" > /proc/sys/kernel/printk
mount -t sysfs none /sys
mount -t devtmpfs devtmpfs /dev
mount -t tmpfs none /run
mount -t tmpfs tmpfs /overlay
lowerdir="/lower"
upperdir="/overlay/upper"
workdir="/overlay/work"
mkdir -p \$lowerdir
mkdir -p \$upperdir
mkdir -p \$workdir
mount -t squashfs -o ro /root.sqfs \$lowerdir
mount -t overlay -o ro,lowerdir="\$lowerdir",upperdir="\$upperdir",workdir="\$workdir" overlay /mnt
umount /proc
umount /sys
umount /dev
umount /run
exec switch_root /mnt /sbin/init
EOF
}

main() {
	CHROOT_DIR=""
	INITRD_IMG=""

	got_cmdline "$@"

	if [ ! -n "$CHROOT_DIR" ] || [ ! -n "$INITRD_IMG" ]; then
		got_help
		panic 0
	fi

	if [ ! -d "$CHROOT_DIR" ]; then
		echo "'$CHROOT_DIR' is not directory."
		panic 1
	fi

	if [ ! -x "$(which mksquashfs)" ]; then
		echo "'mksquashfs' squashfs-tools not found."
		panic 1
	fi

	mk_env

	mksquashfs $CHROOT_DIR $TMP/root.sqfs \
		-b 1048576 -comp xz -Xdict-size 100%

	cd $TMP
	echo "Building Initial RAM Disk [$INITRD_IMG]"
	find . -print0 | cpio --null --create --format=newc --verbose > "$INITRD_IMG"
	echo "Done [$INITRD_IMG]"
}

trap "panic" INT HUP QUIT TERM EXIT

readonly MKCHROOTRD_COMMAND="$0"
readonly MKCHROOTRD_VERSION="1.0"

TMP=$(mktemp -d)

main "$@"

# EOF

 mkchrootrd,

Spoofing
()

Как использовать /31 подсеть для point-to-point?

Форум — Admin

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

192.168.0.1/30 — IP данного шлюза, 192.168.0.2/30 — IP второго эшелона, который интернеты будет получать и раздавать далее.

Попытался использовать /31 подсеть (всего 2 IP-адреса), но почему-то не взлетело.

В википедии написано: https://ru.wikipedia.org/wiki/Маска_подсети

Возможных узлов подсети меньше количества адресов на два: начальный адрес сети резервируется для идентификации подсети, последний адрес используется в качестве широковещательного адреса (возможны исключения в виде адресации в IPv4 сетей /32 и /31).

В случае с /30 понятно, используется 4 адреса и всё работает, но как воспользоваться этим «исключением» чтобы начать использовать /31?

На сервере: ip addr add 192.168.0.1/31 dev eth0

На клиенте: ip addr add 192.168.0.2/31 dev eth0

Не работают. Если сделать /30, тогда работает. Ради интереса попробовал на сервере сделать /30, а на клиенте «якобы» 192.168.0.100/24 — сервер пингуется, но в интернет уже не пускает. Достаточно ли это секурно?

Или это всё фигня? Как сделать секурный point-to-point чтобы только один хост мог войти в подсеть и получать интернеты?

 cidr

Spoofing
()

Zhbert

Форум — Linux-org-ru

определение «тупняка» было на глаз, я так понимаю.

вы не считаете коврик для мышки аксессуаром хоть сколько-нибудь необходимым для работы за ПК?

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

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

я понимаю, коврик для мышки это вам не видеокарта, слишком несерьёзно. но ниразу не оффтоп.

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

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

с уважением.

 5.4,

Spoofing
()

Сегодня в 17:00 MSK стрим

Форум — Talks

Ссылка на трансляцию: https://www.youtube.com/watch?v=7EB9pMYnTaM

Будем настраивать домашние железки для удалённой загрузки по сети, посмотрим что будет если выполнить rm -rf / и поотвечаем на вопросы.

Стрим начнётся в 17:00 по Московскому времени, на моих часах это будет 21:00. Всех жду.

 

Spoofing
()

Кому скучно, приглашаю на Стрёмчанский.

Форум — Talks

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

*** https://www.youtube.com/watch?v=oQXP33al1pM

Тупим на ЛОРе, читаем новости, болтаем в чатике, отвечаю на ваши вопросы, ковыряем консольку и всё в таком духе. =)

 

Spoofing
()

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

Форум — Linux-hardware

Скоро лето, хочется почаще выходить на улицу, но как же без интернетов? 4G не нужно, через него я слышал, коронавирус передаётся.

Есть такой двор который желательно весь, ну если не весь, то хотя бы лавочки рядом с песочницей покрыть домашним Wi-Fi с хорошей скоростью и латенси. Условия скорее всего будут тепличными т.к. прямо туда смотрит окно, есть возможность направить точку антеннами во двор. Розетки, ethernet кабель, всё под боком, опять же. Уровень действия — 9 этаж.

Какую точку доступа подальнобойнее и пошире взять? Желательно mikrotik, т.к. у неё много других плюсов, но не критично если есть альтернативы.

 ,

Spoofing
()

Вот это ПОБЕДА

Форум — Linux-org-ru

На сайте посвящённому «ОС Linux» я оставляю комментарий:

когда будем праздновать победу линукса на десктопах?

в этом треде: С днем капитуляции фашистской Германии, с Днем Победы

а его удаляют по причине: Сообщение удалено alpha по причине 4.1 Offtopic (0)

 ,

Spoofing
()

Пожалуйста, прослушайте личное обращение

Форум — Multimedia

Для !Ъ: http://d.zaix.ru/jsPQ.mp3

Для Ъ:

это мой голос после обработки в audacity. как раз сейчас занимаюсь звуком.

скажите, а под линукс есть приложения чтобы микшировать звук «на лету»? то есть, принять звук, обработать, и прозрачно же для приложения его отдать.

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

 , ,

Spoofing
()

Как я влошил 17к в звук

Форум — Talks

Довелось мне подключить Microlab SOLO 6 & 7 к материнской плате Gigabyte x470 Aorus Ultra Gaming (Realtek ALC1220) и я понял, что с тех пор на меньшее не согласен. Не скажу за качество, за чистоту звучания, — нет эталона для сравнения, но сравнивая со звуковым чипом который стоит по-умолчанию на всех материнках низшего ценового сегмента, ALC1220 по сравнению с ALC887, — небо и земля. Если это важно, слепой тест пройден, т.к. звук изначально не был целью, я просто случайно слушая любимую композицию обратил внимание, как лучше звучит эта новая материнская плата, как я стал разборчиво слышать каждую ноту в мелодии, а не ту кашу, что выдавал ALC887.

Ну я и решил пойти дальше, приобрёл вот эту шляпу: Focusrite Scarlett Solo 3rd Gen в ожидании eargasm'ов. Но нет, чуда не произошло. А суть в том, что я — быдло, мне надо, чтоб музыка качала, чтобы «унц унц унц», чтобы я мог на слух выделить каждую ноту отдельно, и это минимум чего я ожидал от «профессионального аудио-интерфейса». По итогу, звучание ALC1220 мне зашло больше, чем вот это недоразумение под названием «профессиональный аудио-интерфейс».

Аудио-интерфейс, конечно, даёт чистый звук. Я подключил к нему XLR микрофон, наушники, выкрутил GAIN на максимум, VOLUME на максимум и слышу полную тишину: ничего не фонит, не жужжит, всё экранировано. Открыто окно, на улице пьяный бомж стреляет мелочь, микрофон это улавливает и я слышу это в наушниках. Кристально чистый звук бомжа. Ключевое слово «чистый». Вроде всё здорово. Нооо, не для музыки! Меня не качает! Я не получаю от музыки никакого удовольствия, как будто бы слушаю обычную реалтековскую кашу. Это просто звук «каким он должен быть».

Капец. 12 тыщь вникуда. А ну да, на 5 тыщь я ещё уши взял. Чтобы мониторные, с 6.3mm джеком чтобы подключить к аудио-интерфейсу этому. Ну чистый звук, ну да, но на этом всё. Увы. Я лох.

Почему я сразу не взял что-то другое? Меня подкупило, что эти профессиональные аудио-интерфейсы из коробки дружат с линуксом через JACK. Никакого гемороя с драйверами.

Чё делать? Брать нормальную «геймерскую» звуковую карту чтобы получать удовольствие от музыки? Или ситуацию можно как-то выправить эквалайзерами?

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

 

Spoofing
()

Sandy Bridge Refresh Refresh Refresh Refresh Refresh Refresh

Форум — Talks

Состоялся официальный анонс 10-го поколения процессоров Intel архитектуры Comet Lake, который является обновлением архитектуры Coffee Lake, который является (A FEW MOMENTS LATER) обновлением архитектуры Sandy Bridge.

По ценам всё тоже самое, что и предыдущее поколение. Топовый i9-10900K будет стоит столько же, сколько i9-9900K, — $488.

Из любопытного, i9-10900 10 ядер / 20 потоков заявлен теплопакет TDP 65W. Чёта падазрительна.

Pentium и Celeron это 2/4 и 2/2 соответственно.

У новых i3 теперь 4 ядра 8 потоков. // Вот и догнали i7.

У новых i5 теперь 6 ядер 12 потоков. // Теперь конкурент (нет) Райзенам.

У новых i7 теперь 8 ядер 16 потоков. //_-

И как было сказано, i9 теперь это 10 ядер 20 потоков.

Хочется сказать побольшое спасибо AMD за здоровую конкуренцию. Так бы и сидели на 4/8. И тем не менее, 10/20 это всё ещё не 16/32. Хех.

Что нам предлагают за эти деньги?

Ryzen 7 3700X альтернатива i7-10700F за $298

Ryzen 5 3600 альтернатива i5-10400F за $157

Ryzen 3 3300X альтернатива i3-10100 за $122

Красную таблетку или Синюю таблетку — выбор за тобой.

Технологические особенности

Во всех i9, i7, i5 будет припой. В i3, Pentium, Celeron спер^Wтермопаста.

Поддерживаемая частота памяти 2933mHz (было 2666mHz). К слову, у AMD заявлена поддержка 3200mHz.

Будем благоразумны. Новое поколение это не только частоты, ядра, это ещё и фишечки, типа нового умного TurboBoost, который определяет лучшие ядра процессора и нагружает их по полной. Что там с PCI-Ex 4.0 пока не ясно, у AMD то оно уже «здесь и сейчас».

В то время, как Ryzen уже можно купить «здесь и сейчас», новое поколение процессоров Intel носит скорее догоняющий характер.

 

Spoofing
()

Как правильно «утопить вглубь» содержимое окна?

Форум — Desktop

https://files.catbox.moe/kyqe7o.png

В левой части снизу два маленьких URxvt для примера.

Верхний — эталон, как оно выглядит сейчас, но! Хотелось бы чтобы само содержимое окна, только содержимое, без Title окна, было утоплено вглубь, как у URxvt ниже. Но у URxvt ниже утоплен в том числе и сам Title — не надо так.

Хочу добиться такого же эффекта как у cmd.exe, когда консоль утоплена во внутрь.

Наверное, никак?

 

Spoofing
()

CRUXSTRAP: в мире полезных утилит прибыло, оцените

Форум — Talks

По аналогии с debootstrap, pacstrap, не найдя аналога для своего уютненького CRUX, решил заняться написанием сей утилиты. Приглашаю к тестированию.

Если у вас CRUX, она у вас будет работать из коробки (на самом деле нет). Если у вас другой дистрибутив, то вам в любом случае необходимо подготовить среду для развёртывания КРАКСИКОВ. Это как ФИКСИКИ, только КРАКСИКИ. :3

  • Сохраняем эту портянку кода в ./cruxstrap (Внимание! Объявление: ищу хостинг).
  • Скачиваем CRUX, последнюю версию, например отсюда: http://ftp.morpheus.net/pub/linux/crux/latest/iso/crux-3.5.iso
  • # mkdir /mnt/crux-install
  • # mount crux-3.5.iso /mnt/crux-install — монтируем образ
  • # cp -r /mnt/crux-install/crux/core . — копируем порты, это установочные пакеты. Они нужны, чтобы КРАКСИКИ могли плодиться.
  • # tar -C /tmp -x -f core/pkgutils/pkgutils#*.pkg.tar.xz usr/bin/pkgadd - извлекаем pkgadd, необходимый для работы скрипта.
  • Всё готово, вы великолепны!

Запускать так:

# mkdir chroot/
# cruxstrap --pkgadd /tmp/usr/bin/pkgadd chroot/ core/

Где, chroot/ — это директория, куда будет установлен CRUX, core/ — это директория с пакетами, которые будут установлены. Если у вас CRUX, указывать путь до pkgadd и вообще извлекать его не нужно.

TODO: реализовать установку не всех подряд пакетов из директории, а возможность указывать их списком # cruxstrap chroot /usr/ports bash linux linux-firmware ...

#!/bin/bash

panic() {
	if [ -d "$TMP" ]; then
		rm -rf $TMP 2>/dev/null
	fi
	exit ${1:1}
}

got_cmdline() {
	while [ "$1" ]; do
		case "$1" in
			-pa|--pkgadd) shift ; PKGADD_BIN="$1" ;;
			-v|--version) echo "`basename $CRUXSTRAP_COMMAND` $CRUXSTRAP_VERSION" ; exit 0 ;;
			-h|--help) got_help ; exit 0 ;;
			*)
				if [ -z "$CHROOT_DIR" ]; then
					CHROOT_DIR="$1"
					shift
					continue
				fi
				if [ -z "$MIRROR_DIR" ]; then
					MIRROR_DIR="$1"
					shift
					continue
				fi
				TO_INSTALL+=($1)
				shift
				;;
		esac
	done
}

search_in() {
	for obj in $1/*; do
		if [ -f "$obj" ]; then
			case "$obj" in
				*.pkg.tar.gz) echo $obj ;;
				*.pkg.tar.bz2) echo $obj ;;
				*.pkg.tar.xz) echo $obj ;;
				*.pkg.tar.zstd) echo $obj ;;
			esac
		elif [ -d "$obj" ]; then
			search_in $obj
		fi
	done
}

search_for() {
	# TODO
	echo
}

got_help() {
	echo "usage: `basename $CRUXSTRAP_COMMAND` [options] new_chroot_dir/ /ports_dir [package ...]"
	echo "options:"
	echo "  -pa,  --pkgadd              set path to pkgadd [/usr/bin/pkgadd]"
	echo "  -v,   --version             print version and exit"
	echo "  -h,   --help                print help and exit"
}

main() {
	PKGADD_BIN="/usr/bin/pkgadd"
	CHROOT_DIR=""
	MIRROR_DIR=""
	TO_INSTALL=()

	got_cmdline "$@"

	if [ ! -n "$CHROOT_DIR" ] || [ ! -n "$MIRROR_DIR" ]; then
		got_help
		exit 0
	fi

	if [ ! -x "$PKGADD_BIN" ]; then
		echo "Can't find $PKGADD_BIN, try add: --pkgadd ./pkgadd"
		panic
	fi

	if [ ! -d "$CHROOT_DIR" ]; then
		echo "'$CHROOT_DIR' is not directory."
		panic
	fi

	if [ ! -d "$MIRROR_DIR" ]; then
		echo "'$MIRROR_DIR' is not directory."
		panic
	fi

	if [ ! -z "$TO_INSTALL" ]; then
		SEARCH_FOR=$TO_INSTALL
		TO_INSTALL=()
		for pkg in ${SEARCH_FOR[@]}; do
			TO_INSTALL+=($(search_for $MIRROR_DIR $pkg))
		done
	else
		TO_INSTALL=($(search_in $MIRROR_DIR))
	fi

	if [ ! -n "$TO_INSTALL" ]; then
		echo "Nothing to do. Check for $MIRROR_DIR dir."
		panic
	fi

	for db in $CHROOT_DIR/var/lib/pkg{,/db}; do
		case "$db" in
			*/var/lib/pkg) install -d $db ;;
			*/var/lib/pkg/db) touch $db ;;
		esac
		if [ $? = 0 ]; then
			echo Database connected: $db
		else
			echo Unable to connect: $db
			panic
		fi
	done

	for pkg in ${TO_INSTALL[@]}; do
		echo -n "Installing ${pkg##*/} ..."
		$PKGADD_BIN --root $CHROOT_DIR $pkg 2>&1 >$TMP/log
		if [ "$?" = "0" ]; then
			echo " OK"
		else
			echo " ERROR"
			cat $TMP/log
		fi
	done
}

trap "panic" INT HUP QUIT TERM EXIT

readonly CRUXSTRAP_COMMAND="$0"
readonly CRUXSTRAP_VERSION="0.1"

TMP="$(mktemp -d)"

main "$@"

Картинка для привлечения внимания.

Напоследок, дисклеймер, зачем это не нужно. В данный момент я разворачиваю куда более грандиозную систему по автоматизации сборки образов для виртуальных (и не только) машин. CRUXSTRAP лишь вершина, оно создаёт ванильный, это важно, chroot, который затем упаковывается в squashfs. Рядом с ним кладётся другой squashfs, в котором лежат только настройки системы (при загрузке системы настройки ложатся «поверх» через overlay). Вся эта порнография упаковывается в общий initramfs, которые вместе с vmlinuz по итогу отдаются по сети (PXE) на любые устройства в сети.

Всё это именуется общими названиями: [default], [internet-gateway], [mailer-daemon]... При загрузке DHCPD + TFTP отдают GRUB2, который пытается загрузить grub.cfg глядя на MAC-адрес:

set default=0
set timeout=0

set menu_color_highlight=white/dark-gray
set menu_color_normal=black/light-gray
set color_normal=light-blue/blue

regexp --set=1:m1 --set=2:m2 --set=3:m3 --set=4:m4 --set=5:m5 --set=6:m6 '^([0-9a-f]{1,2})\:([0-9a-f]{1,2})\:([0-9a-f]{1,2})\:([0-9a-f]{1,2})\:([0-9a-f]{1,2})\:([0-9a-f]{1,2})' "$net_pxe_mac"
set mac="${m1}-${m2}-${m3}-${m4}-${m5}-${m6}"

source /os/mac-$mac/grub.cfg

if [ "$default" = "0" ]; then
	source /os/pxe-default/grub.cfg
fi

Если конфигурации с таким MAC не предусмотрено, отдаётся /os/pxe-default. Просто делаем ln -sf pxe-internet-gateway mac-52-54-00-12-34-56, и теперь вместо /os/pxe-default машина с этим адресом пройдёт по симлинку и получит конфигурацию /os/pxe-internet-gateway. grub.cfg:

set default="pxe-internet-gateway"

menuentry "Configuration [internet-gateway] for ${net_pxe_ip} (${net_pxe_mac})" --id=pxe-internet-gateway --unrestricted {
	linux /os/pxe-internet-gateway/vmlinuz
	initrd /os/pxe-internet-gateway/initrd
}

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

В случае поломки софта или атаки хакеров, ты нажимаешь кнопочку Reset или ПОПРОБУЙТЕ ВЫКЛЮЧИТЬ И СНОВА ВКЛЮЧИТЬ, система загружается по сети с нуля, как ни в чём небывало.

В случае поломки железа, ты даже не заморачиваешься, включаешь в сеть другую железку, меняешь её аки лампочку в цоколе, и всего-навсего прописываешь ln -sf новый MAC, чтобы теперь эта железка выполняла такую-то роль в сети. И всё. А представьте, если вы создадите систему которая масштабируется by-design. Загружается и автоматически становится частью чего-то, нодой. Один раз настроил у себя ОС для неё, и только и успевай подключать новые железки! Уххх. :D

Вся настройка, всех хостов лежит на твоей стороне. Структура:

/var/tftpboot/os/mac-00-00-00-00-00-00 -> /var/tftpboot/os/pxe-default
/var/tftpboot/os/mac-52-54-00-12-34-56 -> /var/tftpboot/os/pxe-internet-gateway

/var/tftpboot/os/pxe-default/grub.cfg

/var/tftpboot/os/pxe-default/vmlinuz
/var/tftpboot/os/pxe-default/initrd

/var/tftpboot/os/pxe-default/packages
/var/tftpboot/os/pxe-default/packages/bash#5.0.17-1.pkg.tar.xz -> /usr/ports/core/bash/bash#5.0.17-1.pkg.tar.xz
/var/tftpboot/os/pxe-default/packages/linux#5.6.7-1.pkg.tar.gz -> /root/ports/linux/linux#5.6.7-1.pkg.tar.gz
...

/var/tftpboot/os/pxe-default/persistent
/var/tftpboot/os/pxe-default/persistent/etc
/var/tftpboot/os/pxe-default/persistent/etc/rc.conf
/var/tftpboot/os/pxe-default/persistent/etc/ssh
/var/tftpboot/os/pxe-default/persistent/etc/ssh/sshd_config

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

И не важно, это может быть не CRUX, а любой другой дистрибутив, собранный в chroot: он точно так же будет упакован в squashfs, со своими настройками, и будет загружаться по сети со своим ядром.

P.S.: А чём вы занимаетесь на карантине?

 , cruxstrap,

Spoofing
()

chroot vs. switch_root

Форум — Linux-install

Устал бодаться со switch_root, то ему /proc /sys не примонтированы чтобы их перенести, то я их уже mount --move сделал, тогда дистрибутивный /etc/rc ругается что они уже есть. /proc /sys /dev /run это четыре каталога, которыми пытается управлять switch_root, но у дистрибутива (дистрибутивов) на них свои планы, и в /init не предугадаешь как лучше их примонтировать. Поэтому плюнул я на switch_root, решил тупо делать chroot.

Какие подводные камни? Чрутнулся в оверлей, загрузился, посмотрел mount, посмотрел df, вроде чистота и порядок. Ничего лишнего.

Никаких? switch_root не нужОн? Если я сам разруливаю все эти /proc /sys /dev /run. А больше ничего он не делает?

На картинке /init скрипт, справа виртуалка с выхлопом mount.

 

Spoofing
()

Звук в QEMU на CRUX

Форум — Admin

Джва джня пытался завести звук в QEMU, а всего-то и надо было, оказывается, указать -soundhw hda, без этого параметра почему-то звука просто небыло, хотя я думал, если звук в гостевой системе есть, значит и звуковая карта какая-то по-умолчанию должна была быть.

Картинка для привлечения внимания.

qemu-system-x86_64 \
    -machine accel=kvm \
    -smp 2 -m 2G \
    -audiodev id=alsa,driver=alsa \
    -soundhw hda

Может кому-то пригодится.

А вообще беда с этими приложениями, Firefox так например приходится через apulse запускать, чтобы эмулировать Psssh Audio.

 , ,

Spoofing
()

4K это апскейл или почему игры на FHDx3 тормозят больше чем на 4Kx1

Форум — Talks

я думал по логике вещей, что (1920 x 1080 x 3), в какой бы плоскости они не распологались, это меньше чем (3840 x 2160 x 1).

похоже, игроделы так не считают и апскейлят графон до 4K. вместо честного рендера.

видимокарта RX 570 8G.

у меня всё.

 

Spoofing
()

VDS взломали

Форум — Security

Ничего не сломали, ничего не украли (вроде), а повесили майнер, судя по процессу /bin/dhpcd который работает в 6 потоков и кушает 100% ядра.

Ссылка на скачивание: http://spfng.com/dhpcd

# uname -a
Linux spfng 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux

Я его прибил, в /bin/dhpcd написал bash-записку, чтобы со мной связались. В 00:00 по MSK файл восстановился, процесс снова запустился (пока я спал). Наверное, это просто скриптом всех подряд брутфорсят, а не направленная атака (никому не нужный Джо, ага).

Мне, в общем-то пофиг, это всего-лишь расходник, переустановил ОС и живёшь дальше. У SSH стоит авторизация по ключам. Может быть через exim? Да пофиг. Просто вот что бывает, если «один раз настроил и забыл».

Я знаю, что установи я свой уютненький CRUX, ничего бы такого не случилось. Не даром я не доверяю дистрибутивам типа Debian, CentOS, потому что хрен знает, что там внутрях у него крутится.

Любопытно только, каким образом, как. Такое-то решето!

Переустанавливать систему пока не тороплюсь. Если подскажете, куда копать, чтобы найти уязвимое место — было бы здорово. А нет так нет. Перекачусь на CRUX.

 ,

Spoofing
()

Она смогла принять в себя сразу четыре... (ФОТО)

Форум — Desktop

На самом деле я удивлён, что в этот раз даже обошлось без секса, AMDGPU в ядре включил, RX 570 MSI Armor 3DP+1HDMI воткнул и она с полтычка завелась: показала tty консоль сразу на всех мониторах. Воу.

Иксы тоже запустились. Правда встроенная утилита в LXDE малопригодна для тонкой настройки такой конфигурации, увы.

Вопрос по xrandr. Можно ли как-то сделать так, чтобы верхний монитор был сверху над тремя дисплеями так же как это в ИРЛ, и получается с небольшим смещением вправо? Ну вот допустим, 1920x1080 x 3 это будет 5760, а верхний монитор 2560x1080 должен быть по центру, получается, отступать от левой границы на сколько-то там пикселей, надо это посчитать. В общем, возможно ли?

 

Spoofing
()

GeForce NOW

Форум — Talks

https://www.youtube.com/watch?v=zceUpFI16UE

Для Ъ: Это виртуалка а-ля VDS с проброшенной видеокартой для запуска игр. Разумеется, всё через удобный интерфейс, чтобы Plug'n'Play.

Для Ъ^Ъ: проприетарщина, проходите мимо, но не уходите далеко: я бы хотел с вами обсудить саму суть технологии и все её достоинства и недостатки.

Сервис предоставляет возможность играть удалённо в трипл-эй проекты на любом ведре, в данный момент PC, Mac и Android. И прямо сейчас оно вышло из стадии бета-тестирования. Для пользователей из стран СНГ один месяц подписки стоит 999 рублей, шесть месяцев — 4999 рублей, и 12 месяцев — 9999 рублей. Помимо этого необходимо будет приобретать отдельно сами игры. Накладно, очень, отдавать условные 2000 рублей за игру плюс 1000 рублей за месяц «поиграть» в неё, но об этом чуть позже. Однако, если у вас уже есть игры в какой-то библиотеке типа Steam, тогда ещё раз покупать их уже не нужно. Прямо сейчас можно попробовать сервис бесплатно в течении 14 дней.

Для западных геймеров GeForce NOW предлагает бесплатный тариф, с ограничением игровой сессии в 1 (один) час. При этом количество одновременно запущенных сессий не ограничено. Расчехляем (гусары, молчать!) VPN'ы.

В общем-то суть понятна, нам выделяют ресурсы а-ля «VDS с видеокартой» с удобным интерфейсом для запуска игр. Отпугивает пока только одно: ценник. Впрочем, иначе мы бы получили засилье «танкистов» на серверах GeForce NOW и сервера бы быстро полегли. :)

Доводы ЗА и ЗА, — тут всё как с обычными VDS, к которым привыкли линуксоиды.

ЗА подкроватный локалхост.

Твоя железка — только твоя. Однако, речь не идёт про личные данные, которые обычно хранятся у линуксоида на подкроватном сервере. «Это же всего лишь игра».

ЗА удалённый гейминг.

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

В случае игр, к амортизации железа нужно добавить ещё поддержку его в актуальном состоянии. Про апгрейд в принципе можно забыть и сидеть на одном поколении ПК все 30 лет. Для игр хватит любого ноутбука, который может воспроизвести 720p видео.

Мобильность. Если вы часто переезжаете с места на место, в разъездах, командировках, или у вас мало жилого места: всегда есть возможность скатать катку в любимый StarCraft II на любом «тонком клиенте». Не нужно за собой тащить ПК.

А вы что думаете? Предвидятся ли свободные альтернативы у этого сервиса?

 , remote play,

Spoofing
()

chroot не подходит для содержания различных видов пингвинов в одной клетке?

Форум — General

Например. Возьмём не очень бородатый, но дистрибутив, какой-нибудь SLAX — прошлый выпуск с KDE, у которого устаревший glibc, или Debian — на VPS, тоже устаревший. Хотим установить современную ОСь в chroot чтобы в будущем перенести на новое устройство. На первом же этапе фейл, почему? Потому что старый glibc.

chroot . /bin/bash
chroot: failed to run command "/bin/bash": Input/output error

Это ниразу не проблема, ну не работает chroot, потому что на хостевой (от слова «хост», я не украинец) ОС стоит старый glibc, а мы пытаемся подключиться к bash, который собран с новым glibc.

Лааадно.

Снова берём Debian на VPS, хотим собирать-обновлять Gentoo в chroot 24/7, чтобы потом просто запаковал-распаковал образ на новом устройстве. Я бы для такого дела даже не пожалел приобрести самый дорогой тариф VPS за 1500 рублей: 6 ядер и 6гб памяти, чтобы круглосуточно крутить автосборку образов дистрибутивов.

 * Messages for package sys-libs/glibc-2.30-r3:

 * In order to use glibc with USE=-suid, you must make sure that
 * you have devpts mounted at /dev/pts with the gid=5 option.
 * Openrc should do this for you, so you should check /etc/fstab
 * and make sure you do not have any invalid settings there.
 * ERROR: sys-libs/glibc-2.30-r3::gentoo failed (pretend phase):
 *   mount & fix your /dev/pts settings
 * 
 * Call stack:
 *              ebuild.sh, line 125:  Called pkg_pretend
 *   glibc-2.30-r3.ebuild, line 757:  Called sanity_prechecks
 *   glibc-2.30-r3.ebuild, line 628:  Called check_devpts
 *   glibc-2.30-r3.ebuild, line 554:  Called die
 * The specific snippet of code:
 *              die "mount & fix your /dev/pts settings"
 * 
 * If you need support, post the output of `emerge --info '=sys-libs/glibc-2.30-r3::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-libs/glibc-2.30-r3::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.30-r3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.30-r3/temp/die.env'.
 * Working directory: '/var/tmp/portage/sys-libs/glibc-2.30-r3/homedir'
 * S: '/var/tmp/portage/sys-libs/glibc-2.30-r3/work/glibc-2.30'

Даже не вчитываясь сразу понятно, что дело тут не в /dev/pts, а том, что Debian by-design не создаёт всех необходимых условий для пересборки «мира» Gentoo.

По итогу, chroot совсем не пригоден для содержания всех видов пингвинов в одной клетке?

chroot пригоден только если собирать точно такой же дистрибутив, какой и установлен на хосте.

Ни для безопасности, ни для контейнеризации использовать его нельзя.

Печалька. Придётся возвращаться к своим железкам.

 

Spoofing
()

fb: switching to amdgpudrmfb from EFI VGA

Форум — Desktop

Хочу перекатиться на Gentoo / KDE, т.к. годы берут своё, хочется просто быть пользователем системы, а в эпоху мракобесия и SJW выбор пал на последний оплот стабильности Gentoo.

Железо Ryzen 2700X / RX 570 8G / GIGABYTE X470 AORUS ULTRA GAMING

Система загружается, то есть, я могу ввести root, toor, poweroff «вслепую», но только экран зависает на этой вот картинке.

fb: switching to amdgpudrmfb from EFI VGA (16 пингвинчиков не влезают)

Как бывший пользователь CRUX / Linux 5.4.13 скажу, что проблема ниразу не в Gentoo и не в «старом» ядре линукса. Рядом CRUX (читай: полностью ванильный софт на ванильном же ядре) отказывается грузиться...обновлять экран с той же ошибкой. Грешу в сторону RX 570. На встройке APU Athlon 200GE / Vega 3 точно такая же проблема.

У синих такой проблемы нет, благодаря чему могу это написать.

Разумеется, AMDGPU включены, как видно из скриншота. В ядре пробовал отключать опцию CONFIG_FB_EFI (EFI-based Framebuffer Support), тогда картина с «зависанием» наблюдается сразу после GRUB2.

В make.conf:

USE="-gnome -gtk -vlc"
INPUT_DEVICES="evdev keyboard mouse synaptics"
VIDEO_CARDS="intel i965 amdgpu radeonsi"

Вроде бы драйвера все установлены. linux-firmware установлена.

ЧЯДНТ?

--------

Таким образом, если вы не можете загрузиться, то

1) В меню grub2 при загрузке нажимаем клавишу «e» чтобы отредактировать параметры загрузки, добавляем опцию nomodeset, загружаемся.

2) cd /usr/src/linux && make menuconfig

3) Выставляем загружаться CONFIG_AMDGPU=m как модуль. Большие ничего исправлять не нужно.

4) ?????

5) PROFIT!

Огромное спасибо всем за участие в дискуссии! Вот вам скриншот успешного АМуДэ — Боярина.

 ,

Spoofing
()

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