Система Orphus

пятница, 27 июля 2012 г.

Короткие факты в консоль

Сегодня набрел на сайт Фактрум, а точнее его страничку "Короткие факты". Мне это довольно сильно понравилось, поэтому решил сделать скриптик и прикрутить его к консоли, чтобы периодически выводился на нее какой-нибудь факт.

С праздником админы! :)

Коллеги, с праздником вас, от всей души.
Пусть сегодня вас ждут приятные и не ожиданные сюрпризы.


Мне такой сюрприз сегодня сделал IT Happens. 3 февраля 2010 года я опубликовал в этом блоге историю из жизни "Маленька айтишница", которую в этот же день отправил на IT Happens. И вот спустя 2 года 5 месяцев и 24 дня ее опубликовали. Я уже было забыл про это, а тут... Приятно и неожиданно. Спасибо, хэппенс =)

среда, 20 июня 2012 г.

Против лома есть EULA

Не могу удержаться... Делаю репост истории с ithappens.
Автор очень точно и тонко подметил текущее положение на софтверном рынке, при этом написал на столько простым языком, что даже дровосек должен понять. Проприетарщина - зло.

Много было рассказов о том, что было бы, если бы программисты строили дома, автомобили, космические корабли и тому подобное. А я зайду с другой стороны — не с точки зрения людей, а с точки зрения того, что программисты производят.

Как любят говорить многие программисты и пользователи, софт — это инструмент. Действительно, есть много общего с такими вещами, как молоток, пила, рубанок, отвёртка. Но есть существенное отличие в способах и правах на их использование. Что было бы, если бы законы о правах использования обычного инструмента были такими же, как и для софта?

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

Вы не имели бы права давать попользоваться своим молотком соседу — для этого требовалась бы отдельная лицензия.

Если бы вы подсмотрели конструкцию топора у соседа и изготовили такой же, вас бы назвали вором и преследовали бы по всей строгости закона.

Вы не имели бы права разобрать топор и заменить топорище на более удобное, ибо это была бы модификация исходного продукта. Более того, если бы просто наклеили на него наклейку с инвентарным номером, это тоже была бы модификация с последствиями в виде изъятия лицензии.

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

Своим молотком вы имели бы право забивать только определённые гвозди. При забивании других гвоздей или отбивания плитки от стены ваша лицензия становилась бы недействительной.

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

Своей отвёрткой вы имели бы право откручивать винты только у себя дома — и только те, которыми пользуетесь лично вы. Остальное — за дополнительную плату.

Если бы вы разобрали топор, приварили к нему длинный металлический прут и начали использовать как лом для колки льда, то попали бы на иск производителей топоров за использование в своей работе частей инструментов их производства.

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


[]

четверг, 26 апреля 2012 г.

httpd: (98)Address already in use: make_sock: could not bind to address

Сегодня при попытке перезапустить апач на одном из серверов на CentOS 6.2, получил сообщение:
# /etc/init.d/httpd restart
Останавливается httpd:                                  [СБОЙ ]
Запускается httpd: (98)Address already in use: make_sock: could not bind to address 1.1.1.1:443
no listening sockets available, shutting down
Unable to open logs
                                                        [СБОЙ ]

Обычно такое возникает, когда какой-то другой процесс занял нужный порт. Но у меня проблема была в другом.
[]

Поиск отсутствующих файлов, упомянутых в include

( FILES="$(find /var/www/ -name '*.php' -exec grep include "{}" \; | \
  awk -F'"' '{print $2}' | sort | uniq)" && \
  echo "$FILES" && echo "$FILES" | \
  while read FILE ; do \
    find /var/www/ -name "$FILE"; \
  done | \
  sed -e 's/.*\/\(.\+\)$/\1/' ) | sort | uniq -u ; unset FILES

[]

среда, 25 апреля 2012 г.

Перекодировать файлы в текущем каталоге

# рекурсивно, все файлы
find -type f -exec enconv "{}" \;


# рекурсивно, выбрать по суффиксу (расширению)
find -type f \( -name '*.js' -o -name '*.php' \) -exec enconv "{}" \;


# только текущий каталог (не спускаться ниже), все файлы
find -type f -maxdepth 1 -exec enconv "{}" \;

[]

Сколько файлов в какой кодировке?

# все файлы
find -type f -exec enca -ip "{}" \; | sed -e 's/^.*\.//' | sort | uniq -c


# выбрать по суффиксу (расширению)
find -type f \( -name '*.js' -o -name '*.php' \) -exec enca -ip "{}" \; | sed -e 's/^.*\.//' | sort | uniq -c

Пример результата работы:
$ find -type f \( -name '*.js' -o -name '*.php' \) -exec enca -ip "{}" \; | sed -e 's/^.*\.//' | sort | uniq -c
     17 js: ASCII
     34 js: UTF-8
    238 php: ASCII
    117 php: UTF-8


[]

вторник, 3 апреля 2012 г.

Разные трюки с ssh

1. Узнать скорость соединения между хостами:
yes | рv | ssh host.com "cat > /dev/null"
Нужно установить пакет pv (в deb и rpm одинаково называется).