LINUX.ORG.RU

Сообщения Spoofing

 

Sandy Bridge Refresh Refresh Refresh Refresh Refresh Refresh

Состоялся официальный анонс 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
()

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

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

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

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

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

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

 

Spoofing
()

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

По аналогии с 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

Устал бодаться со 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

Джва джня пытался завести звук в 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

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

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

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

у меня всё.

 

Spoofing
()

VDS взломали

Ничего не сломали, ничего не украли (вроде), а повесили майнер, судя по процессу /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
()

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

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

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

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

 

Spoofing
()

GeForce NOW

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 не подходит для содержания различных видов пингвинов в одной клетке?

Например. Возьмём не очень бородатый, но дистрибутив, какой-нибудь 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

Хочу перекатиться на 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
()

QEMU лицензированы для использования Windows 10?

Информация об активации Windows 10 привязывается к (motherboard + cpu) и хранится на серверах M$, свежеустановленная Windows 10 проверяет, активировали ли её на таком-то железе.

В QEMU используется одинаковое железо у всех людей по всему миру, — поправьте если я ошибаюсь. Ну пусть кто-то использует -cpu host, ну а кто-то ведь не использует, да? Ну а motherboard в QEMU, должна быть наверняка у всех одинаковая.

В мире семь миллиардов человек, наверняка кто-то же должен был активировать лицензию Windows 10 на одной из дефолтных конфигураций QEMU, и если уникальные ID железа QEMU не генерирует каждый раз заново, то теперь каждый кто использует такую же конфигурацию железа в QEMU, может невозбранно пользоваться лицензионной версией Windows 10, ведь согласно данным своего же сайта, Windows будет думать что запущена на железе, где её и активировали... Не?

Короче, если я сейчас установлю Windows 10 на дефолтную QEMU, она должна быть в теории лицензионной, если кто-то её активировал на такой же дефолтной QEMU. Не?

 ,

Spoofing
()

Приглашаю в GTA Online

Если есть желающие скоротать вечер-другой за покатушками в GTA Online и кооперативном прохождении миссий, прошу, добавляйтесь в друзьяшки. Хэндл: Sp00f1ng

У нас есть ЛОР с тяночкой на ресепшоне и можно невозбранно бухать.

 gta v,

Spoofing
()

Wake-On-LAN не работает первый раз

Материнская плата gigabyte ab350m-ds3h v2, в настройках включена Wake On Lan (по-умолчанию), но вот что странно: когда включаешь компьютер в розетку первый раз и затем отправляешь WOL-пакет wol -v -h 172.31.255.255 B4:2E:99:XX:XX:XX в сеть (broadcast address), то компьютер никак на него не реагирует. Не включается.

После чего сам нажимаю кнопку Power и не заходя даже в BIOS/UEFI сразу выключаю (не из сети, а просто Power'ом), и только после этого компьютер начинает реагировать на WOL-пакеты и включаться.

Такая закономерность. Если выключить комп из розетки, то WOL не работает до первого включения ПК. После включения и выключения начинает работать.

Сначала подумал, на это может как-нибудь влиять ARP-протокол, типа компьютер при включении говорит: привет! я - XX:XX:XX:XX:XX:XX. Вычищение ARP таблиц со всех устройств никак не повлияло на фактор включения.

В итоге заборол проблему немного иначе: выставил в бивисе AC Power State == Always On, чтобы компьютер всегда включался при появлении нямки в розетке. После включения и загрузки по PXE, он сам себя выключает средствами ОС (poweroff), и теперь, когда ПК действительно нужен в работе, тогда начинаю слать WOL в сеть и работать с ПК.

Но всё же интересно было бы узнать, нормально такое поведение или баг?

 

Spoofing
()

Как узнать uptime?

Думаю, передавать в параметрах ядра /proc/cmdline чтобы наверняка. Или есть способ узнать реальный аптайм?

 , ,

Spoofing
()

Астрологи объявили неделю роутеров

Там это, Техно-Кухня на святое покусились: https://www.youtube.com/watch?v=eAuBE3oVlaw

Для Ъ: про ПеКа-роутеры и линуксы/бздю ни слова. Увы.

 

Spoofing
()

Помогите написать модуль для перезагрузки хоста

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

Все хосты у нас загружаются по сети (PXE), и считается, что система остаётся без человеко-вмешательства, но сюда могут вмешаться китайские ботнеты. Поскольку система загружается целиком в RAM, то простой Reset как всегда спасёт отца демократии. Система загружается с хоста DMZ (demilitarized zone) и возвращается к «заводским настройкам». Да, с нашей стороны мы обеспечиваем полную работоспособность системы и служб, что отключение питания (читай, Reset) это не форс-мажор, а обычное рабочее состояние. И было решено сделать, чтобы система сама перезагружала себя каждые N времени, но доверить скрипту эту работу нельзя, в случае вмешательства «хакера», скрипту будет kill -9, а вот с модулем ядра посложнее. А когда уже «свой» человек вмешается в работу системы, он при необходимости будет собственноручно модуль выгружать и система будет работать без перезагрузок.

Знатоки ядра, какими двумя функциями можно запустить sleep 31337 && reboot? Корректное завершение системы ctrl_alt_del(); не требуется (она в памяти, что ей там завершать?), поэтому kernel_restart(); отлично подходит.

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Spoofing");
MODULE_DESCRIPTION("/xyzzy");
MODULE_VERSION("1.0");

static int __init xyzzy_init(void) {
  mdelay(31337000);
  kernel_restart(NULL);
  printk(KERN_INFO "Nothing happens.\n");
  return 0;
}

static void __exit xyzzy_exit(void) {
  printk(KERN_INFO "Human happened.\n");
}

module_init(xyzzy_init);
module_exit(xyzzy_exit);

Сперва я конечно хотел сделать это на Bash на уровне initramfs, но как уже было оговорено, это дохлый номер.

daemon_xyzzy() {
  (
    sleep 31337
    echo "Nothing happens."
    reboot
  ) &

  echo $! > /xyzzy.pid
}

switch_initramfs() {
  local FS=/fs
  if [ -d $FS ]; then
    mount -t tmpfs -o size=100% inittmpfs $FS
    cp -a /???* $FS
    cd $FS
    # FIX: Yes I know about /proc /sys /dev fails.
    exec switch_root . /init 2>/dev/null
  fi
}

P.S. модуль называется xyzzy потому что есть такая недокументированная команда в проприетарном клиенте mIRC, которая делает echo Nothing happens. и больше ничего. Как-бы, ничего хорошего, и систему оставленную без присмотра надо перезагружать, наверняка её уже похакали. Вот.

Заранее благодарю за помощь и советы.

 

Spoofing
()

Кто поможет обналичить счёт на FirstVDS за 500 рублей?

На счету FirstVDS лежат 2500р. Чтобы их вывести, надо заключать договор в устаревшем аналоговом формате (почта россии, бумага а4, спасём леса, вот это вот всё). Долго, муторно, неудобно.

Есть вариант вывести деньги через посредника, путём продления услуг. То есть, я со своего аккаунта продляю услугу FirstVDS на вашем аккаунте на сумму 2500 рублей, а вы переводите мне деньги любым удобным способом (хоть на мобилу скинуть) в размере 2000 рублей.

Тех поддержка не возражает:

Здравствуйте, Иван. Да, в целом это возможно, но найти такого человека придётся самостоятельно. Получается, с нашей стороны это будет выглядеть так:

1. Получаем встречные запросы с обоих аккаунтов о продлении услуг на одном за счёт средств на другом
2. Списываем указанную в запросах сумму с одного аккаунта
3. Продлеваем на соотв. период сервер на другом аккаунте.

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

Anybody?

 

Spoofing
()

Рамблер пытается отжать nginx

 ,

Spoofing
()

Посоветуйте как лучше загружать конфигурацию хоста по сети

Включаю ПК или виртуалку подключенные к локальной сети, DHCP раздаёт PXE, загружается дистрибутив линукса (в теории, он может быть любой), — там просто загружается ядро и initramfs сразу содержащий squashfs-образ с системой, куда потом chroot'ится /init-скрипт. В общем, получается работающая система в RAM через PXE.

Простой /init-скрипт в initramfs, который чрутится в squashfs-образ с системой.

# cat init
#!/bin/sh

error() {
  setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
}

mount -t proc none /proc || error
mount -t sysfs none /sys || error
mount -t devtmpfs devtmpfs /dev || error
mount -t tmpfs tmpfs /overlay || error

mkdir -p /ro /overlay/rw /overlay/work
mount -t squashfs -o loop,noatime /filesystem.squashfs /ro || error
mount -t overlay -o lowerdir=/ro,upperdir=/overlay/rw,workdir=/overlay/work rootfs /newroot || error

mount --move /dev /newroot/dev
umount /sys
umount /proc

exec chroot /newroot /sbin/init
exec sh
reboot

Чрутнулся. Система успешно загрузислась. Теперь не знаю как лучше настраивать систему сразу после загрузки. Например, в дистрибутивах есть /etc/rc.local файл, выполняющийся сразу после загрузки. Можно модифицировать его, чтобы он например, делал bash -s <(curl http://10.0.0.1/rc_local.php), и уже скриптом отдавать глядя на IP машины дальнейшие команды (в виде bash скрипта) для конфигурации системы и введения её в работу. Настроить SSH, доустановить нужные пакеты, сделать git clone и прочая-прочая-прочая. Всё, что угодно.

А как бы вы реализовали такую настройку системы?

Только не надо про syslinux с его pxeconfig, это не то пальто: там в зависимости от MAC ты только выбираешь, какой файл с конфигурацией syslinux'а отдать. Я не хочу иметь 100500 образов систем, — пусть система будет одна, и уже в процессе загрузки она настраивается под каждый хост.

 

Spoofing
()

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