LINUX.ORG.RU

Сообщения olegd

 

Развлекательное чтиво на испанском

Понадобилось выучить испанский. Заканчиваю курс на Duolingo (с бредовым perdón, soy un pingüino и параноидальным les pajaros leen mis cartas), и что дальше? Хочется практики на чём-нибудь простом и разнообразном. Помимо новостных сайтов. Поиск по ЛОРу дал видеокурс, но хотелось бы именно читать. Например, веб-комиксы. Кто-нибудь что-нибудь может посоветовать?

Заранее спасибо.

 

olegd
()

Как собирать образ с нестабильным пакетом?

Требуется установить нашу программу в образ докера с пакетом, который есть только в нестабильной ветке Edge. Для определённости — HDF5. Образ будет ежедневно пересобираться по мере написания нашей программы. Как лучше собирать?

1. Во FROM прописать минимальный докер-образ на Edge, и всё ставить оттуда? Как у него со стабильностью?

2. Один раз собрать образ на Edge без нашей программы, записать его в наш собственный докер-репозиторий, тщательно протестировать, при каждой пересборке брать оттуда?

3. Собрать пакет HDF5 в стабильном Alpine, поднять свой репозиторий Alpine и каждый раз ставить из него? Как сделать репозиторий под Убунту, где уже стоит SSH?

Каковы плюсы и минусы каждого варианта?

Пока изучаю документацию к 3.

Предварительный результат: надо собирать пакеты самому, в testing слишком старые.

Дополнение: пакеты обновили.

Ответ: Можно совмещать пакеты из main и edge. В /etc/apk/repositories раскомментировать строки и добавить теги, чтобы получилось что-то вроде:

#/media/cdrom/apks
http://mirror.yandex.ru/mirrors/alpine/v3.8/main
http://mirror.yandex.ru/mirrors/alpine/v3.8/community
@edge http://mirror.yandex.ru/mirrors/alpine/edge/main
@community http://mirror.yandex.ru/mirrors/alpine/edge/community
@testing http://mirror.yandex.ru/mirrors/alpine/edge/testing
После этого по имени пакета: «apk add uwsgi» — будет искать в main и community, а по имени с тегом: «apk add hdf5@testing» — в конкретном хранилище.

Дополнение: нельзя указывать пакет с @testing в одной строке со стабильными.

Дополнение 2: Докер останавливает сборку с ошибкой на строке

apk del --no-cache hdf5-dev@testing
но нормально обрабатывает
apk del --no-cache -X testing hdf5-dev
При запуске в работающем образе Докера работают обе.

 ,

olegd
()

IDE с отладчиком для питона

Vim и FAR — неплохо, но хочется большего. Требуются:

  • Просмотр переменных в ходе выполнения (watch).
  • Step into/Step out/Step over. Брейкпойнты.
  • Можно работать без мыши.
  • Работают copy и paste в другие программы.
  • Ждать запуска менее 1 минуты на 1ГГц процессоре.
  • Не требует ставить Python 3.6 или 3.7.

Какие сейчас есть? Желательно свободную.

 ,

olegd
()

Сколько информации можно класть в лог?

Запускаю HAproxy для балансировки нагрузки между толстым клиентом и серверами. Один клиент работает, другой (другая программа) — нет. В логах для обоих информация вида

Dec 28 15:57:18 srv8 haproxy[58838]: 192.22.222.28:65134 [28/Dec/2018:15:57:18.821] public static/s2 0/0/8 269 -- 1/1/0/0/0 0/0

Конфиг:

$ cat /etc/haproxy/haproxy.cfg
global
        debug
        log /dev/log   local0 debug
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon
        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private
        ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
        ssl-default-bind-options no-sslv3

defaults
        log    global
        mode    http
        option  httplog
        timeout connect 5000
        timeout client  50000
        timeout server  50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http

frontend public
        log             global
        bind            srv8:7180 name clear
        mode            http
        log             global
        option          httplog
        maxconn         100
        timeout client  30s
        option          tcplog
        default_backend  static

backend static
        log             global
        mode            http
        balance         roundrobin
        retries         2
        option redispatch
        timeout connect 5s
        timeout server  5s
        server          s1 srv17:7100
        server          s2 srv17:7102
        server          s3 srv18:7100
        server          s4 srv18:7102

Информацию ловит rsyslog:

$ cat /etc/rsyslog.d/49-haproxy.conf
# Create an additional socket in haproxy's chroot in order to allow logging via
# /dev/log to chroot'ed HAProxy processes
$AddUnixListenSocket /var/lib/haproxy/dev/log

# Send HAProxy messages to a dedicated logfile
if $programname startswith 'haproxy' then /var/log/haproxy.log
&~

Что сделать, чтобы было больше информации в логе?

Предварительный ответ — запускать в консоли:

haproxy -d -V -f /etc/haproxy/haproxy.cfg

 

olegd
()

На Оупеннете обсуждают сиксельную утилиту, а на ЛОРе тишина?

https://www.opennet.ru/opennews/art.shtml?num=49860

https://github.com/hackerb9/lsix

... вариант утилиты «ls» для изображений ... показу в терминале графических миниатюр ... по SSH ... сиксельная графика ... на bash ... GPLv3 ... используются утилиты из пакета ImageMagick ... PDF ... SVG ... XCF ... отрисовка построчно ... отображения анимированных ...

 ,

olegd
()

Протоколы, аутентификация, поиск, фигурные скобки.

Есть программа на Java, использующая LDAP. С непонятной документацией с кучей нерабочих примеров. Apache Active MQ. Часть конфигов в XML, часть синтаксисом похожа на Джаву (как это называется, кстати?). Вопросы по последним. Про LDAP знаю только из RFC4519.

1. Согласно https://docs.oracle.com/javase/6/docs/api/javax/naming/Context.html#SECURITY_...

env.put(Context.SECURITY_PROTOCOL, "ssl");
означает использовать SSL. Что означает
env.put(Context.SECURITY_PROTOCOL, "s");
?

2.

Согласно https://docs.oracle.com/javase/6/docs/api/javax/naming/Context.html#SECURITY_... Context.SECURITY_AUTHENTICATION может принимать значения «none», «simple» и «strong». Какая между разница между «simple» и «strong»?

3.

Каковы различия в языке поисковых запросов для OpenLDAP, Apache Directory Server и Active Directory?

4.

Что означают фигурные скобки в поисковых запросах? Какая разница между = и := ? Примеры:

    userBase="CN=Users,DC=test,DC=com" 
    userSearchMatching="(CN={0})" 
    userSearchSubtree=true 
...
        baseDn="OU=groups,DC=domainname,DC=com"
        roleFilter="(&(cn=webconsoleadmins)(member={user}))"
        defaultRole="admins"
        roleAttribute="cn";
...
    roleBase="OU=Destination,OU=ActiveMQ,DC=test,DC=com" 
    roleName=CN 
    roleSearchMatching="(member={0})" 
...
    roleBase="OU=Destination,OU=ActiveMQ,DC=test,DC=com"
    roleName=CN
    roleSearchMatching="(member:=cn={1})"

 , ,

olegd
()

Что такое «handlebars»?

Что такое «JUnit XML report with handlebars»? Чем он отличается от лога без «handlebars»?

 , ,

olegd
()

Шутки про выход из VIM теряют актуальность

Как выйти из Докера: https://pic4a.ru/812/_GM.png

 

olegd
()

Red Hat давно стал выкладывать руководства «только для подписчиков»?

Пример: https://access.redhat.com/solutions/340363

Это давняя практика, или началось после покупки?

P.S. Говорят, уже лет 8-15, и IBM тут ни при чём.

 ,

olegd
()

Вам не кажется, что Java и XML, как их сейчас употребляют, слишком многословны?

Названия переменных по 10-30 символов, полные имена классов, не умещающиеся в строку, сообщения о синтаксических ошибках на 5-10 килобайт текста c собственно ошибкой закопанной глубоко-глубоко...

 

olegd
()

Bean property '...' is not writable or has an invalid setter method.

Настраиваю взаимодействие ActiveMQ со LDAP по этим документам: https://svn.apache.org/repos/infra/websites/production/activemq/content/5.7.0... http://activemq.apache.org/security.html

При запуске ActiveMQ получаю ошибку: «nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'adminAttributePrefix' of bean class [org.apache.activemq.security.LDAPAuthorizationMap]: Bean property 'adminAttributePrefix' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?» И аналогичные для topicSearchMatching, queueSearchMatching, readAttributePrefix и writeAttributePrefix.

Проблемные свойства встречаются в 4 файлах:

https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-brok...
https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-jaas...
https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-unit...
https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-unit...

Можно ли по коду понять, что именно не нравится в параметрах XML? Или дело в чём-то другом?

ОТВЕТ: Примерами из этой документации нельзя пользоваться. Правильные названия тегов можно найти в исходниках.

 , ,

olegd
()

Как в log4j показать пароли?

ActiveMQ пишет логи при помощи log4j. По умолчанию пароли в логе заменяет 5 звёздочками. Есть опасение, что программа-клиент портит пароль. Как включить показ паролей в логе?

Конфиг log4j по умолчанию: https://github.com/apache/activemq/blob/9abe2c6f97c92fc99c5a2ef02846f62002a67... с заменой всех «INFO» и «WARN» на «DEBUG».

P.S. Нет, дефолтный конфиг отличается от найденного в гите на 1 строку EnhancedThrowableRenderer:


log4j.rootLogger=DEBUG, console, logfile
log4j.logger.org.apache.activemq.spring=DEBUG
log4j.logger.org.apache.activemq.web.handler=DEBUG
log4j.logger.org.springframework=DEBUG
log4j.logger.org.apache.xbean=DEBUG
log4j.logger.org.apache.camel=DEBUG
log4j.logger.org.eclipse.jetty=DEBUG

# Console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%5p | %m%n
log4j.appender.console.threshold=INFO

# File appender
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.file=${activemq.data}/activemq.log
log4j.appender.logfile.maxFileSize=1024KB
log4j.appender.logfile.maxBackupIndex=5
log4j.appender.logfile.append=true
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d | %-5p | %m | %c | %t%n

log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer

# Audit log
log4j.additivity.org.apache.activemq.audit=false
log4j.logger.org.apache.activemq.audit=INFO, audit

log4j.appender.audit=org.apache.log4j.RollingFileAppender
log4j.appender.audit.file=${activemq.data}/audit.log
log4j.appender.audit.maxFileSize=1024KB
log4j.appender.audit.maxBackupIndex=5
log4j.appender.audit.append=true
log4j.appender.audit.layout=org.apache.log4j.PatternLayout
log4j.appender.audit.layout.ConversionPattern=%-5p | %m | %t%n

 ,

olegd
()

Помогите настроить аутентификацию в ActiveMQ через LDAP

Пытался настраивать по http://activemq.apache.org/cached-ldap-authorization-module.html , но там примеры противоречат друг другу, а предлагаемый для OpenLDAP конфиг с ним несовместим.

Я поставил на локалхост OpenLDAP с пустой базой, заменил параметры в slapd.conf на рекомендованные

suffix          "dc=activemq,dc=apache,dc=org"
rootdn          "cn=admin,dc=activemq,dc=apache,dc=org"
rootpw          {SSHA}lfAYn54xCFghgQv5B2Kqn3d3eLojqxtS
#пароль "sunflower"

Запустил OpenLDAP, импортировал рекомендованный activemq-openldap.ldif с некоторыми изменениями:

# Убрал, вызывало ошибку 53 "no global superior knowledge"
#dn: dc=apache,dc=org
#objectClass: dcObject
#objectClass: organization
#dc: apache
#o: Apache

dn: dc=activemq,dc=apache,dc=org
objectClass: dcObject
# container отсутствует в OpenLDAP, сменил на organization, 
#objectClass: container
objectClass: organization
objectClass: top
# Несовместимо с objectClass=organization, сменил на o=activemq
#cn: activemq
o: activemq
dc: activemq
(Все пароли также «sunflower».)

Создал конфиг:

<?xml version="1.0" encoding="UTF-8"?>
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>

  <broker useJmx="false"  xmlns="http://activemq.apache.org/schema/core" persistent="false">

      <plugins>
          <authorizationPlugin>
              <map>
                  <cachedLDAPAuthorizationMap
                      connectionURL="ldap://localhost:389"
                      connectionUsername="cn=admin,dc=activemq,dc=apache,dc=org"
                      connectionPassword="sunflower"
                      queueSearchBase="ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org"
                      topicSearchBase="ou=Topic,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org" 
                      tempSearchBase="ou=Temp,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org"
                      refreshInterval="300000"
                      legacyGroupMapping="false"
                  />
              </map>
          </authorizationPlugin>
      </plugins>

    <transportConnectors>
      <transportConnector uri="tcp://localhost:61616"/>
    </transportConnectors>

  </broker>

    <import resource="jetty.xml"/>
</beans>

В jetty.xml отключил аутентификацию, чтобы не мешала.

Запускаю ActiveMQ, веб интерфейс работает.

В терминале набираю

curl -XPOST -d "body=message" http://admin:sunflower@localhost:8161/api/message?destination=queue://BAR 

Получаю ошибку:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /api/message. Reason:
<pre>    Server Error</pre></p><h3>Caused by:</h3><pre>javax.servlet.ServletException: Could not post JMS message: javax.jms.JMSSecurityException: User is not authenticated.
...
Та же ошибка в консоли с activemq.

В чём проблема? Куда копать?

ОТВЕТ: У Jetty своя независимая аутентификация. В сети есть несколько взаимоисключающих руководств.

(Кроме того, если добавляешь плагин для авторизации, обязательно нужен и плагин для аутентификации.)

P.S. Заодно вопрос: в DN cn=read,cn=TEST.FOOBAR,ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org есть дополнительный атрибут member равный cn=notthere,ou=Group,ou=ActiveMQ,dc=activemq,dc=apache,dc=org

ActiveMQ на него ругается при запуске:

ERROR | Policy not applied! Unknown member [cn=notthere,ou=Group,ou=ActiveMQ,dc=activemq,dc=apache,dc=org, cn=read,cn=TEST.FOOBAR,ou=Queue,ou=Destination,ou=ActiveMQ,dc=activemq,dc=apache,dc=org] in policy entry {}
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining name 'cn=notthere,ou=Group,ou=ActiveMQ,dc=activemq,dc=apache,dc=org'
Без него ошибка исчезает, но авторизация всё равно не работает.

Зачем он нужен?

ОТВЕТ: не нужен, спасибо Ivan_qrt.

 , ,

olegd
()

Как быстро преобразовать скрипт?

1. Заменить все

print что-то
на
print( что-то )

2. Заменить все

"стринг с %, {, }" % какие-то данные
на
"стринг с %, {, }".format( какие-то данные )

Всё правильно? Ничего не напутал? Что-нибудь пропустил?

Ответ: Простые случаи вроде print ловит скрипт 2to3, поставляемый с Питоном. Ещё нужно проверить все возвращаемые типы (в первую очередь, bytes вместо string), для чего покрыть весь код тестами.

На всякий случай вот эти скрипты, чтобы опять не искать:

#/usr/bin/python3
import base64
import hashlib
import sys

password, salt = sys.argv[1:3]
hashstr = hashlib.sha1( (password + salt).encode('ascii') ).hexdigest()
res = '{SSHA}' + base64.b64encode( (hashstr + salt).encode('ascii') ).decode('ascii')
print( res )
'''
--------------------------------------------------------------------------------------
'''
#/usr/bin/python3
import base64
import hashlib
import sys

inputt, password = sys.argv[1:3]
if inputt[:6] == '{SSHA}':
    inputt = inputt[6:]
else:
    print('WARNING: Cannot find "{SSHA}" marker at the start! Assuming none present.')
input_hash_salt = base64.b64decode( inputt.encode('ascii') ).decode('ascii')
input_hash, salt = input_hash_salt[:40], input_hash_salt[40:]
calc_hash = hashlib.sha1( ( password + salt ).encode('ascii') ).hexdigest()
print( 'Input and calculated hashes match: ', input_hash == calc_hash )

 ,

olegd
()

Есть ли более короткие и менее похожие синонимы к «аутентификации» и «авторизации»?

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

UPD: Несколько годных предложений:

аутентификация    авторизация
-----------------------------
пропуск           допуск
паспорт           мандат
логин             права
кто               можно

 ,

olegd
()

Угадайте, в чём ошибка?

Вот какие ошибки показывает мощный и удобный systemd:

$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset
  Drop-In: /etc/systemd/system/docker.service.d
           └─override.conf
   Active: failed (Result: start-limit-hit) since Thu 2018-11-08 19:03:55 MSK
     Docs: https://docs.docker.com
  Process: 13247 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://term118.company
 Main PID: 13247 (code=exited, status=1/FAILURE)

Nov 08 19:03:52 term118 systemd[1]: Failed to start Docker Application Contai
Nov 08 19:03:52 term118 systemd[1]: docker.service: Unit entered failed state
Nov 08 19:03:52 term118 systemd[1]: docker.service: Failed with result 'exit-
Nov 08 19:03:55 term118 systemd[1]: docker.service: Service hold-off time ove
Nov 08 19:03:55 term118 systemd[1]: Stopped Docker Application Container Engi
Nov 08 19:03:55 term118 systemd[1]: docker.service: Start request repeated to
Nov 08 19:03:55 term118 systemd[1]: Failed to start Docker Application Contai
Nov 08 19:03:55 term118 systemd[1]: docker.service: Unit entered failed state
Nov 08 19:03:55 term118 systemd[1]: docker.service: Failed with result 'start
$ journalctl -xe
--
-- Unit docker.service has begun starting up.
Nov 08 19:03:52 term118 dockerd[13247]: Failed to load listeners: no sockets
Nov 08 19:03:52 term118 systemd[1]: docker.service: Main process exited, code
Nov 08 19:03:52 term118 systemd[1]: Failed to start Docker Application Contai
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has failed.
--
-- The result is failed.
Nov 08 19:03:52 term118 systemd[1]: docker.service: Unit entered failed state
Nov 08 19:03:52 term118 systemd[1]: docker.service: Failed with result 'exit-
Nov 08 19:03:55 term118 systemd[1]: docker.service: Service hold-off time ove
Nov 08 19:03:55 term118 systemd[1]: Stopped Docker Application Container Engi
-- Subject: Unit docker.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has finished shutting down.
Nov 08 19:03:55 term118 systemd[1]: docker.service: Start request repeated to
Nov 08 19:03:55 term118 systemd[1]: Failed to start Docker Application Contai
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has failed.
--
-- The result is failed.
Nov 08 19:03:55 term118 systemd[1]: docker.service: Unit entered failed state
Nov 08 19:03:55 term118 systemd[1]: docker.service: Failed with result 'start
Правильный ответ: отсутствовал файл /etc/systemd/system/docker.service

 ,

olegd
()

Как Апач грузит envvars?

Правильно ли я понимаю, что apache2ctl проверяет, задан ли $APACHE_ENVVARS, если нет — присваивает дефолтное имя, проверяет, существует ли файл, и если да — запускает ". $APACHE_ENVVARS"?

Как принято отключать чтение envvars, если все переменные задаются перед запуском apache2ctl? (Например, в Докере.)

 ,

olegd
()

Объясните про сертификаты

Объясните, пожалуйста, как положено организовывать работу с сертификатами в Линуксах?

Есть выданный недавно сертификат. Поставили его на сервер, открыли сайт в Хроме под оффтопиком — нормально. Открыли тот же сайт wget-ом под Ubuntu 16.04, получили ошибку:

$ wget https://server5.domain.ru:8002/doc
--2018-10-24 18:34:34--  https://server5.domain.ru:8002/doc
Resolving server5.domain.ru (server5.domain.ru)... 182.197.201.8
Connecting to server5.domain.ru (server5.domain.ru)|182.197.201.8|:8002... connected.
ERROR: cannot verify server5.domain.ru's certificate, issued by ‘CN=COMODO RS
A Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater
 Manchester,C=GB’:
  Unable to locally verify the issuer's authority.
Вопрос: что сделать с Убунтой, чтобы она автоматически узнала про новые сертификаты? Вручную добавлять сертификат в /usr/local/share/ca-certificates и запускать update-ca-certificates не годится — как достигнуть того же автоматически?

Или проблема в том, что Дебиан перманентно считает Комодо не заслуживающим доверия?

Ответ: Нужно сложить все присланные Комодо сертификаты в один файл, как описано здесь: https://gist.github.com/bradmontgomery/6487319 , в том же порядке:

cat www_example_com.crt COMODORSADomainValidationSecureServerCA.crt  COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
и прописать его в настройках веб-сервера вместо www_example_com.crt (для Апача — SSLCertificateFile).

 ,

olegd
()

Github глючит

https://status.github.com/messages

В 2:09 по Москве начались проблемы. В 3:05 решили перебираться на резервные сервера. В 10:35 заявили, что вот-вот всё заработает (через 1,5 часа). После чего меня стало разлогинивать на каждой странице :)

P.S. https://blog.github.com/2018-10-21-october21-incident-report/ но о причинах ничего пока не говорят.

P.P.S.: В 12:47 всё ещё обещают закончить за 1,5 часа :)

P.P.P.S.: 14:56 — «ещё час». Разлогинивать полчаса как прекратило, но регулярно просит перезагрузить страницу, из-за чего сложно что-либо сабмитить через формы.

P.P.P.P.S.: 19:24 — начали включать службы, отключенные в 3 часа. Обещают закончить за полчаса.

P.P.P.P.P.S.: В 02:03 отчитались, что всё функционирует нормально.

Официальное объяснение: https://blog.github.com/2018-10-30-oct21-post-incident-analysis/

 

olegd
()

nslookup не работает внутри виртуальной машины

Запускаю nslookup, чтобы узнать имена машин в виртуальной локальной сети (NAT). Получаю:

$ nslookup 192.168.56.131
Server:         192.168.56.2
Address:        192.168.56.2#53

** server can't find 131.56.168.192.in-addr.arpa: NXDOMAIN
192.168.56.2 указан в качестве гейта в настройках сети. 192.168.56.1 — хост. 192.168.56.131 — одна из виртуальных машин.

Чего не хватает в настройках VMware, чтобы nslookup видело имена?

Ответ: VMware этого не умеет. Необходимо или поставить на одну из машин сервер, раздающий имена, или просто прописать имена в /etc/hosts на каждой машине:

192.168.56.131 ngserver.domain.ru ngserver
В последнем случае nslookup может не видеть эти имена, но другие программы, возможно, смогут ими пользоваться.

 ,

olegd
()

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