среда, 16 декабря 2009 г.

Сброс пароля Windows с помощью Linux

Задача: сбросить забытый пароль пользователя Windows

пятница, 11 декабря 2009 г.

Ape+cue to ogg convert

Заметка о том, как перегнать целый музыкальный альбом, находящийся в формате ape+cue в мой любимый ogg (да, я совсем не аудиофил).

вторник, 8 декабря 2009 г.

Настройка температурных датчиков

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

четверг, 3 декабря 2009 г.

Настройка Samba в домене Windows

Настройка samba в качестве файлового хранилища в домене Windows.

Имеется чистая система gentoo, только что установленная из stage3+ядро+загрузчик, с обновлениями от сегодня.

воскресенье, 15 ноября 2009 г.

Inotail - замена для tail

Нашел программу inotail, которая является заменой для стандартного tail с той лишь разницей, что работает быстрее благодаря использованию inotify. Там, где tail -f постоянно перечитывает файл, чтобы определить изменения, inotail -f лишь ждет определенного сигнала, посылаемые из ядра через API inotify.

пятница, 6 ноября 2009 г.

Использование стеганографии

Википедия:
Стеганография — это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи.

В отличие от криптографии, которая скрывает содержимое секретного сообщения, стеганография скрывает само его существование.

воскресенье, 1 ноября 2009 г.

FLAC to OGG

Чтобы перегнать FLAC в OGG, достаточно использовать oggenc из пакета vorbis-tools:
find ./ -name '*flac' -exec oggenc -q 7 '{}' \;

суббота, 24 октября 2009 г.

Подсчет платных в текстовике

Подсчет платных в текстовике:

#!/usr/bin/perl

print "\tВыворотка\tРамка\tЗвездочка\tТочка\tФото\n";
while (<stdin>){
   @Text=split (' ',$_);
   $rubr=$Text[0];
   if ($rubr eq '@RB'){
      $nomer=$Text[2];
      if (($nomer!=101)&&($flag>0)){print "$old_nomer\t$flagA\t$flagB\t$flagC\t$flagD\t$flagE\n";}
      $flagA=0;
      $flagB=0;
      $flagC=0;
      $flagD=0;
      $flagE=0;
      $flag=0;
      $old_nomer=$nomer;
   }
   if ($rubr eq '@RPT') {$flagA=$flagA+1;$flag=1;}
   if ($rubr eq '@R2') {$flagB=$flagB+1;$flag=1;}
   if ($rubr eq '@RPZ') {$flagC=$flagC+1;$flag=1;}
   if ($rubr eq '@RPP') {$flagD=$flagD+1;$flag=1;}
   if ($rubr eq '@FOTO') {$flagE=$flagE+1;$flag=1;}
}
if (($nomer==950)&&($flag>0)){print "$nomer\t$flagA\t$flagB\t$flagC\t$flagD\t$flagE\n";}

пятница, 23 октября 2009 г.

Замена с помощью Sed

Встала передо мной следующая задача - в текстовом файле в строчках, начинающихся на определенный набор символов заменить некоторое слово на другое. Причем если искомое слово встречается в строчке второй раз, то заменить его на третье слово. Со всеми последующими повторами ничего не делать. Вот пример (придумал его только что, естественно в боевой задаче содержимое другое):

вторник, 13 октября 2009 г.

Сбор информации о происходящем на компьютере

Сбор информации о происходящем на компьютере:

Начать стоит, конечно, со стандартного top:

top - display Linux tasks

понедельник, 5 октября 2009 г.

Управление VirtualBox из консоли

Управление VirtualBox из консоли

На host-сервере VirtualBox вообще может не быть графического окружения. И доступ к нему может быть только через ssh. Это нисколько не помешает для развертывания виртуальных машин.

среда, 16 сентября 2009 г.

Настройка загрузочной заставки

Установка загрузочной заставки.

Bootsplash - заставка, отображаемая с помощью framebuffer во время запуска системы.

среда, 9 сентября 2009 г.

Использование LVM

Имеются два дополнительных жестких диска по 20Gb. Решено объединить их в один раздел с помощью LVM. LVM выбран на случай появления еще одного диска небольшого объема, который можно будет присоединить к этому разделу.

вторник, 8 сентября 2009 г.

Использование rsync

Если вы скачали образ диска любимого дистрибутива (например, Mandriva Linux 2009 Free для i586), перед прожигом носителя вычислите контрольную сумму с помощью команды
md5sum mandriva-linux-free-2009-dvd-i586.iso
Сверьте полученную сумму с суммой, указанной на сайте. Бывает, что эти две суммы не совпадают. Это означает, что файл образа был загружен с ошибкой.

Если контрольные суммы не совпадают, качать снова файл образа не обязательно. Воспользуйтесь командой rsync. Для этого необходимо найти «зеркало» с поддержкой данной функции. Например, mirror.yandex.ru.

Дайте команду
rsync -avz mirror.yandex.ru::mandriva/official/iso/2009.0/mandriva-linux-free-2009-dvd-i586.iso /путь/к/файлу_образа/на/компьютере
и сервер вышлет только повреждённые фрагменты файла, избавляя вас, таким образом, от необходимости выкачивать 4 ГБ информации (если речь идёт о носителе DVD).

пятница, 4 сентября 2009 г.

Подключение к удаленному рабочему столу Windows

Для подключения к удаленному рабочему столу Windows (msts) используется команда rdesktop:

четверг, 3 сентября 2009 г.

Подключение Windows принтера через samba

Долго не мог догадаться, как передать имя пользователя и пароль при подключении принтера. А все делается по стандарту URI. Т.е. в CUPS при добавлении принтера надо указать путь:
smb://Username:Password@WindowsMachine/PrinterName

четверг, 27 августа 2009 г.

Включить msts удаленно

Удаленно включить терминальный сервер MS, обладая правами администратора домена можно из телнета или другой windows-машины:
reg.exe ADD "\\%compname%\HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Вместо %compname% - имя компа.

пятница, 21 августа 2009 г.

Монтирование дисков по UUID

При подключении временного IDE-диска к моей машине сместилось именование блочных устройств, система не смогла загрузиться. Во избежание повторения такой ситуации перевел /etc/fstab и grub на использование UUID.

среда, 19 августа 2009 г.

Упрощение отправки сообщений на систему с Windows

По мотивам прошлого поста написал скрипт для упрощенной отправки сообщений (аналог net send):

#!/bin/bash
Mes=/tmp/.message_for_netsend
if [ -z "$2" ]; then
echo "Usage: $0 <destination> <message>"
echo "Message must be in quotes"
else
echo $2 > $Mes
/usr/bin/smbclient -M $1 < $Mes && rm -f $Mes
fi

вторник, 18 августа 2009 г.

Отправить сообщение на систему с Windows

Понадобился аналог windows-команды net send.

Это можно сделать с помощью smbclient:
smbclient -M pechatnik

После этого нужно ввести сообщение и нажать Ctrl+D

На Windows-машине должна быть включена Служба сообщений.

Сообщение можно записать в файл и отослать:
smbclient -M pechatnik < message.txt

четверг, 13 августа 2009 г.

пятница, 7 августа 2009 г.

Монтирование ftp

Монтирование ftp удобно производить с помощью curlftpfs
#!/bin/bash
/usr/bin/curlftpfs ftp://user:password@ftp.server.ru/../path/EKT /net/ftp/
for i in /net/domain/DDD/OLGA/Publication/*tif; do mv -v $i $i.bak;done
find /net/ftp/ -type f -atime -3 -exec unzip '{}' -d /net/domain/DDD/OLGA/Publication/ \;
fusermount -u /net/ftp

четверг, 6 августа 2009 г.

Скрипты со шлюза

Да-да, это не gentoo и даже не linux. Так надо.
rasdial unlim login password

и вот еще:
:loop
ping -n 10 127.0.0.1
ipconfig| grep "Wireless"
if ERRORLEVEL 1 netsh interface set interface "Wireless Network Connection 2" ENABLED
goto:loop

понедельник, 3 августа 2009 г.

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

Хотел парсить лог с помощью awk:
tail -f log|grep string|awk '{print $2}'
Но не вышло, т.к. tail -f (вероятно) имеет собственный буфер, который не имеет ничего общего с STDOUT, поэтому к awk ничего не доходит.

Нашел здесь решение http://www.unix.com/shell-programming-scripting/29156-tail-f-awk-redirection.html
tail -f log | awk '{if ($1 == "Rough") print $5 | "tee mySecondFile.txt"}'

четверг, 30 июля 2009 г.

Как скачать видео с Youtube

Как скачать видео с Youtube и ему подобных с помощью Opera не пользуясь посторонними программами и сайтами?
Почему-то мне этот способ кажется самым простым, т.к. не надо помнить названия программ-качалок и спецсайтов, к тому же они (эти программы и сайты) иногда ломаются.

Я просто дожидаюсь полной загрузки флеша в opera, после чего ищу наиболее свежий и крупный файл в ~/.opera/cache4
ls -Slr ~/.opera/cache4

Нашелся подозрительный? Командуем
file ~/.opera/cache4/opr00D06
~/.opera/cache4/opr00D06: Macromedia Flash Video

Значит это он. Осталось переименовать в flv.

пятница, 24 июля 2009 г.

/etc/sudoers

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

Что на этот раз? В команде, которую разрешаем пользователю двоеточие надо экранировать!

четверг, 16 июля 2009 г.

Поиск файлов с использованием regexp

Так и не победил регекспы в самом find, пришлось задействовать grep.
find /net/anna/ad64/Int_Ed/Портал* -iname '*dbf'|egrep \/[0-9]+\.dbf|egrep -v '2007|2008'
UPD: Все очень просто:
find /net/anna/ad64/Int_Ed/Портал* -regex '.*\/[0-9]+\.dbf'
Надо было внимательнее читать man find, там сказано, что регексп применяется ко всей строке, таким образом получается:

.* - любое количество любых символов (путь к файлу)
\/ - экранированный слеш (начало названия файла)
[0-9]+ - одна или более цифра (имя искомых файлов состоит только из цифр и окончания ".dbf")
\. - экранированная точка
dbf$ - окончание названия файла (обязательное местоположение - конец строки).

понедельник, 6 июля 2009 г.

Расширенные атрибуты файловых систем Linux

Краткое содержание man-страницы команды chattr.

четверг, 2 июля 2009 г.

Мой конфиг BIND

Мой конфиг для Bind 9 для виртуальных машин:

понедельник, 22 июня 2009 г.

Скрипт для выборки рубрики

#!/bin/bash
rubr=480
echo > $rubr.txt
for i in ad*txt; do
head -1 $i|iconv -f cp1251 -t utf8 >> $rubr.txt
iconv $i -f cp1251 -t utf8|sed -n "/= $rubr/,/^.$/p" >> $rubr.txt;
done

вторник, 16 июня 2009 г.

Скрипт для изготовления брошюр

Скрипт для изготовления брошюры из PDF (нужен пакет app-text/psutils).
#!/bin/bash
if [ -z $2 ]; then
echo "Usage: $0 input_file output_file"
else
pdftops $1 - | psbook | psnup -2 | ps2pdf - $2
fi

понедельник, 15 июня 2009 г.

Проброс броадкаста в Virtual Container от OpenVZ

Для поднятия DHCP-сервера внутри OpenVZ требуется проброс широковещательных пакетов внутрь виртуального контейнера.

понедельник, 8 июня 2009 г.

USE-флаги для LAMP

Сколько можно наступать на эти грабли?! При сборке LAMP необходимо использовать следующие USE-флаги: apache2 crypt ctype pcre session unicode mysql

В который раз пересобираю....

четверг, 4 июня 2009 г.

Установка и настройка Openvz

Захотел я поставить побаловаться такую интересную вещь, как OpenVZ. Нашел в интернете несколько мануалов, в том числе http://www.gentoo.org/proj/en/vps/openvz-howto.xml и http://wiki.openvz.org/Kernel_build.
Поехали.

среда, 3 июня 2009 г.

среда, 27 мая 2009 г.

Замена монолитного KDE на splitted

Все началось с обновления дерева portage. При обновлении всей системы новая версия ktorrent захотела новую версию kdebase-kioslaves. Однако пакет kioslaves блокирован ни кем иным, как kde-base/kdebase!

четверг, 21 мая 2009 г.

Чистка distfiles

За долгое время работы при условии регулярного обновления софта, в каталоге /usr/portage/distfiles скапливается большое количество архивов устаревших исходников (дистфайлов). В Gentoo есть специальная утилита для их удаления.

среда, 20 мая 2009 г.

Узнать продолжительность сборки пакета

Как же долго собирается этот OpenOffice! Сколько мне еще ждать? Ответ сообщит утилита genlop.

понедельник, 18 мая 2009 г.

Монтирование samba-сети в один каталог

Как получить прозрачный доступ к windows-сети, подобно сетевому окружению Windows? Легко! Используя fusesmb.

пятница, 15 мая 2009 г.

Добавить локальный оверлей

Как установить программу, ebuild которой не присутствует в portage? Легко - использовать локальный оверлей.

четверг, 14 мая 2009 г.

Настройка клавиатуры и мыши в Xorg-server 1.5

Настройка клавиатуры в X.Org 7.4 / X-Server 1.5

В xorg-server-1.5.x поддержка устройств ввода переложена на плечи HAL, поэтому переключение раскладок теперь осуществляется там.

понедельник, 4 мая 2009 г.

Настройка NFS

Как я настраивал NFS

NFS - удобная сетевая файловая система.

воскресенье, 3 мая 2009 г.

Параметры для GRUB

Параметры для GRUB:
kernel /boot/vmlinuz root=/dev/sda1 video=vesafb:mtrr:3,ywrap vga=795

Коды для параметра vga:
             4      8     15     16     24     32
320x200 781 782 783
640x400 768 801 802 803 804
640x480 769 784 785 786 809
800x500 879 880 881 882 883
800x600 770 771 787 788 789 814
896x672 815 816 817 818 819
1024x640 874 875 876 877 878
1024x768 772 773 790 791 792 824
1152x720 869 870 871 872 873
1280x1024 774 775 793 794 795 829
1440x900 864 865 866 867 868
1600x1200 796 797 798 799 834

пятница, 1 мая 2009 г.

Конфиг syslog-ng

Pptp засоряет системный лог тупыми сообщениями о пропавших пакетах. Из-за этого /var/log/messages очень быстро разрастается. Направил сообщения от pptp в другой лог с помощью syslog-ng. Мой конфиг syslog-ng:

воскресенье, 26 апреля 2009 г.

Уменьшение размера нескольких изображений

Как автоматически изменить размер целой пачки изображений? Легко, понадобится программа convert из пакета Imagemagic.

пятница, 24 апреля 2009 г.

Выкидываем пользователя из системы

Как выкинуть (разлогинить) другого пользователя из системы? Легко - убить его шелл.

четверг, 16 апреля 2009 г.

Шифрование раздела

Как я делал шифрованный раздел.

Различные полезные однострочники

Полезные однострочники, собранные на просторах интернета, в частности с сайта http://www.linux.com/, http://rus-linux.net/, http://www.linux.org.ru/ и из собственного опыта.

воскресенье, 12 апреля 2009 г.

Корова-синоптик

Чем еще можно разнообразить свой десктоп? Как на счет коровы, прогнозирующей погоду?

четверг, 9 апреля 2009 г.

Скрипт на perl

Некий мой скрипт:

вторник, 7 апреля 2009 г.

Поворот экрана

Имеется монитор, с поворачивающимся экраном. Чтобы использовать его функции, необходимо внести следующие изменения в xorg.conf:

воскресенье, 5 апреля 2009 г.

Скрипт подключения ppp

Пока не настроил /etc/init.d/net.ppp0, использовался этот скрипт:

пятница, 3 апреля 2009 г.

Настройка виртуальных пользователей VSFTPD (с индивидуальными домашними каталогми)

Настройка виртуальных пользователей VSFTPD (с индивидуальными домашними каталогами)

четверг, 2 апреля 2009 г.

среда, 1 апреля 2009 г.

Блокирование Flash в Opera

Flash в Opera можно блокировать, добавив в раздел Block Content строчку с маской *swf*. Этот метод надежный, но радикальный, аналогичен убиранию галочки напротив Enable Plug-ins. Т.е. при необходимости придется включить flash, а потом его снова отключать. Но есть красивый и элегантный способ - воспользоваться Flashblock for Opera.

вторник, 31 марта 2009 г.

Изменение DOS-атрибутов файлов из Linux

Имеется flash-накопитель, побывавший в usb-порту зараженной вирусами Windows-машины. Кроме записи обычных autorun.inf, Recycled и System Volume Information, вирус выставил каталогам с этого носителя DOS-атрибут Hidden, т.е. скрытый, создав exe-файлы с названиями этих каталогов. Удалить созданные вирусом файлы и каталоги легко. Но нужные каталоги остались скрытыми. Владельцу флешки необходимо использовать её на других машинах Windows, которые в данный момент вне досягаемости. Поэтому снимать DOS-атрибут Hidden мы будем из-под Linux.

понедельник, 30 марта 2009 г.

Изменение количества сайтов на странице Быстрого Набора в Opera

По умолчанию на странице Быстрого Набора в Opera имеется только девять сайтов. Однако разрешение нынешних мониторов позволяет эффективнее использовать экранное пространство. Поэтому имеет смысл увеличить количество мест в быстром наборе.

Для этого необходимо найти файл, в котором хранятся настройки быстрого набора (~/.opera/speeddial.ini) и добавить в него в самый конец следующие строки:
Rows=3
Columns=5

В самом файле указано, что редактировать его надо при закрытой Opera.

UPD: В Opera 10 появилась кнопка Configure Speed Dial, однако описанный способ сохраняет актуальность, т.к. позволяет задать нестандартное количество сайтов. Например 5х3, как это нравится мне.

воскресенье, 29 марта 2009 г.

Аутентификация с помощью Flash-накопителя

Подумал, что было бы неплохо использовать usb-flash (или SD-карту в ридере лэптопа) для авторизации на своих машинах без пароля. Сделать это оказалось очень просто.

пятница, 27 марта 2009 г.

Защита загрузчика GRUB паролем

Ни для кого не секрет, что в Unix/Linux системе очень легко сбросить пароль root, имея физический доступ к компьютеру. Либо загрузившись с LiveCD/LiveUSB, либо передав штатному загрузчику параметры для запуска однопользовательского режима. Если от первого варианта можно (относительно) защититься, отключив в BIOS возможность загрузки со съемных носителей, установив пароль на BIOS и опечатыванием системника (а так же навешиванием замков или завариванием корпуса - кому что нравится :) ), то защита от второго способа - это установка пароля на загрузчик. Далее речь пойдет о GRUB.

среда, 25 марта 2009 г.

Восстановление удаленных файлов с FAT и NTFS под LINUX

Как восстановить файлы, недавно удаленные с USB-флешки? Легко! Понадобится связка из fls и icat.

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

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