LINUX.ORG.RU

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

Почему ОС всё ещё не загружаются по сети?

 

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

А что если, экземпляр вашей ОС хранился бы в «холодном» виде в образе, на сервере, откуда бы загружался на ваш хост при каждом его включении, и подтягивал за собой всю конфигурацию, необходимую для работы. Хост взломали, а вы просто исправили баг в образе который хранится «на холодную» и жмякнули кнопочку reset для перезагрузки, и снова в строю. Это же просто офигенно.

Как раз сейчас я этим и занимаюсь и решил поделиться мыслями. Хочу перевести все свои сервисы на удалённую «бездисковую» загрузку по сети. Чтоб даже домашний ПК-роутер, раздающий интернеты, загружался по сети и подтягивал образ с соответствующей конфигурацией. Для этого нужен только DHCP, tftp-hpa и... grub2, либо syslinux.

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

UEFI спросит DHCP-сервер, DHCP выдаст IP и скажет, что по такому-то адресу находится загрузчик. UEFI попытается загрузить его по TFTP-протоколу, и в случае успеха, уже сам grub2 покажет красивую менюшку с выбором ОС, — добро пожаловать бездисковую загрузку по сети!

С установкой и запуском tftp-hpa проблем не будет, /usr/sbin/in.tftpd --listen --secure --verbose /var/ftp/tftpboot

Предлагаю всё хранить в /var/ftp/tftpboot, туда же установим загрузчик GRUB2:

# grub-mknetdir --net-directory /var/ftp/tftpboot
Netboot directory for i386-pc created. Configure your DHCP server to point to /var/ftp/tftpboot/boot/grub/i386-pc/core.0
Netboot directory for i386-efi created. Configure your DHCP server to point to /var/ftp/tftpboot/boot/grub/i386-efi/core.efi
Netboot directory for x86_64-efi created. Configure your DHCP server to point to /var/ftp/tftpboot/boot/grub/x86_64-efi/core.efi

Далее DHCP, достаточно настроить чтобы он раздавал IP и говорил по какому адресу находится файл загрузчика, который UEFI будет загружать через TFTP.

# cat /etc/dhcpd.conf
shared-network arpanet {
  interface br0;

  allow booting;
  allow bootp;
  next-server 10.0.0.1;
  filename "boot/grub/i386-pc/core.0";

  subnet 10.0.0.0 netmask 255.0.0.0 {
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option subnet-mask 255.0.0.0;
    option routers 10.0.0.1;
    range 10.0.0.2 10.0.0.254;
  }
}

Загрузка будет происходить с tftp://${next-server}/${filename}. У меня интерфейс br0 — бридж, в который вхожи все виртуальные машины. Именно br0 присвоен 10.0.0.1. У вас это может быть просто сетевая карта enp1s4po3te5ri7ng9.

Алсо, если у вас реально UEFI, можно добавить проверку, какой загрузчик отдавать системе:

option client-system-architecture-type code 93 = unsigned integer 16;

if option client-system-architecture-type = 00:09 {
  filename "boot/grub/x86_64-efi/core.efi";
}
else {
  filename "boot/grub/i386-pc/core.0";
}

У меня кстати на QEMU с OVMF загрузчик EFI не заработал. Не знаю почему, то ли OVMF кривой, то ли надо тестировать на реальном железе (пока не пробовал).

Ну и вишенкой на торте надо создать обычный grub.cfg vi /var/ftp/tftpboot/boot/grub/grub.cfg:

set default=0
set timeout=60
menuentry "Boot SLAX" {
  linux /boot/os/slax/vmlinuz load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 from=http://10.0.0.1/slax/slax-64bit-9.9.1.iso
  initrd /boot/os/slax/initrfs.img
}
menuentry "Reboot" {
  reboot
}
menuentry "Shutdown" {
  halt
}
menuentry "Continue" {
  exit
}

На этом вся настройка. Для теста я использовал qemu-system-x86_64 -nic tap, который скриптами /etc/qemu-{ifup,ifdown} входил в бридж br0. BIOS спрашивал DHCP, DHCP выдавал IP и сообщал адрес загрузчика, далее BIOS загружал его с TFTP сервера и удачно грузился grub2, а дальше — дело тривиальное. Напихать кучу образов ОС.

Для примера можно использовать SLAX, для этого скачаем ISO-образ дистрибутива, стырим оттуда файлики /slax/boot/{vmlinuz,initrfs.img} и положим к себе в /var/ftp/tftpboot/boos/os/slax/.

Расскажу, как это работает, почему загружается SLAX и почему не загружается Debian / Ubuntu / Anything Else по сети.

Мы включили ПК, по TFTP загрузился grub2 и всё управление сейчас находится у него. Далее, выбирая пунктик меню загрузки SLAX, сам grub2 загружает с TFTP-сервера файлы /vmlinuz и /initrfs.img и передаёт управление уже ядру /vmlinuz. А ядро-то про TFTP сервер ничего не знает! И initrd SLAX'а, и любого другого дистрибутива ничего про TFTP не знает. До того момента, как мы грузимся по сети, мы работаем с TFTP-сервером, grub2 может оттуда загружать все свои модули, шрифты, аниме-картинку-с-понями для фона, но после того, как он передаёт управление ядру — забудьте про TFTP, всё.

В данном примере параметром к ядру указан from=http:// iso-образ SLAX, — да, iso-образ будет скачан с этого ресурса и SLAX будет успешно загружен по сети, нооо, важная деталь — это не параметр ядра, from= сохранится в /proc/cmdline, но ядро не знает что с этим делать, с from= будет работать сам /init скрипт находящийся в initrfs.img. Это чисто фича SLAX, и такой фичи нет у других дистрибутивов.

Как же тогда загрузить Ubuntu Live по сети? Да, grub2 может загрузить ISO образ размером 2гб, но оно вам надо? Ядро не знает про http и ftp (поправьте, если ошибаюсь), но ядро знает про NFS (Network File System) и умеет работать с ней. Таким образом, чтобы загрузить Ubuntu Live, вам надо точно так же извлечь vmlinuz и initrd из iso-образа Ubuntu, а параметром к ядру дописать root=/dev/nfs, таким образом ядро Ubuntu (и любого другого дистрибутива, т.к. это уже фича самого ядра Linux), будет знать, что после того как какой-нибудь скрипт в initrd запросит внешний файл, например, Live-образ системы, — ядро знает, что брать его надо с nfs://10.0.0.1/ubuntu-live — так-то!

Если будут вопросы, постараюсь ответить (хотя скоро спать).

За основу дистрибутива для загрузки по сети я беру любимый CRUX. Вся идея в том, чтобы загружался простенький busybox, подключался к сети (udhcpc), а затем через wget ftp://10.0.0.1/boot/pxelinux.cfg/54:52:00:12:34:56/init.sh && sh init.sh выполнял дальнейшие инструкции для загрузки, которые могут быть вообще любые. Подтягивал любой образ ФС по сети и switch_root в него! Так-то.

Spoofing
()

Как вы передаёте 64 гига фоток из андроида в убунту?

 ,

Способ 1

Воистину трушный способ: поднять на телефоне SSHD и тянуть с него файлы убунтой через rsync. https://www.reddit.com/r/Android/comments/7oreyo/protip_use_rsync_instead_of_...

0) Подключить убунту и телефон к одной Wi-Fi сети. Телефон должен пинговаться с убунты и наоборот, скажем.
1) Поднять на телефоне SimpleSSHD, он же dropbear; Он скажет крупным шрифтом в интерфейсе свой IP: 192.168.1.111 например.
2) Сформировать на убунте файлик android_keys для телефона, положив в него публичный ключ своего убунтового ssh. Закинуть этот authorized_keys на телефон куда угодно и в настройках SimpleSSHD указать этот каталог, где лежит сей файл. Понимать пути в андроиде надо иметь отдельный скилл, но например вы справились.
3) Порт у SimpleSSDH обычно 2222; жмём Start.
4) Создаём в убунте папочку ~/my_android_files
5) Начинаем на убунте тянуть rsync-ом файлы с андроида так:
rsync --update --progress -e 'ssh -p 2222' -azv 192.168.1.111:/sdcard/DCIM/Camera /home/me/my_android_files/

У меня на wi-fi это даёт в районе ~7 млн bytes/sec. rsync сказал такое:

sent 4,740 bytes  received 3,365,429,983 bytes  7,048,030.83 bytes/sec
total size is 3,367,749,977  speedup is 1.00

Ниже есть интересный каммент от pfg, вот такой:

поставить на телефону resilio sync.
расшарить весь раздел с данными пользователя.

поставить на убунту демон, прописать nice=10 чтобы не выпендривалось.
подключить расшаренную диру с телефона.

фсё - идешь пить чай. оно само все засинхронит.
самовосстановление после разрыва. 100% достоверность передачи по хеш-подписям файликов. шифроканал. ресилио сам пробросит порт по upnp и синхронизация будет по всему миру.
а также в плюсе двухсторонняя синхроинизация. закинул музончик в нужный дир на десктопе и оп все скопировалось на телефон. убрал лишние фотки на десктопе и они удалились с телефона.

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

Способ 2

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

1) Поднять FTP сервак на убунте, настроив /incoming; Я люблю vsfpd, но можно умереть его настраивать
2) Поставить "AndFTP" на андроид, указав ей дефолтный /incoming на нашей убунте
3) Кидаем в AndFTP файлами из галереи через "Share to...". Или как-то выбирая файлы в самой софтине.

Получается до ~7мб/сек на wi-fi. Странно, что не сильно быстрее способа 1, вопрос в измерителе. Замер в способе 1 - это итоговая строчка в конце работы rsync. А здесь на глаз по индикатору текущей скорости в AndFTP. Но тут иногда по непонятной причине на особо жирных файлах коннект рвётся и надо руками разбираться где порвалось и перезаливать. rsync гораздо круче в этом смысле.

Способ 3

Подключить оба девайса так же к одной Wi-Fi сети и немного поразбираться с командами доступа к файловой системы в adb. Наваять скрипт получения списка файлов, определения что уже залито и стягивать через adb. Пробовал год назад такой изврат, но уже не помню скорость. На вид медленнее способа 1.

Способ 4 Кидать через яндекс-диск, но это какая-то жопа по самой идее, хотя народ так делает и возможно это даже быстро, хотя вы ограничены вашим интернетом, яндекс-диск может долго думать и ваще какая-то хрень - лить куда-то в облако, а потом из облака. КГБ, опять же, фаши файлики цап-царап.

Способ 5

Соединение по USB телефона с ноутом и попытка работать через какой-то MTP или что-то такое - по ощущениям это жепь-ебрилло. На 2 тысячах файлах в моей галерее оно банально НЕ СМОГЛО. Я не дождался списка файлов.

Способ 6

Достать microSD из телефона и воткнуть в кардридер. Неудобно, не хочется возиться с железом. Не везде есть microSD, не все фотки сохранены на нём и т.п. Но возможно это наиболее быстрый file transfer.

В целом задча в том, что периодически я зыбиваю 32-64 гига в телефоне и надо это слить в ноут, чтобы склеить видосы в ролик и залить на ютуб и 70% фоток выкинуть нахрен, остальные поуменьшать и забекапить на яндекс-диск.

igloev
()

Зачем нужен Docker, если изучил Linux namespaces & CGroups и LXC/LXD?

 , ,

Салют, бродяги!

У меня вопрос, а зачем нужен Дохер?

Я реально не пойму. ИМХО я херею с людей на фирме:

- лагерь дотнетчиков

- лагерь жабистов

свою лабуду они запускают в Дохере... в Дохере же юзается (загибаем пальца):

1. runC

2. шимы containerd

3. containerd демон сам

4. демон Дохера, тоже сам

5. под капотом сиё добро юзают namespaces, cgroups и SELinux или AppArmor (в зависимости от дистра)

лабуда с пункта №1 по №4 - жрет ресурсы... если, это сиё еще в Кубернетесе... то 20-30 микросервисов Жабы, сожрут много ресурсов, и в целом... возни с обслугой сего добра (хелс-чеки, ридинесс-пробы, выставлени лимитов для Cgroup, тюнинг нод Кубера, где этот Дохер работать будет)

зачем???? вот, не проще бы народу юзать LXC/LXD?

1. Dockerfile? а чо, это не тупо bash-скрипт? ну да, есть там: FROM и multistage-билды... но, при прямых руках сие можно повторить в плане автоматизации и с другими технологиями

2. иммутабельные слои (или как там это хрень?) ну... когда билдили FROM scracth - Гошники свои имаджи - еще куда не шло, НО! у сранных жабистов с их SpringBoot, Hadoop и прочей хренью выходят огроменные размеры этих Дохер-образов

сижу и матерюсь... да, бродяги... я ною, да я знаю, что всем пофиг... но, я все равно поною...

мне надоел Дохер... его суют уже во все щели, без мысли - надо или не надо... мне этот Дохер снится в кошмарах уже...

PS: покидайтесь пометом в меня, жду

brol
()

Посоветуйте контроллер PCI-EX1/PCI to USB3

 ,

Приветствую! Хочу добавить в свой старый ПК поддержку USB3. Может кто-то уже использует более-менее современный (чтобы можно было еще в магазинах купить) контроллер с нормальной поддержкой в linux? Напишите пожалуйста марку контроллера или на каком он чипе.

Читал что чипы NEC имеют лучшую поддержку linux, чем VIA. Так ли это на самом деле?

P.S.
Моя материнка MSI P45 Platinum имеет свободные разъемы:
PCI - 2шт.
PCI-EX1 - 2шт.
PCI-EX16 - 1шт.

Использую Arch Linux (ядро 5.2.11).

Прошу не советовать апдейт ПК. Компьютер 2009 года, но он меня полностью устраивает (Intel Core2Duo E8400, RAM 6Gb, SSD-винт).

Zhivotnoe
()

Есть что-то лучше, чем rsync?

 ,

Есть папка с текущими бэкапами. Её надо синхронизировать на удалённый сервер. Объём папки около 8ТБ, между серверами 1Гб/с.

Бэкапы — копии виртуальных жёстких дисков, поэтому между синхронизациями должны изменяться несильно.

Пытаюсь по rsync. Очень долго тупит вначале. Потом медленно-медленно копирует. С диска читает со скоростью 20-30МБ/с, в результате время копирования чуть ли не больше, чем копировать целиком. В процессах показывает, что загружает одной ядро ЦП (из 24) и, похоже, из-за этого тормозит.

Есть что-то более адекватное? А в идеале, чтобы можно было посчитанные контрольные суммы на удалённом сервере держать в файле рядом, а не заново пересчитывать все 8 терабайт.

monk
()

сказ об том как rsync грохнул мне ntfs раздел

 , , ,

Хотел скопировать ntfs раздел на другой диск

root@deepforest-P31-DS3L:/home/deepforest# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  88,7M  1 loop /snap/core/7396
loop1    7:1    0 154,1M  1 loop /snap/freeorion/2
sda      8:0    0 186,3G  0 disk 
├─sda1   8:1    0  10,5G  0 part 
├─sda2   8:2    0     1K  0 part 
├─sda5   8:5    0  29,3G  0 part 
├─sda6   8:6    0  48,8G  0 part 
├─sda7   8:7    0  48,8G  0 part 
└─sda8   8:8    0  48,8G  0 part 
sdb      8:16   0 149,1G  0 disk 
├─sdb1   8:17   0  70,3G  0 part 
├─sdb2   8:18   0     4G  0 part 
└─sdb3   8:19   0  74,8G  0 part 
sdc      8:32   0 149,1G  0 disk 
├─sdc1   8:33   0  70,3G  0 part 
├─sdc5   8:37   0  74,5G  0 part /
└─sdc6   8:38   0   4,2G  0 part [SWAP]
sdd      8:48   1    30G  0 disk 
├─sdd1   8:49   1    30G  0 part 
├─sdd2   8:50   1  31,5K  0 part 
└─sdd4   8:52   1 251,3M  0 part 
root@deepforest-P31-DS3L:/home/deepforest# rsync -avh /dev/sda1 /dev/sdb3
sending incremental file list
sda1

sent 57 bytes  received 19 bytes  152.00 bytes/sec
total size is 0  speedup is 0.00
root@deepforest-P31-DS3L:/home/deepforest#
Понял что рсинк не сработал и решил удалить раздел /dev/sdb3 но Gparted не применяет операцию вот видео https://streamable.com/bljfe

UPD
Мало того рсинк превратил в raw раздел источник

Deleted
()

Что почитать про базовую «прошивку» Homo Sapiens

 ,

Известно, что у животных есть довольно развитый набор инстинктов от рождения. И это не только такие простые вещи, как условные рефлексы вроде реакции на тепло или холод. Животные откуда-то примерно «знают» как и на кого охотиться. И многое другое. Даже читая рассказы о том, как бабка в деревне растила гусей и они ее принимали за гусыню, бежали к ней «под крыло» в случае каких-то реальных или мнимых опасностей, можно не только умиляться, но и задуматься, откуда они это знают.

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

Linux тут притом, что в том числе и его ставят в разные роботы.

praseodim
()

Проверка работоспособности ECC памяти

 , ,

Есть AMD Ryzen 3600 и плата ASUS B450-PRO. Есть планка памяти c ECC. Как гарантированно проверить работоспособность коррекции ошибок памяти перед покупкой остальной памяти? Производитель заявляет поддержку, но без гарантий.

dmidecode выдаёт:

Physical Memory Array
        Error Correction Type: Multi-bit ECC

На ум приходит вызвать нестабильность памяти и смотреть логи. Есть ли более простые методы?

dinn
()

Сделать копию системы CentOS

 , ,

Ребята, помогите найти решение проблемы: есть полузабытая VDS-ка со старой Центосью 6.10 и набором httpd, nginx, mysql-5.5 и php7. Подключены epel, remi и еще пара неважных реп. Стоит задача проапдейтить все это хозяйство до актуальных пакетов, для чего решено для проведения экспериментов запихать это все в виртуалку и там измываться над ним. Как безболезненно для VDS-ки скопировать систему или хотя бы воспроизвести окружение (версии пакетов) продакшена в тест не используя докер и избегая даун-тайма сервера?

DonG
()

В Казахстане обязали устанавливать государственный сертификат для MITM

 , ,

В Казахстане обязали устанавливать государственный сертификат для MITM
Группа Безопасность

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

Без установки интернет работать не будет.

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

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

Всё это подается под соусом защиты пользователей от хакерских атак.

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

UPD: «Сертификат безопасности» в Казахстане отменяется

>>> Подробности (tengrinews.kz)

PPP328
()

Кухонных забот тред

 ,

Хочу прикупить себе на кухню что-то облегчающее быт, но не знаю что. Мультиварка и СВЧ-печь уже есть. На очереди кофеварка. И так-то вроде итак норм, но может есть какой девайс, сильно облегчающий жизнь, о котором я не знаю/который я недооцениваю.

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

Особенно агрегат для очистки овощей интересует.

Чё там годного к 2019г. напридумывали?

Линукс тут при том, что есть мультиварки (и не только!), управляемые с андроида.

next_time
()

Готов ли Wine для киберкотлет? Пост второй.

 , , ,

Это дополнение к предыдущему посту.

Для начала про фризы, и почему RADV лучше, чем AMDVLK. Спасибо Meyer, за то что напомнил:

Нет, там был проприентарный компилятор шейдеров. Теперь вроде вместо него что-то на LLVM.

Насколько я понял, у RADV компилятор шейдеров сделан лучше, чем у AMDVLK. С последним играть можно только в те игры, в которых есть поддержка Vulkan (помню, что DOOM 2016 года под вайном шёл замечательно). Ещё про RADV писали, что в нём есть Delta Color Compression, что полезно для днищекарт вроде моей 460 рыксы. Есть ли эта штука в AMDVLK - я не смог нагуглить.

Играть в Overwatch под вайном уже можно, ибо стабильные 100+ фпс. По крайней мере на AMD с поддержкой RADV. Карты от Nvidia не имею, ничего сказать не могу.

У AMDVLK есть настройки, которые не особо помогают в этом случае.

Иногда немного повысить фреймрейт может следующая команда:

echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level

Теперь про скриншот. Его я сделал по просьбе deepforest. Да и самому интересно, как пойдёт Quake Champions под вайном. Вайн - Proton 4.2-7 в стиме.

В целом... ну такое. Первые две минуты - фризы, которые доходили до 20 секунд, потом были мелкие фризы, потом уже почти полное отсутствие оных. Настройки - минимальные (мы же киберкотлеты, не забыли?). При первом запуске фреймрейт был от 70 до 130, при втором - почти всегда 90. На ультрах (кроме текстур, т.к. выше средних игра установить не позволяла даже под виндой) на моём железе фреймрейт скакал от 30 до 60 фпс. Железо со вчерашнего дня не менялось.

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

И распрыжка в игре не очень. В Xonotic мне больше нравится.

Deleted
()

Альтернативы 80-символьному ограничению

 , ,

Раньше, когда я был молодой и горячий, то по заветам отцов всегда держал ограничение 80 символов на строку (ну, без неадеквата, конечно)

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

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

Что посоветует мне сообщество, какая нынче мода на этот вопрос?

pihter
()

QEMU vs. VirtualBox для Linux host, Windows 10 guest

 , ,

Привет.

Захотел сделать «долгоживущую» виртуалку с Windows 10, чтобы пользоваться ей вместо дуалбута для простых задач. Поскольку лицензии и т. п. привязываются ко всевозможным аппаратным идентификаторам, естественным образом возник вопрос о выборе VMM (потому что потом уже не поменяешь). Последние 10 лет я пользовался VirtualBox (как для Linux host/Windows guest, так и наоборот), но не из каких-то содержательных соображений, а скорее по инерции. Оно вроде бы работает удовлетворительно, но не очень — то начинает люто лагать по I/O, то ломается фуллскрин, то ещё что-нибудь, ну и отсутствие нативной поддержки Wayland тоже не даёт покоя моему технофетишизму.

Отсюда вопрос: насколько хорошо QEMU-KVM справляется с Windows 10 при условии эмуляции GPU (без проброса)? Интересует в первую очередь производительность графики/виртуального GPU для десктопных задач, во вторую очередь — всякая интеграция (проброс USB-устройств, изменение разрешения виртуального экрана, copy-paste, шаринг файлов), в третью очередь — гуй (virt-manager? что-то ещё? упаси б-же, GNOME Boxes?).

И есть ли вообще профит по сравнению с VirtualBox?

intelfx
()

Готов ли Wine для киберкотлет?

 , , , ,

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

Немного предыстории, почему я вообще снова полез в вайн. Сначала я решил проверить игру на говноноутбуке с интеграшкой Intel HD 4000, на которой было 20 фпс на минималках против 7 в шин10. Vulkan на интеграшке не завёлся, хотя нужные пакеты установлены, а vkcube и vkmark писали, что Vulkan на Ivy Bridge ещё не готов. Есть ещё дохлая дискретка AMD Radeon HD 8500M Series, которая иногда даже заводится и на ней можно поиграть, только под вулканом игры выглядят так (под RADV всё оказалось ок). И тут мне пишут:

ну это ж реально достижение. На нормальном компе (сорри за оскорбление твоего ноута) наверное будут очумительные фпс

А так как мои компы к нормальным не относятся (то феном вместо процессора, то RX 460 вместо видеокарты), то мне конечно же захотелось проверить. Чем же ещё заниматься в 4 часа утра?

Был восстановлен слетевший GRUB манжары, обновлены пакеты (из testing, ради свежих кед), установлен AMDVLK и что-то ещё. Дабы не возиться с установкой вайна и нужных ему пакетов, поставил Lutris. Список пакетов для установки я взял отсюда, добавив winetricks. Обычный вайн не подойдёт - сначала не заработает Battle.Net, а если каким-то чудом и заработает, то не запустится игра.

Из хорошего:

  • FPS примерно такой же, как и под шин10, иногда меньше, иногда больше, что меня очень сильно удивило
  • Графических косяков не заметил вообще
  • Инпут лага, которым так славится Overwatch, нет вообще

Из плохого:

  • ФРИЗЫ. Шейдеры компиляются постоянно (те красные участки на графике - это компиляция, сначала они намного длиннее). Чтобы нормально поиграть, надо провести в игре несколько часов на разных картах. Юзер с 1050ti пишет, что у него с этим проблем нет.
  • Если в настройках системы русская раскладка стоит на первом месте, то в игре начинает косячить управление. Нормальные обозначения заменяются на CYRILLIC_буква (на скриншоте видно). Некоторые клавиши надо переназначить.

Хотел записать короткий видосик для примера. Узнал, что OBS Studio теперь может писать видео через vaapi, что очень здорово (и насколько я понял, позволяет писать видео с экрана даже на достаточно древних радеонах). Но в нём есть косяк как и в виндовой версии OBS - если видеокарта нагружена, то видео нормально не запишется. Если писать через Relive, то фпс незначительно просядет и появится небольшой инпут лаг, что терпимо, но к сожалению релайва под линукс нет. Программный кодировщик увеличил количество фризов.

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

Вывод: произошёл переход от «да, но пока нет» к «да, но пока не совсем».

Железо:

  • AMD Ryzen 5 1500X
  • Radeon RX 460
  • 8 ГБ ОЗУ

Очень важный UPD: автор тупой и забыл проверить RADV. С ним ситуация намного лучше. Фризы немного реже, они мелкие, максимальный фриз, который я словил (на новой карте) - 2 сек (против 10 на AMDVLK). График выглядит лучше. С RADV даже можно играть.

Deleted
()

Намутил свой сетевой протокол для дисков

 ethblk, , ,

https://github.com/vtl/ethblk

На имеющемся железе пробрасывает NVMe примерно на его родной скорости, и делает это в два с лишним раза быстрее штатного линуксового nvme-over-tcp. Дальше упирается в мой слабый клиентский комп, но на большом железе производительность растёт до миллионов IOPS через один диск. 50 GbE успешно загружал на полную катушку, был, практически, line rate.

mv
()

Перестала запускаться dota 2

 , , ,

Ubuntu 18.04.2 игра запускается, но окна нет! В системном мониторе есть процесс dota2, dota.sh и сам steam видит ее запущенной. Я пытался запустить игру через консоль «steam steam://rungameid/570», вот выхлоп https://pastebin.com/2X82JYAv

В свойствах проверил файлы на целостность, все ок.

Vasyajjjj
()

Зависания GNU/Linux на Ryzen 2400g

 

Господа, в чем может быть проблема? Периодически зависает, думаю проблема не в железе потому что в винде не проявляется. Винда стоит только чтобы запускать GTA раз в несколько дней, и ни разу никаких зависаний не было. Эта игра возможно не самая требовательная к железу, но загружает его всяко разно намного больше чем мои типичные задачи в Kubuntu. В Kubuntu все может зависнуть просто во время чтения ЛОРа в браузере, т.е. когда загрузка процессора и памяти минимальна. Из этого я делаю вывод что проблемы с памятью, перегревом и прочие связанные с железом можно смело исключить. Виснет нечасто, ну бывает раз в несколько дней или раз в неделю, не чаще. Ядро стоит уже 5.1, до этого переходил на новые по мере их выхода. Обещали что уже с 4.19 с APU Ryzen все будет ОК, но я пробовал все начиная с 4.15 и так ничего и не изменилось. Mesa тоже самая свежая, из PPA. Типично виснет так - только указатель мыши двигается, все остальное зависает намертво, на нажатия клавиш или клики мышкой не реагирует. Зависает обычно в открытом хромиуме, но возможно это совпадение потому что он у меня почти всегда открыт. Я понимаю что телепаты в отпуске, поэтому говорите что надо выложить и я буду выкладывать.

mbivanyuk
()

Готовые сборки Wine

 

Доступные сборки:

  • TkG - сборки, включающие в себя Staging патчсет, а также дополнительные патчи (в основном для улучшения производительности в играх).
  • Proton - сборки, собранные из исходников с репозитория ValveSoftware. По сути, это тот же Proton из Steam, только не требующий Steam Runtime для работы.
  • Staging - сборки с примененным Staging патчсетом. Содержат большое количество патчей, которых нет в обычном Wine.
  • Vanilla - обычный Wine из исходников с WineHQ, без каких-либо дополнительных патчей. В том числе есть Stable версии (2.0.x, 3.0.x, 4.0.x и т.д.).
  • Wayland - сборки с патчами для работы на Wayland (только для него, с Xorg они не работают совсем). Имеют много ограничений, в том числе OpenGL не работает, работает только Vulkan. Рекомендую прочитать страницу проекта wine-wayland, там об этом написано.

Доступные архитектуры:

  • amd64 - для 64-битных систем. Можно запускать и 64-битные, и 32-битные приложения.
  • amd64-nomultilib - для 64-битных систем. Можно запускать только 64-битные приложения. 32-битные зависимости не требуются.
  • x86 - для 32-битных систем. Можно запускать только 32-битные приложения.

Для работы сборок нужен как минимум GLIBC 2.27. Скрипт, которым я компилирую Wine, а также актуальная информация о сборках (опции компилирования, применяемые патчи и прочее), доступны на GitHub. Обновляю по мере возможности.

Старые сборки (4.11 и старее) требуют как минимум GLIBC 2.23.

Как использовать эти сборки? Просто распакуйте в домашний каталог (или в /opt) и указывайте путь до бинарника wine при запуске приложений. Например:

/home/user/wine-4.0-amd64/bin/wine someapp.exe
В системе должны быть установлены необходимые библиотеки, иначе Wine не будет работать или не сможет запустить многие приложения.

Ссылки на скачивание:

Если вам нужны сборки со встроенными библиотеками, взгляните на другой мой проект: https://github.com/Kron4ek/wine-portable-executable

Kron4ek
()

cron умеет работать с регулярками?

 , ,

к примеру в crontab прописать такой путь

*/5 * * * * www-data /usr/bin/php /var/www/[0-9]web/start.php

будет ли он ходить в каждую директорию начинающуююся с 0web по 9web и запускать start.php ?

ну или так

*/5 * * * * www-data /usr/bin/php /var/www/*web/start.php
testvtigercrm123
()