Установка AppArmor

Данный материал описывает установку AppArmor на Arch Linux и его деривативы. Более подробная информация и примеры конфигурации в официальной WIKI проекта. AppArmor — это система обязательного контроля доступа (MAC), реализованная на основе модулей безопасности Linux (LSM). AppArmor, как и большинство других LSM, дополняет, а не заменяет дискреционный контроль доступа (DAC) по умолчанию. Таким образом, невозможно предоставить процессу больше привилегий, чем он имел изначально.

Go to Source
Author: Blacksmith

HighLoad VPN

На этом сайте никогда не предлагалось использовать бесплатные VPN и прокси, но время диктует свои условия. На фоне полномасштабной войны в Украине российская цензура планомерно перекрывает все источники информации, которые не являются официальной пропагандой. После демарша VISA и Mastercard, пробить сей «фаервол» стало ещё более затруднительно. Я не буду объяснять почему это не препятствует перемещению крупных денежных потоков, а остановлюсь на том факте, что те, кто платил за VPN из РФ, потеряли такую возможность со всеми вытекающими из этого последствиями. И так, памятуя о том, что бесплатный сыр бывает только в мышеловке, рассмотрим сервис HighLoad. Сервис возник после появления знаменитой в определённых кругах петиции Роскомсвободы. Откликнулись не многие, но и на этом спасибо. HighLoad работает по принципу максимальной анонимности, утверждая, что не собирает логов и не требует каких-либо личных данных при регистрации. Даже почтовый ящик для регистрации может быть временным. В качестве VPN-решения используется технология ShadowSocks, разработанная в своё время для обхода Великого Китайского Фаервола. Трафик между пользователем и сервисом мимикрирует под стандартный HTTPS-трафик, из-за чего установить факт использования VPN со стороны провайдера можно лишь по косвенным признакам. Тогда как «стандартные» VPN-решения не проектировались с целью скрытия факта их использования. Если утрировать, то ShadowSocks на стороне сервера выглядит как обычный прокси с возможностью использовать шифрование. Клиент же заворачивает весь трафик устройства пользователя через этот прокси, будь то ПК, смартфон или что-то подобное. Для генерации ключа нужно зарегистрироваться на сайте проекта. Я не могу сказать точно, доступен ли он из РФ, но пока физически есть доступ ко внешней сети, вы можете использовать какой-нибудь плагин для браузера. Например, Windscribe позволяет бесплатно использовать около двадцати гигабайт трафика на их медленных серверах. Внимательно прочитайте инструкцию. Если не хотите светить свой почтовый ящик, используйте временный. Например temp-mail.org. Не теряйте связку «логин и пароль». Вы не сможете восстановить доступ при использовании временного почтового ящика. При необходимости используйте чат техподдержки в Telegram. После регистрации и активации аккаунта вам будет доступен один ключ вида ссылки, которую сумеет прочитать клиент Outline, работающий на всех популярных платформах. Всё, что вам нужно, это установить клиент и скопировать «ссылку-ключ»(или перейти по ней). После чего клиент настроит и сохранит подключение. Стоит иметь ввиду, что адреса серверов HighLoad переодически будут попадать в бан роскомнадзора, поэтому не теряйте данные для доступа к контрольной панели HighLoad, через которую вы всегда сможете сгенерировать новый ключ и удалить старый. Хочу так же напомнить, что бесплатный сервис HighLoad существует на данный момент исключительно на донаты и создан для обхода российской цензуры. Если вы не можете поддержать сервис финансово, то постарайтесь хотя бы не нагружать его лишним трафиком. Не используйте сервис для торрентов и доступа к тем ресурсам, куда и так можно попасть другими доступными вам средствами.

Go to Source
Author:

Приватный узел TOR

На этом сайте уже есть несколько заметок, посвящённых сети TOR. Написаны они около семи лет назад, и многое изменилось. В этом материале мы сосредоточимся на «мостах». Судя по всему, это наиболее актуальная тема в русскоязычном сегменте Интернета на данный момент. Нам понадобится следующее: • Знание Linux на уровне чуть выше поверхностного. • Английский язык (поднятие моста на хостинге в России не имеет смысла). • Понимание основных принципов работы TOR. • Около пяти долларов ежемесячно. • Желание.Если вы периодически пользуетесь TOR браузером и он у вас перестал соединяться с Сетью, то в поисках решения проблемы вы могли видеть посты в Рунете относительно версий браузера и прочих костылей, посты «ботов» в стиле «мне нечего скрывать» и тому подобное. Даунгрэйд версии браузера — плохая идея по многим причинам. Если это баг, то он будет исправлен. Троллей обсуждать мы не будем вовсе… TOR трафик, как и любой другой специфический трафик имеет ряд «маркеров», по которым его можно идентифицировать. Да, трафик шифрованный, но DPI и прочие игрушки вполне себе способны положить по определённому признаку весь TOR поток и (в случае с Роскомнадзором) всё, что на него похоже. Да и сам браузер находиться у вас на локальном компьютере, использует стандартные порты и передаёт трафик через вашего провайдера. Все узлы сети TOR публикуются в открытом доступе, включая мосты. Другими словами, сеть TOR спроектирована как инструмент обхода «заглушек» и анонимизации передаваемых данных. Она не способна стать невидимой по причине того, что она публична по умолчанию. Большинство людей без каких-либо регуляторов способно отличить хорошее от плохого и законное от противозаконного. К сожалению непринятие пользователем сетевого эксгибиционизма воспринимается регулятором как преступление. Усовершенствование кошки всегда ведёт к эволюции мышки. Рассмотрим вариант «анонимного» моста. Слово взято в кавычки потому что вы арендуете сервер у легитимного провайдера, платите ему не криптой и в процессе оставляете столько следов, что умысел на что-либо злое и аморальное говорит больше о пользователе, нежели о самой технологии. На этом сайте всегда рекомендовали Digital Ocean в качестве провайдера. Хочу добавить к нему Linode, как альтернативу. Цены и условия у обоих провайдеров практически идентичны (за исключением региональной политики взимания НДС). Linode более старый провайдер, вышедший на рынок в начале нулевых. Digital Ocean на рынке около десяти лет, но по технической части по некоторым показателям опережает Linode. Однако оптимизация в ряде датацентров выше у Linode. В любом случае, это два достойных игрока, качество услуг которых всегда на высоте, если опираться на мой личный опыт. Обе ссылки реферальные. Регистрируя аккаунт вы поддержите этот сайт и получите 100 долларов на счёт у провайдера, которые сможете потратить на его услуги. Через два месяца остаток сгорает, но двух месяцев более чем достаточно для оценки качества сервиса. Для моста вполне достаточно конфигурации с одним гигабайтом памяти и одним ядром. Это минимальная конфигурация, доступная у обоих провайдеров за пять долларов в месяц. Обратите внимание, что регистрировать аккаунт лучше без использования каких-либо средств анонимизации (VPN, Proxy и т. п.). Вас обязательно попросят подтвердить личность, что может затянуться надолго, так как потребуется предоставить официальный документ на английском языке, подтверждающий личность (водительское удостоверение, паспорт и так далее). Если не использовать средства анонимизации и IP адрес совпадает со страной, к которой привязано выше платёжное средство, то обычно всё сводится к подтверждению электронной почты.Из контрольной панели провайдера создайте виртуальный сервер. У Digital Ocean это «Droplets», у Linode «Linodes». При создании выберите ближайший к вам датацентр. Чем ближе к вам мост, тем быстрее будет отклик при его использовании. Не знаю, «особенность» ли это настроек, или «недоработка», но по умолчанию Tor Browser подбирает ближайшие к вам узлы без учёта прокси-серверов и мостов. «Ближайшими» считаются те, которые ближе к реальному местоположению точки входа. Не моста, а самого браузера. Если вы в Москве, а ваш мост а Калифорнии, то следующим узлом при построении цепи скорее всего будет Киев и так далее по цепи. Из-за такого «зигзага» пинг будет таким, что более старшее поколение вспомнит о 64К модемах. В качестве операционной системы выберите, то что вам ближе. У Linode более широкий выбор. Доступны даже Arch Linux и Gentoo. У Digital Ocean доступна FreeBSD. Если вам без разницы, то выберите Debian, так как в нижеприведённом примере используется именно она. Хорошей идеей будет использование SSH ключа, вместо пароля для доступа к серверу. После получения доступа нужно будет вручную запретить доступ по паролю в настройках SSH сервера. У обоих провайдеров создание виртуального сервера займёт не более минуты, после чего вы получите данные для доступа по SSH. После подключения по SSH создайте пользователя и дайте ему sudo права. В Debian это следующие команды:adduser username
/sbin/usermod -aG sudo userrnameВ Arch Linuxuseradd username
usermod -aG wheel userrnameГде «username» имя пользователя, а «sudo» или «wheel» – группа, в зависимости от дистрибутива. Переключитесь на вашего пользователя и обновите систему, если есть что обновлять. sudo apt update
sudo apt uprgadeДля Debiansudo pacman -SyyuДля Arch Linux. И так далее, в зависимости от вашего дистрибутива. В качестве фаервола меня устраивает UFW, работающий поверх Iptables. У вас могут быть свои предпочтения. У Digital Ocean бесплатно доступен внешний фаервол, который вы можете настроить через панель управления. У Linode эта возможность является «новинкой» и доступна не во всех датацентрах. Перекройте весь входящий трафик, кроме 22-го порта, дабы не заблокировать доступ себе. Выделенный IP на стороне вашего провайдера поможет закрыть 22-й порт для всех, кроме себя. Если вы всё же заблокировали себя, то на стороне Digital Ocean ничего страшного, если используется внешний фаервол. У Linode есть Lish Console в панели управления, позволяющая обойти фаервол. Подключаем репозитории TOR.sudo apt install apt-transport-httpsС помощью любимого текстового редактора создайте файл «tor.list» в /etc/apt/sources.list.d/ следующего содержания: deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org DISTRIBUTION main
deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org DISTRIBUTION mainГде строки «[signed-by=/usr/share/keyrings/tor-archive-keyring.gpg]» актуальны для 11-й версии Debian и (скорее всего) более поздних, а «DISTRIBUTION» – кодовое имя вашей версии дистрибутива. Для Debian 11 это «bullseye». Добавьте «arch=amd64» в строку, чтобы некоторые «apt-дистрибутивы» не ругались по поводу 32-х битной архитектуры. То есть строка будет выглядеть следующим образом в случае с Debian 11:deb [arch=amd64 signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org bullseye mainЧто указывает на то, что у нас архитектура x86-64 и на наличие или отсутствие в репозитории прочих нам начхать. Подключите ключ (из под root)wget -O- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg –dearmor | tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/nullДля более ранних версий можно использовать следующее:sudo apt-key adv –fetch-keys ‘https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc’Сработает и в Bullseye, но система ругнётся, так как способ считается «устаревшим» и более не каноническим. Обновляем список репозиториев и устанавливаем TOR.sudo apt update
sudo apt install tor deb.torproject.org-keyring nyx obfs4proxyГде «obfs4proxy» – прокси для TOR, к которому мы вернёмся чуть позже, а «nyx» – утилита для мониторинга узла (опционально). Для других дистрибутивов обратитесь к следующей странице на сайте проекта. Возможно для доступа к ней понадобится «средство обхода», поэтому я и рекомендую использовать тот же дистрибутив, что в этом примере. Если сайт проекта заблокирован и нет средств обойти блокировку, то придётся погуглить для поиска настроек репозиториев. Для CentOS и Red Hat /etc/yum.repos.d/Tor.repo должен выглядеть так:[tor]
name=Tor for Enterprise Linux $releasever – $basearch
baseurl=https://rpm.torproject.org/centos/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/centos/public_gpg.key
cost=100Для Fedora:[tor]
name=Tor for Fedora $releasever – $basearch
baseurl=https://rpm.torproject.org/fedora/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/fedora/public_gpg.key
cost=100Для Arch Linux TOR есть в официальных репозиториях. У OpenSuse, похоже, тоже. Для Arch Linux «obfs4proxy» есть в AUR. В случае с OpenSuse скорее всего придётся собирать из исходников. Так или иначе, после установки «tor» и «obfs4proxy» приступаем к настройке. Правим файл «torrc». В Debian он в /etc/tor/. В других дистрибутивах должен быть там же.BridgeRelay 1
PublishServerDescriptor 0
SocksPort 9050
SocksPort IP:PORT
#SocksPolicy accept 192.168.1.0/24
#SocksPolicy reject *
Log notice syslog
Log debug stderr
RunAsDaemon 1
DataDirectory /var/lib/tor
ControlPort 9051
HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C
ORPort [IPv6]:PORT
ORPort IP:PORT
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ServerTransportListenAddr obfs4 [::]:PORT
ServerTransportListenAddr obfs4 0.0.0.0:PORT
ExtORPort auto
#Address ip_or_domain
Nickname MyTORNetwork
RelayBandwidthRate 5000 KB
RelayBandwidthBurst 10000 KB
AccountingMax 400 GB
AccountingStart month 1 00:00
ContactInfo OWNER [email protected]
ExitPolicy reject *:* У Linode и Digital Ocean (по крайней мере в датацентрах юрисдикции Штатов) нет запрета на установку узлов TOR, но оба заставят вас его удалить после первого же инцидента. Поэтому не стоит даже пытаться разместить у них выходной узел. Но речь в этом материале о приватном мосте. BridgeRelay 1PublishServerDescriptor 0Первая строчка конфигурации указывает на то, что наш узел — это мост. Вторая на то, что данные о нём нигде не должны публиковаться. По умолчанию проект TOR публикует адреса всех промежуточных и выходных узлов в публичном доступе. Адреса мостов так же собираются и предоставляются пользователю по запросу, когда в браузере вы запрашиваете адреса мостов. То есть вторая строка конфигурации указывает на то, что вы сами даёте эти данные (друзьям и т. д.), но автоматически TOR Browser никому их не предлагает (не факт, что при этом не собирает). То есть в этом и есть «скрытность». Если обычные мосты можно положить путём перебора адресов используя тот же браузер, или сам сайт проекта, то приватный мост будет скрыт, пока вы сами его не засветите в публичном месте. SocksPort 9050 SocksPort IP:PORTПервая строка указывает на локальный порт. Он используется для локальных SOCKS соединений в пределах localhost. Вторая используется для внешних. Порты должны быть разными и второй открыт на стороне фаервола для внешних соединений, если вы планируете подключаться к своему узлу через обычный браузер или что-либо ещё, помимо TOR браузера. IP — внешний IP-адрес вашего сервера.#SocksPolicy accept 192.168.1.0/24#SocksPolicy reject *В данном примере строки закомментированы. Первая — политика принятия внешних соединений. То есть, если сам узел в локальной сети (что не проблема в странах, в которых TOR не блокируется или блокируется косоруко), то 192.168.1.0/24 указывал бы на то, что реле будет принимать все запросы на SOCKS порт из вашей локальной сети в диапазоне адресов с 192.168.1.1 до 192.168.1.255. Вторая строка указывает на то, что все остальные запросы отклоняются. В моём случае закомментировано, так как SOCKS порт всё равно заблокирован фаерволом за пределами локальной сети. Раскомментируйте обе строки и укажите своё значение. Если у вас выделенный IP-адрес, то укажите его. Если разрешить всем соединение на этом порте, то ваш узел захлебнётся и точно не будет «скрытым». По хорошему, порт должен быть заблокирован и единственным способом соединения должен оставаться TOR браузер на узлах подобного типа. Имейте ввиду, что у обоих рекомендованных провайдеров трафик ограничен. На минимальном тарифе — терабайт в большую сторону. Если вы напутаете в конфигурации и порт станет публичным, то терабайт уйдёт за пару дней при хорошем раскладе.Log notice syslogLog debug stderrЭти строки отвечают за логирование. В моём случае это системные логи. Если хотите отдельные логи, то строки должны выглядеть следующим образом: Log notice file /var/log/tor/notices.logLog debug file /var/log/tor/debug.logRunAsDaemon 1 указывает на то, что узел работает в качестве системного демона в фоновом режиме.DataDirectory /var/lib/tor указывает на рабочую директорию узла. Там будут храниться ключи и прочее.ControlPort 9051 — локальный порт, к которому будет подключаться утилита мониторинга (nyx), установленная ранее. HashedControlPassword — хэшированный пароль для доступа к утилите мониторинга. Вы можете сгенерировать его командой «tor –hash-password pass», где «pass» – пароль. Придумайте свой. Можно использовать куки, заменив строку «HashedControlPassword» на «CookieAuthentication 1», но для доступа к мониторингу понадобится root, что излишне. ORPort [IPv6]:PORTORPort IP:PORTПервая строка относится к IPv6, вторая к IPv4. Это внешний IP вашего сервера. Порт должен быть доступен извне на стороне фаервола. Через этот порт ваш узел TOR будет связываться с другими. ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxyServerTransportListenAddr obfs4 [::]:PORTServerTransportListenAddr obfs4 0.0.0.0:PORTExtORPort autoПервая строка указывает на бинарник obfs4proxy. Вторая и третья на порт, который будет слушаться на предмет внешних SOCKS запросов. IPv6 и IPv4 соответственно. Не путать с SocksPort. В данной конфигурации TOR браузер будет соединяться именно с obfs4proxy, который в свою очередь «прячет» TOR трафик, маскируя его под обычный. То есть, при желании и технической возможности ваш провайдер увидит SOCKS прокси (хотя бы тому, что порт не связан со стандартными портами того или иного популярного ПО), но ничего не говорит ему о том, что это TOR. Если между клиентом и SocksPort идёт «чистый» трафик со всеми признаками TOR, то здесь всё выглядит как стандартная активность. Порт должен быть открыт для внешних соединений и не совпадать с ORPort. Четвёртая строка отвечает за локальное взаимодействие TOR и obfs4proxy. Всегда «auto». Не пытайтесь указать своё значение.Address ip_or_domain, где «ip_or_domain» указывает на IP вашего сервера, или его доменное имя. Строка не имеет значения в данной конфигурации. Если убрать из публичной конфигурации, TOR подберёт значение. Отображается в публичных списках известных узлов. Nickname — имя вашего узла. Используется в паре с «Address». Будет отображаться в логах TOR браузера. RelayBandwidthRate 5000 KBRelayBandwidthBurst 10000 KBAccountingMax 400 GBAccountingStart month 1 00:00Первая строка указывает на ширину канала, который доступен для узла. Вторая указывает на максимально возможную ширину на пиках. Это не ширина вашего реального канала, это разрешённая скорость для TOR в килобайтах. Третья строка указывает на максимальный объём трафика за учётный период. Четвёртая строка указывает, что учётный период начинается в 12 ночи, первого числа каждого месяца. Стоит учесть, что «AccountingMax» указывает на трафик в каждую из сторон, а не на общий объём. То есть в данной конфигурации возможно 800 GB ежемесячно, со скоростью 39 мегабит в секунду, при скачках в 2 раза больше. Учитывая, что это скрытый мост, то значения вполне приемлемые. На публичном узле при таких скоростях весь лимит был бы выработан меньше чем за сутки. ContactInfo — ваше имя или никнейм и адрес электронной почты. Используется для связи по техническим вопросам. Публикуется в открытом доступе в случае публичных узлов. ExitPolicy reject *:* указывает на то, что узел не является точкой выхода. Мост не может быть точкой выхода, иначе теряется весь смысл. Проверяем всё ещё раз и сохраняем изменения. Далее правим файл «torsocks.conf» в той же директории, что и «torrc». TorAddress 127.0.0.1
TorPort PORT
OnionAddrRange 127.42.42.0/24Первая строка — адрес узла. В нашем случае локальный, так как всё на одном сервере. Технически может быть и на разных. TorPort — тоже, что и локальный SocksPort в «torrc». Прокси будет обращаться к нему для выхода в TOR. OnionAddrRange относится к «скрытым сервисам». В нашем случае бесполезная строка, так как у нас нет подобных сервисов. Технически, это незадействованный диапазон локальных адресов для, например, .onion сайтов на вашем сервере. Сохраняем. Перезагружаем TOR.sudo systemctl restart tor@defaultДля автозапуска при старте системы используйте следующее:sudo systemctl enable tor@defaultК сожалению в Debian я не могу победить глюк, который не даёт узлу запуститься автоматически. Видимо это глобально затрагивает большинство машин на Debian. Возможно и на Ubuntu тоже. То есть, после перезагрузки сервера придётся использовать «sudo systemctl start tor@default» для запуска TOR. Проблема, возможно, связана с ранним выполнением скрипта, до поднятия сетевых интерфейсов. Далее нам нужно получить данные для TOR браузера. Пример хранится в /var/lib/tor/pt_state/obfs4_bridgeline.txt. Откройте файл и там будет строка подобного типа:Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=67X/L181CbNew1FyZ7gw/YJLJYT6fuB/tm8VtOlJ/r1gxNFq1NY5lJ+TlHOH2AuO+6myTg iat-mode=0Где «cert» – сертификат для идентификации. IP и Port — это данные из настроек «torrc», указанные для «ServerTransportListenAddr». Соответственно, если на стороне браузера нет поддержки IPv6, то используйте IPv4. FINGERPRINT можно получить следующей командой: sudo cat /var/lib/tor/fingerprintТо есть, скопируйте строку из /var/lib/tor/pt_state/obfs4_bridgeline.txt, замените IP:Port и FINGERPRINT на свои значения и вставьте её в соответствующее поле в настройках TOR браузера. Соединение будет поднято.Таким образом мы настроили приватный мост TOR и с помощью obfs4proxy подключили к нему TOR браузер. Используйте команду «nyx» на запуска утилиты мониторинга.

Go to Source
Author:

VirtualBox VM на физическом диске

Физический накопитель (HDD, SSD и так далее) значительно увеличивает производительность виртуальной машины. Это полезная опция, если VM нужна для дела. Несмотря на отсутствие признаков этой опции в графическом интерфейсе, VirtualBox всё же умеет работать с физическими накопителями. VirtualBox VM — кроссплатформенный продукт. ОС хоста может иметь свои нюансы при работе с VirtualBox, но общие принципы практически идентичны. Данный материал основан на работе с Linux, но я так же приведу примеры для Windows и MAC. Нам понадобится свободный диск, который хостом воспринимается как физический накопитель. Это может быть флэшка USB 3 (при более медленных решениях теряется смысл), не слишком медленный HDD, или полноценный SSD. Теоретически, ничто не мешает использовать свободный раздел, а не весь диск. Но во избежании лишних проблем не стоит пытаться использовать раздел, используемый хостом. Даже если он пустой, но при этом монтируется при старте ОС хоста. В моём случае это старый SSD на SATA, хост под Arch Linux и Windows 10 на стороне VM. Далее нужно создать VM штатным способом чрез графический интерфейс, но следует пропустить шаг создания виртуального диска. После настройки VM следует определиться с разметкой диска. Я использую EFI, так что это будет GPT. Любой удобной программой разметьте диск, или оставьте эту задачу гостевой ОС. Практически любая современная ОС сделает это при установке. Уточните расположение и номер диска. В Linux это можно сделать командой «sudo fdisk -l». Пример выдачи:Disk /dev/sdb: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: SPCC Solid State
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 09A1074D-98C3-BC43-88B9-BAF6DB909A54Это часть выдачи, которая относится к диску, который я хочу использовать. Путь до sdb будет «/dev/sdb». В MAC следует использовать команду «diskutil list». Пути до дисков выглядят как «/dev/disk0», «/dev/disk1»… В Windows штатная программа называется «Disk Management». Диски обозначаются «PhysicalDrive0», «PhysicalDrive1» и так далее. Далее откройте терминал (или Power Shell в Windows). Если на хосте используется Windows, то нужно перейти в корень VirtualBox. Обычно это в «Program Files». Пример:cd “C:Program FilesOracleVirtualBox”В Linux следует учесть права на управление дисками. Запускать VirtualBox с правами root – плохая идея. Будем исходить из того, что пользователь и VirtualBox находятся в одной группе. Для управления дисками обычно требуется root-доступ. Проверяем пользователя и группу. В моём примере:ls -l /dev/sdbВыдача:brw-rw—- 1 root disk 8, 16 Nov 14 07:00 /dev/sdbГде root — пользователь, disk — группа. Добавляем себя в группу «disk».sudo usermod -a -G disk usernameГде «username» – имя пользователя, под которым вы работаете. Таким образом мы исключаем необходимость запуска VirtualBox с правами root для доступа к физическим дискам. На случай, если для запуска самой VirtualBox всё же требуется root-доступ, убедитесь, что добавили себя в группу «vboxusers», в которой обычно работает VirtualBox. Для принятия изменений следует перезапустить сессию. И так, в консоли создаём «диск» для нашей VM:VBoxManage internalcommands createrawvmdk -filename “/путь_до_файла/диск.vmdk” -rawdisk /dev/sdbГде путь — произвольное значение. Для удобства диск можно создать там же, где и другие файла нашей новой VM; «sdb» – диск. Используйте своё значение. Использовать кириллицу в путях – тоже не очень светлая идея. Используется в примере только для наглядности. Если хост под Windows:VBoxManage internalcommands createrawvmdk -filename “C:UsersUserNameпуть_до_файладиск.vmdk.vmdk” -rawdisk .PhysicalDrive#Где # – номер диска. Если хост под MAC:VBoxManage internalcommands createrawvmdk -filename “/путь_до_файла/диск.vmdk” -rawdisk /dev/disk#Про кириллицу и номер диска всё то же самое, что и выше.Таким образом мы создали виртуальный диск, по сути являющийся ссылкой на физический диск. Далее через графический интерфейс зайдите в настройки своей VM и добавьте к ней диск, указав в качестве диска только что созданный «raw-диск». Таким образом наша VM будет использовать физический диск, что значительно повысит производительность.

Go to Source
Author:

Wine Crossroads

Сборки Wine, объединяющие все предыдущие сборки, опубликованные на этом сайте.Не смотря на название сборок, они не содержат ничего эксклюзивного, так как я не программист. К сожалению свободного времени тоже не так много как хотелось бы, так что я не могу больше компилировать сборки “на все случаи жизни” и уже давно не успеваю делать это регулярно. Предоставленные здесь сборки по прежнему опираются на разумную комбинацию патчей TK-Glitch, Proton и других разработчиков. Немного о нумерации версий: Первые 2 цифры указывают на текущую версию Wine, используемую при сборке. Третья цифра указывает на мою собственную реверсию, буква в конце указывает на акцент сборки. M – версия, основанная на ванильной версии Wine, S – версия с набором патчсетов Staging, P – версия, собранная из исходников, предоставленных Valve. То есть P – это практически Proton, но собран в виде обычной сборки Wine и не будет работать с нативным клиентом Steam (ровно как и со Steam.exe). Практически тоже самое вы можете получить при распаковке Протона, полученного через Steam. Но сборка неплохо работает с играми других платформ, таких как GOG и так далее. Пример: версия 6.10.5-m – это пропатченная ванильная (mainline) 6.10 версия Wine, где 5 – моя реверсия, означающая, что 6.10.3-m была более глюкавая, а 6.10.6-m будет ещё лучше, если в 6.10.5-m что-то не работает по моей вине. Все версии (включая M) содержат патчи Fsync + Fsync-Futex2, а также Esync, на случае если Fsync не поддерживается ядром. Напомню, что для работы Fsync по прежнему нужно пропатченное ядро. Все версии ориентированы на работу в связке с DXVK, поэтому готовые сборки скомпилированы без поддержки VKD3D. Если вам нужна сборка с поддержкой VKD3D, то её можно скомпилировать из исходников, или воспользоваться готовыми сборками из других источников. Во всех готовых сборках вырезан функционал построения меню (мусор в меню нативных программ) и перестроения ассоциации файлов (нативные txt файлы больше не будут ассоциироваться с notepad.exe). При сборке готовых бинарников используется Arch Linux и Debian 10. В бинарниках, собранных в Arch (на сегодня) поддерживается более широкий спектр 32-х битных библиотек. То есть чистые 32-х битные префиксы работают лучше. Это не имеет значения при создании гибридных префиксов. Сборки, скомпилированные в Arch будут работать только в его производных из-за новейшей версии GlibC. Я стараюсь отдавать приоритет бинарникам, собранным в Debian 10 (версия glibc 2.28) для более широкой поддержки дистрибутивов. Но и эти сборки не будут работать в дистрибутивах, где версия glibc старше. В таком случае следует скомпилировать бинарники из исходников.О крупных изменениях в сборках я буду сообщать ниже.

Go to Source
Author: