LINUX.ORG.RU

Сообщения Rinaldus

 

Подпись Git коммитов GPG-ключом

 , , ,

У меня есть несколько Git репозиториев, у некоторых даже есть небольшая аудитория. Хотелось бы освоить подписывание своих коммитов своим собственным GPG-ключом. Только есть несколько вопросов:

  1. Я эти коммиты создаю с 3 различных устройств постоянно и возможно еще изредка с 4-го. Мне GPG ключ для подписи скопировать на каждое устройство или на каждом устройстве сгенерировать по уникальному ключу?
  2. Когда я осваивал подписывание в техническом плане, я создал в своем основном GPG-ключе специальный подключ для подписывания (subkey). Должен ли я придерживаться этой конфигурации с подключами или лучше сгенерировать отдельный master key для подписывания?
  3. Обязательно ли должен быть у ключа для подписывания пароль или без него можно обойтись?
Rinaldus
()

OpenVPN без easy-rsa

 ,

Пытаюсь установить OpenVPN сервер без использования скриптов easy-rsa. Потому что у меня уже есть CA-сертификат, и я хочу использовать именно его, а не отдельный сгенерированный скриптами.
Нагенерировал сертификат сервера, клиентские сертификаты, все прописал, запускаю подключение с клиента. Он мне вот что выдает:

Fri Jun 24 16:31:37 2016 VERIFY OK: depth=1, C=RU, ST=XXX, L=XXX, O=XXX, CN=Certificate Authority, emailAddress=xxx@xxx.ru
Fri Jun 24 16:31:37 2016 Certificate does not have key usage extension
Fri Jun 24 16:31:37 2016 VERIFY KU ERROR
Fri Jun 24 16:31:37 2016 OpenSSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Fri Jun 24 16:31:37 2016 TLS_ERROR: BIO read tls_read_plaintext error
Fri Jun 24 16:31:37 2016 TLS Error: TLS object -> incoming plaintext read error
Fri Jun 24 16:31:37 2016 TLS Error: TLS handshake failed
Fri Jun 24 16:31:37 2016 SIGUSR1[soft,tls-error] received, process restarting
Fri Jun 24 16:31:37 2016 Restart pause, 2 second(s)
Fri Jun 24 16:31:39 2016 WARNING: file 'vpn.work.p12' is group or others accessible
Fri Jun 24 16:31:39 2016 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Fri Jun 24 16:31:39 2016 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 24 16:31:39 2016 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jun 24 16:31:39 2016 Socket Buffers: R=[212992->212992] S=[212992->212992]
Fri Jun 24 16:31:39 2016 UDPv4 link local (bound): [undef]
Fri Jun 24 16:31:39 2016 UDPv4 link remote: [AF_INET]<ip_сервера>:<порт>
Fri Jun 24 16:31:39 2016 TLS Error: Unroutable control packet received from [AF_INET]<ip_сервера>:<порт> (si=3 op=P_CONTROL_V1)
Fri Jun 24 16:31:39 2016 TLS Error: Unroutable control packet received from [AF_INET]<ip_сервера>:<порт> (si=3 op=P_ACK_V1)
Fri Jun 24 16:31:40 2016 TLS Error: Unroutable control packet received from [AF_INET]<ip_сервера>:<порт> (si=3 op=P_CONTROL_V1)
Это часть лога. Я так понял, ему не нравится мой CA-сертификат, он ищет и не находит в нем какое-то расширение, о котором я не имею понятия. Можно ли OpenVPN заставить проигнорировать поиск этого расширения? Потому что я не собираюсь из-за него перегенерировать свой CA-сертификат, который меня всем устраивает. И мне очень не хотелось бы использовать скрипты easy-rsa.

Rinaldus
()

ARK: Survival Evolved, как выживать?

 ,

Давно уже пытаюсь освоить ARK: Survival Evolved, ее наряду с Rust считают одной из лучших существующих выживалок для Linux. Но только не получается. Не могу убить ни одного динозавра, даже самого слабого. В настройках синглплеера выкрутил их урон и здоровье на минимум (что-то вроде 0.0001%), свой урон и здоровье - на максимум. Прокачал 5 уровней и попытался убить самого слабого и безобидного динозавра: Dodo. Я об него сломал 2 копья, практически полностью сломал топор и кирку. Он от меня только бегает и не дохнет. Полоски здоровья над его головой как в нормальных играх нет, поэтому оценить его здоровье не могу.
Эта игра настолько забагована или я что-то не так делаю? Кто-нибудь может поделиться толковым гайдом? Знаю, что их в интернете полно. Но нигде не указано, с какого уровня можно эффективно убивать динозавров и при этом не дохнуть самому.

Rinaldus
()

Зоопарк 3D форматов

 , ,

У меня есть 40-дюймовый телевизор Samsung 2013 года выпуска и есть Raspberry Pi 2 с Kodi для просмотра фильмов. Есть также очки для просмотра 3D, которые поставлялись вместе с телевизором. Недавно я скачал себе фильм в формате Bluray 3D (с расширением ISO).
Дело в том, что я никак не могу завести этот фильм в формате 3D, он все время включается в режиме 2D. Даже если выставить принудительно интерфейс Kodi в режиме горизонтальной стереопары (в очках появляется такое красивое рельефное 3D-меню), то при попытке воспроизвести фильм моментально переключается на 2D и воспроизводится в режиме 2D.
Качаю сейчас раздачу этого фильма для вертикальной стереопары и надеюсь, что хоть она пойдет на моем телевизоре. Но вот какие вопросы.
1. Возможно ли технически завести на моих устройствах Bluray 3D?
2. Нафига наплодили столько форматов для 3D? Bluray 3D, горизонтальные стереопары, вертикальные, с каким-то анаглифом и без него... Как разобраться, какие из них поддерживают мои устройства и какие из них наиболее качественные для домашних условий

Rinaldus
()

Рекурсия в программах для мониторинга

 , , ,

Никак не мог найти себе подходящую программу для автоматической синхронизации файлов с сервером при их изменении, пришлось написать свою на bash. Вот ее активная часть:

while true; do
    if [[ -n $(git status -s) ]]; then 
        cd $1
        git add .
        git commit -m "Git commit `date +'%d.%m.%Y %H:%M:%S'`"
        git push origin master
        notify-send -i face-smile "Синхронизация выполнена"
    fi
done
Т.е программа постоянно смотрит вывод git status и если обнаружит, что файл изменен, она автоматически его коммитит. Работает идеально. Но я беспокоюсь за чистоту программирования и еще за сохранность моего жесткого диска. Она ведь постоянно долбится в этот git status, насколько это правильно? Можно было конечно не делать бесконечным циклом, а запускать по cron, но мне нужна именно моментальная синхронизация. С другой стороны, как устроены другие популярные программы для синхронизации или мониторинга чего-либо, типа Dropbox или Seafile? Я не разбирался, что у них происходит под капотом, может они тоже также долбятся в свое?
Расскажите пожалуйста об этом, если знаете, и может быть дадите какие-нибудь советы, как улучшить этот алгоритм?

Rinaldus
()

Как можно задетектить устройство по SIM-карте?

 , ,

Недавно у одного из основных российских сотовых операторов (не буду говорить, у какого, чтобы не делать рекламу) появился тариф: 200 минут разговоров, 200 SMS и безлимитный интернет! Я сразу же загорелся на него перейти, т.к использую не только мобильник, но и USB модем. Но операторы сказали, что данный тариф на USB-модемах не применяется. Потом уже на сайте я прочитал, что интернет по этому тарифу на USB модемах ограничен.
Есть 2 технических вопроса. Разве можно задетектить по SIM-карте, в какое устройство она вставлена: в телефон или в модем? И если телефон с Android с этим тарифом подключить к компу и расшарить на него интернет, он воспримет его как USB-модем или нет?
Уж очень хочется сэкономить. Если бы можно было подключить телефон с этим тарифом к компу и система не детектила бы его как модем, я бы вообще USB модем перестал бы использовать.

Rinaldus
()

Носители информации будущего

 ,

Эпоха компакт-дисков, сменившая эпоху дискет, как способа хранения информации медленно заканчивается. На текущий момент выгоднее всего хранить данные на жестких дисках. А вот интересно, что придет на смену жестким дискам? Ведь их емкость не может увеличиваться до бесконечности. К тому же они недостаточно надежны. Уязвимы для ударов, магнитных полей и т.д. Как вы думаете, какие носители информации придут на смену жестким дискам лет через 10-15? Карты памяти с еще большей емкостью, чем у жестких дисков? Или что-нибудь на основе ДНК или нанотехнологий, способное хранить невиданные доселе объемы информации и эта информация могла бы оставаться в сохранности в течение столетий или тысячелетий? Я читал несколько лет назад такую статью, которая больше смахивает на фантастику. Или все-таки что-нибудь более приземленное?
Какие у вас варианты? Будущее не столь отдаленное, не 100-150 лет, а такое, до которого наше с вами поколение в состоянии дожить.

Rinaldus
()

Комп зависает при выключении

 ,

У меня последние 2 дня комп при выключении зависает. И просто висит в таком состоянии, приходится вырубать его кнопкой. Вот фото. Судя по строчкам виноваты драйверы nvidia версии 364.19, но дело в том, что я их последний раз обновлял 7 мая, а ядро версии 4.4.4 - 6 марта. Проблема же возникла только последние пару дней. Я последние 2 дня болею, поэтому комп эти оба раза выключал с планшета с дивана с помощью SSH командой

sudo shutdown -h now
И оба раза комп зависал при выключении. Есть подозрение, что может виновато как раз выключение его этой командой, я редко ее использую, в основном выключаю через меню KDE. Но с какой стати она так некорректно стала обрабатываться?

emerge --info
Список того, что я обновлял за последние 7 дней
Конфиг ядра

В чем может быть причина?

Rinaldus
()

QtWebEngine не работает с Python в Gentoo

 , ,

Пытаюсь пощупать новый QtWebEngine, который входит в состав PyQt 5.6. Для начала пытаюсь адаптировать простенький пример в виде мини-браузера. Вот его код:

#!/usr/bin/env python3

import sys

from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl

app = QApplication(sys.argv)

browser = QWebEngineView()
browser.load(QUrl(sys.argv[1]))
browser.show()

app.exec_()
При запуске он этот WebEngineWidgets не находит:
rinaldus@peter ~/scripts/dev $ ./browser2.py http://yandex.ru
Traceback (most recent call last):
  File "./browser2.py", line 5, in <module>
    from PyQt5.QtWebEngineWidgets import QWebEngineView
ImportError: No module named 'PyQt5.QtWebEngineWidgets'
Тем не менее, на этой странице я вижу, что импорт прописал правильно. Вот с какими флагами у меня собран PyQt5:
[I] dev-python/PyQt5
     Доступные версии:      5.5.1{tbz2} (~)5.6.1_pre1604271126{tbz2} {dbus debug declarative designer doc examples gles2 gui help multimedia network opengl positioning printsupport sensors serialport sql svg testlib webchannel webkit websockets widgets x11extras xmlpatterns PYTHON_TARGETS="python2_7 python3_3 python3_4 python3_5"}
     Установленные версии:  5.6.1_pre1604271126{tbz2}(10:45:54 29.04.2016)(dbus declarative designer examples gui network opengl printsupport sql svg webchannel webkit websockets widgets xmlpatterns -debug -doc -gles2 -help -multimedia -positioning -sensors -serialport -testlib -x11extras PYTHON_TARGETS="python2_7 python3_4 -python3_3 -python3_5")
     Домашняя страница:     http://www.riverbankcomputing.com/software/pyqt/intro https://pypi.python.org/pypi/PyQt5
     Описание:              Python bindings for the Qt framework
Что я сделал неправильно или что-то не учел?
P.S. Только что сделал python-updater, не помогло.

Rinaldus
()

Короткие игры для метро и т.д

 , ,

Посоветуйте пожалуйста игры для Android либо с коротким геймплеем, либо с таким, который можно было бы в любой момент прервать. Такие игры идеально подойдут для того, чтобы скоротать время в метро или если кого-то ждешь. Из подобных игр я знаю только Subway surf и Temple run. Хочется разнообразия и необязательно раннеры.

Rinaldus
()

Кросскомпилляция в chroot

 , ,

Я бы хотел в своем Raspberry Pi поставить какой-нибудь Raspbian или Ubuntu для ARM, но Kodi компиллировать из исходников, потому что мне нужна версия из Git и возможность скомпиллировать master-версию в любое время, не оглядываясь на мейнтейнеров. Вы же сами понимаете, что замучаешься компиллировать что-либо на самом Raspberry Pi, поэтому я хочу его компиллировать на настольном компе. С кросскомпилляцией я знаком, но не представляю, можно ли делать это, находясь в Raspbian'овском chroot. Можно ли это сделать? Или придется ставить для этого QEMU?

Rinaldus
()

Tomb Raider доступен для Linux

 , ,

Группа Игры

Тихо и незаметно вышла Linux-версия игры Tomb Raider (2013).

( Подробнее )

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

>>> Страница игры в Steam (steamcommunity.com)

Rinaldus
()

Хорошие ли смартфоны производства Xiaomi?

 , , ,

Пару дней назад я читал в Википедии о последних процессорах ARM, там были указаны некоторые модели, и я чисто случайно наткнулся на телефон Xiaomi Redmi Note 3 Pro. И у него такое поразительное сочетание спецификации и цены, что я буквально загорелся его приобрести. Спецификация как у топовых смартфонов известных производителей: 6-ядерный процессор Qualcomm Snapdragon 650, чуть похуже чем в новейшем Samsung, 3 ГБ памяти, мало того что 32 ГБ внутреннее пространство, так еще и слот для карточки, лопата размером 5.5", разрешение Full HD. И стоит это всего 15000. Поскольку я при поиске всегда смотрю не только одну модель, но и аналоги, то и в этот раз решил их поискать. Аналогов за такую цену попросту нет. Аналоги по спецификациям начинаются от 25к и выше.
Но смущает вот что. Во-первых, китаец. Может это стереотип, но китайфоны всегда отличались меньшей надежностью. Вот выйдет у него что-нибудь из строя на ровном месте, и что я буду делать? Во-вторых, в одном обзоре я прочитал, что автор столкнулся с откровенно вирусным предустановленным софтом. Правда, он сразу оговаривается, что компания-производитель тут не при чем, это неблагонадежные вендоры виноваты, и у него получилось перепрошить телефон с помощью официальной прошивки, после чего вся вирусня исчезла. И в отзывах на Яндекс-маркете люди советуют прежде всего перепрошить телефон, перед тем как пользоваться. Мне бы не хотелось таких приключений, по крайней мере сразу.
В-третьих, их оболочка MIUI, с которой я ни разу не имел дела. Насколько она хорошая? Будут ли на ней идти все программы, которые захочется поставить из Google Play? С Cyanogenmod телефон несовместим (пока), я уже интересовался.
Хотелось бы услышать ваше мнение по поводу современных китайфонов и о продукции Xiaomi в особенности. Потому что спецификация и цена - ну очень привлекательная. Но боюсь нарваться.

Rinaldus
()

PyQt 5.5.1 на Qt 5.6 в Gentoo

 , ,

В Gentoo сегодня Qt 5.6 появился в дереве. Но PyQt пока остается 5.5.1 и похоже будет оставаться еще некоторое время: я глянул официальный сайт PyQt - там еще версия 5.6 в разработке, есть только девелоперские снапшоты. Будет ли работать PyQt 5.5.1 на Qt 5.6 или может пока не обновлять Qt, локально замаскировать новую версию 5.6? У меня есть несколько программ, написанных на PyQt. Не хотелось бы, чтобы они все разом вырубились.

Rinaldus
()

Проброс портов из-под NAT в KVM

 , , ,

Есть локальная сеть, есть в ней сервер под управлением Ubuntu 16.04 с локальным адресом 192.168.1.100. На сервере поставлен KVM по стандартному мануалу. После установки он мне добавил подсеть с адресами 192.168.122.x. Я создал в этом KVM виртуалку со статическим IP 192.168.122.5. С сетью все в порядке, интернет в виртуалке есть. С сервера можно на нее зайти, введя ssh 192.168.122.5.
Проблема в том, что мне никак не удается зайти на нее из общей локалки, например с адреса 192.168.1.2. Т.е если заходить с сервера, то заходит. Если заходить из общей локалки, то не заходит и не пингует. Гуглил на тему проброса портов, но решения так и не нашел.
Конфиг iptables сейчас такой. Я его вручную не менял.

# Generated by iptables-save v1.6.0 on Tue Apr 19 09:07:37 2016
*mangle
:PREROUTING ACCEPT [22799:3456813]
:INPUT ACCEPT [22761:3453877]
:FORWARD ACCEPT [38:2936]
:OUTPUT ACCEPT [21834:4483951]
:POSTROUTING ACCEPT [21974:4510126]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Tue Apr 19 09:07:37 2016
# Generated by iptables-save v1.6.0 on Tue Apr 19 09:07:37 2016
*nat
:PREROUTING ACCEPT [621:41044]
:INPUT ACCEPT [618:40808]
:OUTPUT ACCEPT [199:23175]
:POSTROUTING ACCEPT [199:23175]
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
COMMIT
# Completed on Tue Apr 19 09:07:37 2016
# Generated by iptables-save v1.6.0 on Tue Apr 19 09:07:37 2016
*filter
:INPUT ACCEPT [22754:3453440]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21839:4484807]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
COMMIT
# Completed on Tue Apr 19 09:07:37 2016

Помогите, пожалуйста!

Rinaldus
()

Как корректно добавить DKIM в DNS-записи?

 , ,

Поставил свежий iRedMail на свежий сервер. При установке он мне сгенерировал ключ DKIM в таком формате:

"v=DKIM1; p="
  "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
  "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
  "VVVVVVVVVVVVVVVVVVVVVVVV")
Теперь нужно его добавить в качестве DNS записи домена, только я никак не могу понять, в каком формате его нужно добавить. В мануале говорится, что вроде нужно избавиться от кавычек и слить все ключи в один большой, но в как я ни извращался с форматом при добавлении ключа, получаю при тестировании ошибки или такую
TESTING#1: dkim._domainkey.mydomain.ru       => invalid (public key: OpenSSL error: too long)
или такую
TESTING#1: dkim._domainkey.mydomain.ru       => invalid (public key: invalid data)
Разумеется, вместо mydomain.ru мой реальный домен. Подскажите пожалуйста, в каком виде я должен его вставлять для DNS-записи? Вопрос может и тупой для знающих людей, но я что-то никак не соображу, да и гугл ответа не дает.
P.S. Мой DNS-хостер, у которого я уже лет 8 держу все DNS записи для всех своих доменов, требует все TXT-записи заключать в кавычки. Надеюсь, это не помешает.

Rinaldus
()

Бинарные сборки Wine

 ,

Часто бывает так, что в очередной минорной версии разработчики Wine что-нибудь ломают для одной конкретной программы или игры, при этом все остальные программы работают нормально. И пользователю приходится либо откатываться до предыдущей версии Wine (это возможно не во всех дистрибутивах), ставить PlayOnLinux, что не всем нравится, либо компиллировать самому.

Чтобы предотвратить это неудобство, я с некоторых пор делаю бинарные сборки Wine и выкладываю их для всех желающих. Располагаются они здесь. Когда задумывал это, то вдохновлялся примером PlayOnLinux, которые тоже делают собственные бинарные сборки Wine, но обладают некоторыми недостатками:

  1. Выходят нерегулярно.
  2. Скрипта, который их формирует, я так и не нашел.
  3. Мне нужна еще версия с патчами Staging, а они не для каждой версии их делают.

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

Преимущество бинарных сборок:

  1. Идут практически любом современном дистрибутиве. За абсолютно все дистрибутивы любой давности ручаться не буду, сам проверял только на паре дистрибутивов, поэтому хотелось бы чтобы вы их протестировали и подтвердили или опровергли это утверждение.
  2. Для использования не требуется ничего, установленных зависимостей для Wine. Сам системный Wine при этом даже необязателен.
  3. Можно иметь хоть с десяток разных версий Wine для разных программ и с легкостью переключаться между ними без каких-то переустановок. Чтобы установить бинарную сборку, достаточно лишь ее распаковать в любой каталог.

В процессе создания бинарных сборок я целенаправленно не применял никаких сторонних патчей. В версии с патчами Staging присутствует только набор патчей из Staging и больше ничего. В ванильной версии не применяются никакие патчи. Даже несмотря на то, что начиная с какой-то версии из ветки 1.9.x Wine стало невозможно скомпиллировать с помощью gcc 5.3.0 и патч довольно оперативно написали, я предпочел откатиться до gcc 4.8.5, чем применять этот патч. Сомневающимся могу порекомендовать скачать мой скрипт, собрать Wine самому с помощью gcc 4.8.5 и после чего сравнить свой хэш получившегося архива с моим.

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

И еще раз ссылки:

  1. Сайт с бинарными сборками Wine
  2. Скрипт, по которому они формируются

P.S. Перед использованием скрипта отредактируйте его и измените содержимое переменных WORKDIR (каталог, в котором будет компиллироваться Wine) и GCC_VERSION (версия GCC, которая применяется для сборки) в соответствии со своими предпочтениями. А то там сейчас стоят мои значения.

Обновлено 04.02.17:
В связи с тем, что после выхода Wine 2.0 сменилась нумерация промежуточных версий (промежуточная версия теперь 2.1 и все исходники будут лежать в папке 2.x и еще они сменили формат архива), то скрипт для сборки разделен. Скрипт wine_build_1.9.x-2.0.sh - для сборки всех предыдущих версий Wine до версии 2.0 включительно и wine_build-2.x.sh - для всех версий после 2.0. Да, это неудобно. Но это лучше, чем если бы в одном скрипте писать кучу костылей по парсингу мажорной версии, минорной версии и их какого-то совмещения. Размер скрипта значительно увеличился бы, он стал бы трудночитаемым и вряд ли это решение было бы совсем безглючным.

Обновлено 25.10.18:
Я закрываю формирование бинарных сборок в связи с тем, что Wine в последнее время оброс сторонними патчсетами, вроде esync, да и самому мне это все надоело. К тому же появился Steam Play. Все предыдущие сборки вы можете скачать отсюда, но новые формироваться вряд ли будут. Там же вы найдете скрипт, с помощью которого можно будет сделать свою собственную сборку.

Обновлено 24.10.20:
В силу некоторых причин пришлось снова расчехлить мой скрипт для формирования бинарных сборок. Только сами бинарные сборки я выкладывать не буду: мне и влом, и места на хостинге жалко, да и проблемы совместимости с разными версиями glibc в разных дистрибутивах.
Вместо этого я адаптировал сам скрипт согласно современным реалиям и выложил его на GitHub - пользуйтесь, если хотите. Скрипт пришлось практически полностью переписать, убрать костыли, а заодно и поддержку сборки из git. Для сборки из git надо писать отдельный скрипт, поскольку там другие пути и сценарии распаковки и сборки. Может займусь этим когда-нибудь.

Rinaldus
()

Out of reach: не вводятся русские буквы в чате

 , , ,

Купил Out of reach. Она нативная, на Unity. Есть проблема, невозможно вводить русские буквы в чате. С английскими все в порядке, а стоит переключиться на русскую раскладку, и буквы не вводятся, курсор стоит на месте. При этом чисто технически русские буквы вводить 100% можно. На серваке, на котором я играю, довольно много русских, и они вовсю флудят в общем чате. А я вынужден отвечать им латиницей, нехорошо.
Видимо, это баг в Linux-версии. Кто-нибудь может помочь его пофиксить? В играх на Unity иногда бывают общие баги для разных игр, и методы их устранения тоже общие. Может быть у вас в другой игре на Unity случалось, что русские символы не работали в чате?

Rinaldus
()

Распределение ресурсов в OpenVZ

 , , ,

Подскажите пожалуйста, по какому принципу распределяются на OpenVZ хостинге ресурсы процессора и дисковой подсистемы? Пользователь получает их гарантированно или в зависимости от количества соседей на ноде?
Спрашиваю это потому, что взялся перевести на Git один очень хороший опенсорсный проект. Денег у них не так много, и чтобы им было подешевле я на свою голову посоветовал взять тариф у хостера на OpenVZ. Поставил на этом серваке Gitlab. И с тех пор мы постоянно мучаемся: то git clone невозможно сделать, потому что ему процессора не хватает в момент сжатия 10 ГБ репозитория с кучей бинарных файлов, то после очередного релиза от наплыва сотен пользователей сервак вообще лег. Пришлось в срочном режиме делать для пользователей торрент и распространять релиз через него.
Сейчас руководитель этого проекта из-за того, что я не смог склонировать репозиторий из-за нехватки процессора, по моей просьбе перешел с тарифа 2 ядра и 1 ГБ памяти на 3 ядра и 2 ГБ. После этого репозиторий склонировался, но все равно делал это крайне медленно. Если взять KVM и перенести сервер на него, улучшится ли положение? А то сейчас один сплошной дискомфорт. Выделенный сервер не советуйте, на него нет денег.
Просто хочу выяснить, эти тормоза из-за OpenVZ или из-за каких-то других причин? Я с Gitlab до этого никогда не работал. Мало ли, может это он такой прожорливый (хотя маловероятно, это ведь всего лишь Web-морда для Git).

Rinaldus
()

Внешние USB-сетевые платы

 ,

У меня возникла идея сделать роутер на базе Raspberry Pi и еще нескольких штучек. Плюсы - относительная дешевизна, полная кастомизируемость и независимость от прошивок. Проблема в том, что Raspberry Pi имеет один сетевой модуль, а для роутера нужно два. Но я нагуглил вот такие девайсы и конкретно этот, на котором планирую остановиться. Можно ли их считать полноценными внешними сетевыми платами, работающими от USB? И можно ли, приобретя один из них (+ свитч + Wi-Fi модуль), построить полноценный роутер на Raspberry Pi с OpenWRT на борту?

Rinaldus
()