суббота, 25 июня 2016 г.

Олдфажим снова, пополняем коллекцию

Прихватил очередную парочку игр с AliExpress в лице Pitfall: The Mayan Adventure и Gods. Из клонов, которые хотел бы иметь «в железе», практически всё купил. Сейчас в планах таки купить себе оригиналы, которые шли с встроенной памятью для сейвов. Ну и если удастся придушить жабу, купить оригинальные беспроводные геймпады от Sega MD. Ибо жаба там не просто «ква», а скачет по мне не переставая.

Между делом заказал себе геймпад от Retrobit, который уже успел придти и я его даже помацал. Да, до оригиналов ему далеко, но ощутимо получше китайщины у нас продающейся. Особенно порадовал нормальный D-Pad там, который корректно нажимается по всем углам, что файтингах полезно. Посмотрим, насколько долго он ещё проживёт.

суббота, 11 июня 2016 г.

Server. The Shit & Sticks Edition v.2

Поскольку предыдущий сервер проработал крайне недолго по причине своей крайней дряхлости и ушатанности, спешно пришлось ввести в строй новый. С запчастями проблем не возникло, всё и так уже валялось дома по большей части. Разве что материнскую плату всё-таки пришлось покупать. Ну и перетащил всё в новый корпус, наконец-то.
В качестве процессора вместо не самого удачного Pentium 4 был взят Intel Core Quad Q9400 на ядре Yorkfield. А раз памяти мне отдали с избытком, поставил туда 4Гб. В качестве системы завтра установлю Clear OS 7, базирующуюся на CentOS 7, между делом сменив платформу на x86_64 вместо i686. Программный RAID0 благополучно переехал на новое железо. Достаточно было поставить mdadm.conf на место и поправить конфигурационый файл.

В планах стоит приобрести вменяемый RAID-контроллер с работающим BBU и поддержкой RAID6, а там уже переехать на полноценную серверную мать с Xeon на борту. Но это сильно нескоро. Штатный кулер под Socket 775 сменю на что-нибудь поприличнее чуть попозже в ближайшие пару месяцев. Советы по оным принимаются, разумеется.

Из прочих мелочей — надо бы прикупить домен себе и заиметь SSL-сертификат.

среда, 8 июня 2016 г.

Установка Keycloak + интеграция Keycloak с PostgreSQL

Поскольку официальный reference guide по нему откровенно врёт и делается всё вообще не так, пришлось методом проб и ошибок вместе коллегами разбираться, как оно реально настраивается. В итоге мой коллега сначала по моим советам, собственным граблям и совету другого коллеги, нарисовал следующую howto по развёртыванию. Передаю ему слово:

0. Подключаем репозиторий с последней стабильной версией PostgreSQL и устанавливаем jdbc-драйвер для нужного нам дистрибутива. Для CentOS 7 это будет: yum -y install postgresql94-jdbc.noarch

1. Ставим постгрес примерно с таким конфигом:

listen_addresses = '*'
max_connections = 100
shared_buffers = 128MB
dynamic_shared_memory_type = posix
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 0
log_line_prefix = '< %m >'
log_timezone = 'W-SU'
datestyle = 'iso, mdy'
timezone = 'W-SU'
lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
default_text_search_config = 'pg_catalog.english'

При необходимости правим pg_hba.conf, чтобы разрешить доступ с других хостов (по умолчанию - только localhost).

2. Создаем в постгресе пользователя keycloak и одноименную базу:

createuser -l -P keycloak
createdb -O keycloak keycloak

... и проверяем доступ к ней:

psql -h 127.0.0.1 -d keycloak -U keycloak -W

3. Качаем свежий релиз keycloak с http://keycloak.jboss.org/downloads.html,
разворачиваем его в /opt, после чего запускаем

(/opt/keycloak/bin/standalone.sh < /dev/null >& /var/log/keycloak.log &) &

4. Создаем пользователя admin:

/opt/keycloak/bin/add-user-keycloak.sh -r master -u admin -p ваш_пароль

5. Запускаем /opt/keycloak/bin/jboss-cli.sh и говорим ему
connect

module add --name=org.postgres --resources=/usr/share/java/postgresql94-jdbc.jar --dependencies=javax.api,javax.transaction.api

/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)

data-source add --jndi-name=java:/PostGreKeyCloakDS --name=PostgrePool --connection-url=jdbc:postgresql://localhost/keycloak --driver-name=postgres --user-name=keycloak --password=PostGreKeyCloak
6. Лезем в файл

vi /opt/keycloak/standalone/configuration/standalone.xml

Проверяем секцию datasource для поцгреса - должно быть примерно так:


При необходимости там же редактируем interface name="public" в секции .

Потом лезем в файл

vi /opt/keycloak/standalone/configuration/keycloak-server.json

Проверяем секцию connectionsJpa:



7. Перезапускаем /opt/keycloak/bin/standalone.sh

четверг, 19 мая 2016 г.

Хотел высказаться по поводу нашумевшего

…но уважаемая l2tp уже всё хорошо сформулировала. От себя добавлю, что я сам отчасти жертва вот такого влезания в личные границы. Сначала потому, что делил комнату с сестрой, затем когда был вот этим самым подростком. А теперь помножьте это на небольшой город населением под сто тысяч человек, где все друг-друга знают если не напрямую, так через друзей-знакомых. Вы получите перманентную жопоболь от бесконечных вопросов родителей «А почему ты общаешься X?», «Что за стопиццот девушек были с тобой? Ты с кем-то уже встречаешься?» до откровенного и прилюдного обсуждения всего этого при соседях, друзьях, знакомых. После этого удивляться тому, что мне категорически не хотелось общаться с родителями после съезда в самостоятельную жизнь не стоит, ага. Звонок даже раз в полгода для меня — много. Отпустило меня более-менее не так давно. Хотя меня всё равно крепко передёргивает, когда берут мои вещи, даже несмотря на то, что спрашивают разрешения.

Справедливости ради. Если бы не это, у меня, пожалуй, отличные родители, давшие мне очень многое.

пятница, 13 мая 2016 г.

Проапгрейдил принтер

…теперь проблемы, что в память принтера больше не влезет сколько-нибудь большой многостраничный документ больше нет. Мелочиться не стал, купил максимально ёмкую планку на 256 мегабайт.

RAM.jpg

понедельник, 9 мая 2016 г.

Мрачное ретроградское

Просто две ссылки для для начала:

О новых технологиях

DRM nightmare: After recent upgrade, Kobo customers report losing Sony books from their libraries

И вот сегодня приспичило посмотреть, есть ли где в торрентах или ещё где один концерт одного ВИА, который я в своё время утягивал с торрентов в виде DVD-рипа. Хотел себе в плеер залить. Ничего не нашёл, конечно же. Мало того, на том торрент-трекере, где стягивал раздачу, этого рипа уже впомине нет (всего три года прошло)! Да и вообще ничего нет, относящегося к данному музыкальному коллективу. Отыскалось только в iTunes, но у меня нет Windows/Mac, чтобы его установить. К тому же, даже если я его поставлю в том же VirtualBox каком, наличия DRM в магазине iTunes это не отменяет, залить в плеер я это себе всё равно не смогу!*

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

Вопрос, зачем я себе сервер делаю — теперь отпадает сам собой. Хотя бы вот поэтому.

* С галёрки меня уже поправляют, что в iTunes таки DRM нет. Уже радует и в связи с чем имеет смысл хотя бы виртуалку iTunes поставить.

воскресенье, 8 мая 2016 г.

Пополнил коллекцию

Приехала из Китая очередная игра под Sega Mega Drive 2. В этот раз ей оказалась Road Rash 3, на замену криво переведённой и, судя по всему, из-за этого глючившей «локализованной» версии, купленной ещё в Новосибирске. В планах купить ещё несколько на Ali Express, а также часть игр всё же хочу заказать подлинные, а не клоны. Причина простая — очень много оригинальных игр для MD2 шли либо со встроенной памятью, либо батарейками. Особенно это было актуально для японских RPG. Ибо игры длинные, без сохранения играть там совершенно невозможно. Ещё некоторые оригинальные игры вроде Micromachines, позволют подключать дополнительные геймпады, увеличивая количество игроков до четырёх.
В целом, китайцы довольно занятные. Начать с того, что как правило они присылают довольно качественные картриджи. Для сравнения у меня есть те, которые изготовлены в России. Последние могут развалиться прямо по дороге из магазина, как это случилось с «отечественной» Pirates Of Darkwater. Ну и крайне ублюдочные переводы в большинстве случаев меня просто выводят из себя. Некоторые картриджи китайцы клонируют вообще полностью (см. Jungle Strike справа) включая коробки, надписи и даже задники на картриджах с надписями на японском. Слегка выдаёт подделку качество полиграфии, но и так хорошо. Если честно, я аж умилился, когда вскрыл посылку. :)

Sega_gaemz.JPG

А ещё очень хочется таки заказать себе Sega Dreamcast с пачкой тайтлов под неё, начиная с классических Soulcalibur и Shenmue. Ну и если будет не лень — Sega X32 до кучи. И если совсем не лень — подлинную Mega Drive 2 (на фото клон, хоть и приличного качества), возможно с допами вроде Rhino Pad. Турбо-джойстик у меня, кстати, есть. Несмотря на не очень хорошее качество изготовления, в играх вроде Jungle Strike всё равно очень полезен.

среда, 4 мая 2016 г.

Первые проблемы FreeIPA

FreeIPA — хороший инструмент решающий ряд задач, связанных с идентификацией, доступом к машинам, учётом ключей, контролем выполнения команд и т.д. У нас используется FreeIPA 4.2, находящийся в официальных репозиториях CentOS 7.2.

Пока что замечены две проблемы.

1. Apache падает
Неясно почему, в логах ничего существенного не нашёл. Пока что использую Watchdog, который есть в systemd. Если хватать не будет, задействую supervisord.

2. Не работает веб-интерфейс FreeIPA, в логах видим:

[emerg] (28)No space left on device: Couldn't create accept lock

При этом, места на диске на всех разделах навалом. Проблема заключается в том, что он не очищает за собой семафоры в пространстве ядра.

Чтобы не падал сервер так быстро, в systemctl прописал следующее:

kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024

После чего сделал sysctl -p

Параметры kernel.msgmni и kernel.sem следует изменить в зависимости от наличия оперативной памяти на вашем сервере. Подробности можно почитать у IBM или в документации к ядру.

Если веб-сервер уже лежит и отказывается стартовать по команде systemctl start httpd, можно выполнить скриптик:

for i in $(ipcs -s | grep apache | awk '{print $2}'); do ipcrm sem $i; done

После чего Apache должен подняться без проблем.

В идеале, можно скрипт какой-то прописать, который в cron чистил семафоры относящиеся к Apache.

Съездил в Белоруссию

Отдохнули крайне зачотно. Отчёт с фотографиями наваяю ближе к выходным, видимо. Запрещёнку aka кучу разного французского сыра провёз, разумеется. Куда ж без этого. :)

среда, 27 апреля 2016 г.

Интуитивно понятная ОС

Операционная система А. Воткнул устройство. Драйверов не найдено. В итоге иди на сайт вендора, ищи драйвер под нужную ревизию (одну из четырёх), вдовесок установи ещё и архиватор, понимающий RAR и устанавливай руками.

Операционная система Б. Воткнул — заработало. Но «понятная ОС», конечно же, первая. Уж мы-то знаем!