LINUX.ORG.RU

Сообщения DRVTiny

 

Абсурдный «No route to host»

Форум — Admin

Здравствуйте, дорогие коллеги!
Как говорится, прошу прощения за беспокойство, но вот случился у меня такой казус и хотелось бы узнать, что вы об этом думаете :)
Есть две машинки, называются scilla и haribda. Это виртуалки с CentOS на VirtualBox'е. Сетевые адаптеры у них в host-only networking'е в одной подсети 192.168.3.0/24.
Друг друга отлично видят, взаимно пингуются, ходят по ssh одна на другую, всё здорово.
Теперь: поднял на обеих виртуалках Apache/httpd, он висит на порту 80 вот таким нехитрым образом (haribda для примера):

[root@haribda cluster]# lsof -iTCP:80 -sTCP:LISTEN
COMMAND  PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
httpd   1586   root    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1588 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1589 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1590 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1591 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1592 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1593 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1594 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1595 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
Теперь со scilla идём на 80-й порт haribda и видим абсурдную вещь:
[root@scilla cluster]# telnet haribda 80
Trying 192.168.3.4...
telnet: connect to address 192.168.3.4: No route to host
И это при том, что:
[root@scilla cluster]# telnet haribda 22
Trying 192.168.3.4...
Connected to haribda.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3

Э... Мне трудно сформулировать вопрос иначе как с использованием английского ругательного слова, но... я вынужден признать, что проработав 8 лет системным администратором я всё-таки слегка обескуражен и вынужден спросить:
ЧТО ЭТО?! И как такое вообще может быть?
P.S. SELinux (it's a shit that break things, you know) - отключен

 , ,

DRVTiny
()

Как сделать resize файловой системы, раскатанной на всё блочное устройство?

Форум — Admin

Я сдуру, видимо, раскатал файловую систему на весь виртуальный жёсткий диск. Теперь после увеличения размера «жёсткого диска» извне виртуалки, команда resize2fs фейлится, не понимая, что нижележащий блок «вырос».
Что делать в такой тупиковой ситуации? :)

DRVTiny
()

Как отредактировать только часть файла и не трогать остальную?

Форум — Development

Есть гигантских размеров (порядка 125 Гб) текстовый файл, в первых 1000 строках которого нужно сделать замену, не перезаписывая остальные 10^9 или сколько там строк.
Вопрос: как это сделать sed'ом, а если не sed'ом, то чем?
Дело в том, что sed, судя по всему, в режиме -i тупо копирует файл строка за строкой, а под конец «магически» заменяет старый файл новым. Соответственно, если в sed сделать q, то файл оборвётся на той строке, на которой был сделан q, а если q не делать, то придётся ждать до посинения, пока sed героически перезапишет 150Гб на диске. Ну ок, предположим, что для дозаписи данных (а именно это, к сожалению, мне и нужно), так или иначе всё равно придётся перекорячить весь файл, но вот а если бы мне нужно было, скажем, символ B на символ А в первых 200-ах строках поменять - ведь для этого очевидным образом перезапись всего файла не требуется: достаточно лишь прочитать первые 200 строк и поменять один байтик на другой...

 

DRVTiny
()

PowerDNS Recursor за строгой стенкой

Форум — Admin

У меня в компании настолько сурово всё, что обращаться к корневым серверам мой recursor не может физически: порты закрыты на выход. Создание root hint-file'а руками тоже не помогает: если вместо настоящих корневых серверов прописать внутренние DNS-сервера компании, то тоже ничего не работает.
Вопрос: почему так может быть и что с этим делать? В BIND'е есть настройка forwarders, а в PowerDNS её нет ни в каком виде...

 

DRVTiny
()

Самый простой протокол монтирования remote directory?

Форум — Admin

Без шифрования, без авторизации, с полным доступом на уровне прав «сервера», отдающего шару? Элементарно делается на Samba, да, но... мне ещё нужно, чтобы на стороне сервера использовался только один порт TCP/IP или даже UDP/IP. Я уж думаю по iSCSI что ли блочное устройство подцепить - но там вроде тоже не один порт используется... Хотя по своей простоте и очевидности iSCSI максимально близок к правильной реализации: ты просто отдаёшь забитый нулями «файл» как блочное устройство на удалённую систему, а та пусть делает с ним что хочет.
В данный момент копирую ssh поверх ssh (обратный туннель и sshfs), но в рамках медленного соединения это оооочень тягостно и печально.

DRVTiny
()

А как вы смотрите логи Zabbix-сервера?

Форум — Admin

Есть Zabbix-сервер (уже отлично)
Есть Zabbix-frontend к этому серверу, всё настроено и работает (просто супер! ;))
Вопрос на 10000$: как из этого чудесого фронтенда увидеть такую в общем даром никому не нужную вещь, как лог zabbix-сервера? Я имею в виду то, что сервер пишет в /var/log/zabbix, а не абсолютно бесполезную информацию о том, что я в этом веб-интерфейсе делал и когда (спасибо фронтенду конечно, но я и сам в курсе).
На самом деле проблема должна была бы «всколыхнуть сообщество» уже давно, поскольку ситуации, когда банально просто нет доступа физически на сервер с zabbix_server, а есть только фронтенд, пусть даже и с правами Admin'а - это вряд ли такая уж редкость... Если бы zabbix писал в базу данных события логов, которые отображались бы записью в syslog - всё было бы замечательно, но zabbix просто тупо пишет в файл и не даёт никакой адекватной возможности прочитать этот файл иначе как посредством перенастройки syslog'а (заказчик машет ластами и крутит пальцем у виска) или прямого доступа по ssh на целевую машинку (заказчик нервно хохочет, догадываясь о том, что нелегально попасть по SSH на его машинку можно, поскольку данный им админский доступ к фронтенду позволяет делать подобные вещи, пусть и через Ж).
В общем, как увидеть логи сервера в морде веба, а не через удалённый доступ к консоли?
Сапсибо! ;)

 ,

DRVTiny
()

dokuwiki: отговорите, пожалуйста

Форум — Talks

Хочу предложить dokuwiki для корпоративной базы знаний в одной крупной компании. Привлекает тем, что есть тесная интеграция с LDAP, очень простой вики-синтаксис, целый воз расширений.
Расскажите, кто дело имел с ней, какие у докувики наиболее существенные косяки/родовые пятна/генетические недостатки?

 demotivation,

DRVTiny
()

Какие вещи в IT раздражают вас больше всего?

Форум — Talks

Есть вещи, которые на протяжении мгногих лет работы в ИТ-технологиях уже просто въелись в печёнку и при их упоминании вызывают сложную гамму чувств - от простого раздражения до лютой ненависти.
Например:
- Бэкапы
- Мониторинг
- Java, Python
- 1C
- Консультант
- latin1 по умолчанию
- CISCO
- FreeBSD, Solaris
- Oracle
- Экономические обоснования
Есть конечно и то, что воспринимается крайне позитивно:
- Single Sign On
- Samba
- LDAP
- Intranet portal
- Open Source
- x5XX, RFC
- C/C++, Assembler
- MySQL
- netfilter/iptables
- BASH, FreeBASIC, Gambas, Perl, Ruby
- Asterisk

И так далее. А какие слова вызывают наиболее стойкие «радость и грусть» в вашей профессиональной деятельности?

 

DRVTiny
()

Код, который мы все пишем...

Форум — Talks

OpenSource многие пользуются и очень немногие пишут для OpenSource. Но многие из нас из нас пишут каждый день строк этак по 100, а то и больше, кода на Shell=~/(c|k|z|ba)sh/. И не делятся друг с другом, и огромный сегмент OpenSource попросту пропадает втуне. Почему? Я думаю, в первую очередь всё-таки из-за того, что shell очень медленный и мало кто решается на нём писать что-то серьёзное и юзабельное для неограниченного множества людей.
Так, может, стоить пнуть посильнее разработчиков того же BASH'а, чтобы они его оптимизировали, интенсифицировав таким образом возможности скритпообмена через github и sourceforge в разы?

 ,

DRVTiny
()

Установка Java-плагина от Oracle Java из tar-архива

Форум — Desktop

Как известно, с сайта Oracle для всего, что не rpm качается tar-архив, а из rpm тоже в общем тупо распаковывается каталог аналогичный тому, что в tar'е.
Я обычно распаковываю каталог из tar'а в свежесозданный /usr/java, делаю симлинк на бинарник java в /etc/alternatives, а оттуда - в /usr/bin и на этом успокаиваюсь, поскольку чаще всего такую установку нужно делать на серверах, а собственно на десктопах находятся обычно чудесные сторонние репозитории с deb-пакетами, из которых можно поставить oracle-java, прописывающие плагины правильно.
Но здесь могут потенциально возникнуть 2 проблемы:
1) Дистрибутив редкий и никому не нужный, пакетов c oracle-java для него не сыскать днём с огнём
2) Браузер (тот же Firefox) штатно распространяется тем же б..дским способ, что и java, то есть в тупом tar-архиве
Так вот...
Вопросы по «универсальной» установке java-плагина:
- Как определить имя .so-файла, содержащего плагин, в поставке oracle java?
- Как определить, в какие каталоги его копировать для различных браузеров?
- Как «зарегистрировать» java-плагин, скопированный в нужный каталог, в браузере?
Вы чего не подумайте, я уже как-то решал эту проблему года 3 назад и вынес тогда себе весь мозг, поскольку установка грёбаного богомерзкого плагина на самом деле сложнее установки JBoss и вообще никак не документирована, кроме как «любительскими статьями», актуальными исключительно для системы того человека, который их пишет.
И общий вопрос: уж коль скоро «экономный» энтерпрайз навязал всему миру дико тормозной и ограниченный язык - выкидыш полноценного языка Си, то можно ли называть Linux полноценной системой для десктопа, если здесь до сих пор имеет место быть ситуация, когда для того, чтобы установить mainstream'овую, а не ущербную «открытую» реализацию Java нужно быть в случае просто установки бинарника - грамотным пользователем,а в случае установки плагина в браузер - так и просто админом 5-го уровня?

DRVTiny
()

Установил кодировку, а date нХЮ выводит, что делать? :(

Форум — Desktop
$ locale
LANG=ru_RU.cp1251
LANGUAGE=
LC_CTYPE=ru_RU.cp1251
LC_NUMERIC=ru_RU.cp1251
LC_TIME=ru_RU.cp1251
LC_COLLATE=ru_RU.cp1251
LC_MONETARY=ru_RU.cp1251
LC_MESSAGES=ru_RU.cp1251
LC_PAPER=ru_RU.cp1251
LC_NAME=ru_RU.cp1251
LC_ADDRESS=ru_RU.cp1251
LC_TELEPHONE=ru_RU.cp1251
LC_MEASUREMENT=ru_RU.cp1251
LC_IDENTIFICATION=ru_RU.cp1251
LC_ALL=
$ locale -a | fgrep ru_RU
ru_RU
ru_RU.cp1251
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
$ date
оМД ъМБ 27 16:47:54 MSK 2014

Беру файлик, который точно в cp1251, пытаюсь смотреть - кракозябры.
Делаю вот так:

$ iconv -f cp1251 -t koi8-r FILE
- вижу всё, как на ладони.
Вывод: на самом деле кодировка-то KOI8-R!
Вопрос: какого (....)?! В смысле, что я делаю не так или что glibc делает не так?

DRVTiny
()

MySQL-репликация: не выходит каменный цветок у слейва Мастера :(

Форум — Admin

Задача такая:
Есть MySQL-сервер (v5.5.3) с базой Zabbix'а. В базу постоянно что-то важное пишется в количествах неимоверных на самом деле.

Хочется сделать слейв следующим образом:
1) Дампим мастер в STDOUT с параметром --master-data=1. Т.е. в этом дампе в 22-й строке будет информация о том, какой позиции какого бинлога соответствует снятый дамп
2) Подхватываем дамп через PIPE ssh-ем и отправляем на slave
3) В режиме «stop slave» slave применяет дамп 4) В режиме 'start slave" слейв, пользуясь информацией из 22-й строки дампа, начинает автоматически скачивать все изменения, произошедшие на мастере за время слива и применения дампа на слейве
Почему хотелось бы именно так - думаю, понятно: это позволяет полностью избежать сколько-нибудь заметного даунтайма мастер-сервера, поскольку данные на него пишутся интенсивно и данные эти важные, зело полезные, денех немалых стоящие.
Сейчас при попытке сообщить слейву, где находится мастер и как с ним «общаться», я неизменно получаю вот это конгениальное сообщение:

CHANGE MASTER TO MASTER_HOST='10.254.0.41',MASTER_PORT=3306,MASTER_USER='slave-zabbix',MASTER_PASSWORD='zabbix-slave'

ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log;
А в error.log'e:
140122 16:18:00 [ERROR] Error reading master configuration

Попытка залить дамп на слейв приводит к тому же результату: он не может прочитать master.info, сильно возмущается и отказывается со мной сотрудничать.
Прочитал уже по-моему всё, что нашёл в гугле, всю голову сломал, но решения так и не нашёл. Поможите, люди добрые кто чем и сколько может! :)
Собственно, текущий конфиг мастера без комментариев:
[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0
[mysqld]
server-id	= 41
log_bin		= mysql-bin
log_bin_index	= mysql-bin.index
max_binlog_size = 512M
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
expire_logs_days = 20
bind-address 	= 192.168.58.41
bind-address    = 10.254.0.41
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
lc-messages-dir	= /usr/share/mysql
skip-external-locking
key_buffer		= 16M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size       = 8
myisam-recover         = BACKUP
max_connections        = 200
query_cache_limit	= 1M
query_cache_size        = 16M
log_slow_queries	= /var/log/mysql/mysql-slow.log
long_query_time = 5
expire_logs_days	= 10
max_binlog_size         = 100M
[mysqldump]
quick
quote-names
max_allowed_packet	= 16M
[mysql]
[isamchk]
key_buffer		= 16M
!includedir /etc/mysql/conf.d/
А на слейве:
[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0
[mysqld]
server-id	= 47
innodb_file_per_table=1
report-host = 192.168.58.41
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
bind-address    = 192.168.58.47
bind-address	= 10.254.0.47
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /run/shm
lc-messages-dir	= /usr/share/mysql
skip-external-locking
log = /var/log/mysql/server.log
log-error = /var/log/mysql/error.log
key_buffer		= 16M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size       = 8
myisam-recover         = BACKUP
query_cache_limit	= 1M
query_cache_size        = 16M
expire_logs_days	= 10
max_binlog_size         = 512M
[mysqldump]
quick
quote-names
max_allowed_packet	= 16M
[mysql]
[isamchk]
key_buffer		= 16M
!includedir /etc/mysql/conf.d/

 ,

DRVTiny
()

Skype+HDMI-audio, that must be destroyed

Форум — Desktop

HDMI - штука замечательная, но только до тех пор, пока в списке аудиоустройств, которое у вас всего одно и это как правило банальный AC-чип Realtek, чудесным образом не появляются over 9000 каких-то непонятных HDMI-хреновин. Это в принципе само по себе не так уж и страшно - звук-то в системе работает, но это весьма критично в случае наличия критичной потребности в Skype, который в 9-ти случаях из 10-ти на таких конфигурациях не работает.
Эмм... Традиционный вопрос: как избавиться от всего HDMI-related разом?

 ,

DRVTiny
()

Сервер каталогов какого производителя предпочитаете?

Голосования — Голосования

Очевидно, что кроме простой иерархической структуры казённых организаций, реплицируемой в регионы, можно придумать ещё ~10^9 способов применения иерархических структур Каталогов вместо громоздких и уродливых by design реляционных баз данных.
А какой сервер каталогов предпочитаете вы?

  1. Понятия не имею, о чём идёт речь 512 (51%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. OpenLDAP 181 (18%)

    *****************************************************************************************************************

  3. Microsoft (AD) 137 (14%)

    *************************************************************************************

  4. Samba4 (internal) 108 (11%)

    *******************************************************************

  5. RedHat (RedHat DS/389 DS) 39 (4%)

    ************************

  6. IBM (Tivoli Directory Server) 12 (1%)

    *******

  7. Oracle (Oracle DS) 8 (1%)

    *****

  8. ForgeRock (OpenDJ, ex. SUN OpenDS) 4 (0%)

    **

Всего голосов: 1001

 forgerock, , , ,

DRVTiny
()

Как получить список из такого хэша?

Форум — Development

Есть хэш в таком виде :

%Hash=('TMP'=>['200_mb','10_m','850_mb'],
       'RH'=>['10_m','surface','500_mb'],
       'PRES'=>['100_mb','300_mb','500_mb']
)
Нужно:
Получить такой список:
@List=('TMP-200_mb','TMP-10_m','TMP-850_mb','RH-10_m',...etc);
Я уже голову сломал: КАК это сделать? Пока для реального случая написал какой-то кошмар из map'ов, split'ов и join'ов, но... подозреваю, что есть метод попроще. Уточню для чего это нужно:
У меня сейчас 2 вложенных цикла: один по ключам хэша, другой по значениям в анонимном списке для каждого ключа. Между циклами ничего интересного не происходит. Вот я и подумал, что было бы неплохо объединить два цикла, убрав вложенность...

Заранее очень признателен за помощь

 ,

DRVTiny
()

Пишу на Perl и BASH за еду

Форум — Job

Собственно, контора умирает, народ сокращают и даже деньги толком выплатить не могут.
Как *nix админ немало всякого разного полезного писал на Perl и BASH, даже PHP ковырял (причём был период весьма интенсивного ковыряния).
Ещё всякие рецепты для Puppet'а пишу (правда так, не особо круто, по мелочи в основном), в Сях разбираюсь (могу грамотно поправить чужой код, хотя свой писать - мозгов, видимо, не хватает. Или банально желания :) ).
Да, ещё всякие user-friendly веб-морды ставлю и админю с превеликим удовольствием, особенно если те плотно интегрируются с LDAP. Собственно, одно время установкой Zimbr'ы подрабатывал, другое время - разовую работу по интеграции Redmine'а с корпоративным порталом и привязанным к нему 389 DS (жаль, что именно так, а не наоборот) делал :)
Админской практики много, но тянет больше к программированию, если честно.
С деньгами туго, так что сильно заинтересован в работе.
Какие будут предложения по усовершенствованию моего бытия? Просьба «башкой об стену» не предлагать :)

 ,

DRVTiny
()

Полтергейст появился в логах OpenVPN!

Форум — Admin

Буквально вот такая:

wWRwrWrWrWRwWrWrWRwWrWrWRrWRwRwRwRwWrWrWR
И так далее в том же духе.
Debian 6 Squeeze, OpenVPN установлен штатным образом.
И это внутри самого обычного лога, может наблюдаться в любом месте. Прямо полтергейст какой-то.
Есть подозрение, что это из-за сломанных пакетов или ещё чего-то подобного... Но в любом случае странно, что пишутся эти «W» и «r» в разных регистрах - к чему бы это вообще и как это интерпретировать??
Да, и если это некое штатное сообщение, очень интересно посмотреть в исходниках OpenVPN'а, как выглядит вывод вот этих чудо-буковок в server.log...

 

DRVTiny
()

Ботнеты для добычи биткойнов

Форум — Talks

Есть ли таковые?
По-моему идея очень простая, и явно она не могла быть проигнорирована хакерами, в рядах которых и нашлись светлые головы, придумавшие ещё один способ заниматься хреновнёй лишь бы ничего не делать и грести при этом деньги лопатой.
Собственно, как считаете, существуют ли уже сейчас заражённые майнерами боты, в свободное от работы на своего законного владельца время зарабатывающие деньги для кул-хацкеров? С учётом мощностей современных видеокарт и того факта, что большинство пользователей персоналок выключают их не больно часто - по-моему вполне разумно было бы их использовать во время простоя для, скажем так, распределённых вычислений. Тем более, что на легальных основаниях подобная практика существует: миллионы компьютеров по всему миру помогают учёным в расшифровке ДНК человека, поиске лекарства от рака и разработке вакцин от постоянно мутирующих вирусных инфекций наподобие знаменитого H1N3...

 ,

DRVTiny
()

OpenVPN-bridge: как сделать IP клиента постоянным?

Форум — Admin

Собственно, из файла /etc/openvpn/ccd/ipp.txt записи почему-то пропадают со временем. Так каким же тогда образом сказать: «данному Common Name присвоить адрес из пула вот такой-то»? Явным образом прописать в /etc/openvpn/ccd/%CommonName% директиву ifconfig? Не хотелось бы... Именно формат ipp.txt кажется наиболее простым, понятным и логичным, тем более если назначение статических адресов для некоторых клиентов - это скорее исключение, чем правило...
Что думаете по означенному вопросу? :)

 

DRVTiny
()

VirtualDocumentRoot и всякие разные % (проценты) :)

Форум — Admin

Есть такая конфигурация, заботливо сгенерированная для меня Puppet'ом:

<VirtualHost *:80>
  ServerName company.ru
  ServerAdmin webmaster@company.ru

  ## Vhost docroot
  VirtualDocumentRoot /var/www/vhosts/%0

  ## ITK statement
  <IfModule mpm_itk_module>
     AssignUserId vu_%1 www-data
  </IfModule>

  ## Directories, there should at least be a declaration for /var/www/vhosts

  <Directory /var/www/vhosts/%0/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>

  ## Logging
  ErrorLog /var/log/apache2/company.ru_error.log
  LogLevel warn
  ServerSignature Off
  CustomLog /var/log/apache2/vhost_access.log "%V %h %l %u %t "%r" %s %b"
</VirtualHost>
Апач считает конфигурацию некорректной, так как имя пользователя vu_%1 ни в какие ворота не лезет (а вот vu_meteo у нас, например, есть :) ).
Вопрос: правильно ли я понимаю, что использовать в AssignUserID шаблоны mod_vhost_alias'а - НЕ СУДЬБА?
А если так, то как же всякие разные хостеры эти массовые vhost'ы запускают: наверняка ведь они используют VirtualDocumentRoot. Или я неправ?

 ,

DRVTiny
()

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