# General/Pre-requisite packages
aptitude install \
build-essential \
screen \
subversion \
mysql-client \
telnet \
meld \
vim \
vim-gnome \
exuberant-ctags \
tk8.5 \
apache2-prefork-dev \
rcov
# mysql server
# use apt-get to avoid installing exim4
DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes \
mysql-server mysql-client \
libmysqlclient15-dev libmysql-ruby1.8
# git
mkdir gitcore
cd gitcore
wget http://kernel.org/pub/software/scm/git/git-1.6.0.3.tar.gz
apt-get build-dep git-core --assume-yes
tar xzvf git-1.6.0.3.tar.gz
cd git-1.6.0.3/
./configure
make
make install
cd
# Ruby
aptitude --assume-yes install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 \
irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby
ln -s /usr/bin/ruby1.8 /usr/local/bin/ruby;
ln -s /usr/bin/ri1.8 /usr/local/bin/ri;
ln -s /usr/bin/rdoc1.8 /usr/local/bin/rdoc;
ln -s /usr/bin/irb1.8 /usr/local/bin/irb;
ln -s /usr/local/bin/ruby /usr/bin/ruby
# Rubygems. You REALLY don't want to let aptitude install rubygems.
wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
cd rubygems-1.3.1
ruby setup.rb
ln -s /usr/bin/gem1.8 /usr/bin/gem
for g in rails rake capistrano capistrano-ext hpricot treetop ruby-debug term-ansicolor mongrel cheat passenger annotate-models rak; do gem install $g; done
понедельник, 9 февраля 2009 г.
установка ruby on Rails в Ubuntu 8.10
вторник, 3 февраля 2009 г.
мультизагрузка ОС на Acer Aspire One
Порядок такой.
1. Ставим XP в первую праймари партицию 24Gb и делаем сразу вторую праймари партицию 25Gb для мак.
2. ставим дебиан ленни на оставшееся место. (разбиваем как нравиться например
15Gb -\
2Gb - swap
180Gb -\home) по умолчанию заработает все eth, sound, wifi, sleep, hibernate
3. ставим мак в вставшуюся партицию. Я ставил iAtkos v5 10.5.5 c vanila kernel 1.0
4. мак затрет grub в mbr придется его восстановить например SuperGrub disk 32секунды
5. В grub menu.list дебиана уже будет запуск XP добавляем запуск OSX
title OSX Leopardвсе все три ос работают!
root (hd0,1)
chainloader +1
четверг, 22 января 2009 г.
воскресенье, 11 января 2009 г.
Бакуп с rsync
#!/bin/bash
# start config
backup_dest=/home/user/backup
backup_src=`cat /home/user/backup/include.txt`
excludefile=/home/user/backup/exclude.txt
prefix=/backup-daily-
# end config
prev=`ls -d1 $backup_dest$prefix* | tail -n 1`
current=`date "+%Y-%m-%d"`
rsync -aPq --exclude-from=$excludefile --link-dest=$prev $backup_src $backup_dest$prefix$current
ставим его в запуск по крону
на забываем сделать файлы exclude.txt например
*.html
*.jpg
и какие папки бакупим include.txt
/home/user/dir1
/home/user/dir2
вторник, 6 января 2009 г.
Восстановление разделов,удалённых файлов на HDD,FLASH и т.д в Linux
Если диск или раздел уже упал, то Вам понадобится загрузочный дистрибутив Linux.
Рекомендую System Rescue CD т.к он создан именно для этого.
Главное ничего не делать с диском.
Приступим:
1) Вставляем Ваш Flash, Live CD в реанимируемый ПК
Грузимся… Первое что потребуется - это определить файловые системы диска.
Для этого есть команда sfdisk -l
Подробнее можно посмотреть командой file -s
Пример:
localhost root ~ # sfdisk -l /dev/sda
Диск /dev/sda: 9729 цилиндров, 255 головок, 63 секторов/дорожку
Предупреждение: Таблица разделов выглядит так,
словно она была создана для C/H/S=*/240/63
(вместо 9729/255/63).
Для листинга будет подразумеваться эта геометрия.
Единицы = цилиндры по 7741440 байт, блоки по 1024 байт, начиная с 0Устр-во Загр Нач Конец #цил #блоки Id Система
/dev/sda1 0+ 516 517- 3908488+ 82 Linux своп / Solaris
/dev/sda2 517 555 39 294840 83 Linux
/dev/sda3 556 5722 5167 39062520 83 Linux
/dev/sda4 5723 10336 4614 34881840 83 Linuxlocalhost root ~ # file -s /dev/sda1
/dev/sda1: Linux/i386 swap file (new style) 1 (4K pages) size 977121 pageslocalhost root ~ # file -s /dev/sda2
/dev/sda2: ReiserFS V3.6 block size 4096 num blocks 73696 r5 hash
Посмотрели? Выбрали что нужно восстановить.
2) Создаём образ диска/раздела с помощью команды dd и ложем его на другой целый накопитель /dev/sdb1
Это нам даст шанс на ошибку, если что-то пойдёт не так. С образом Мы и будем работать, дабы не насиловать и без того порченный HDD.
Пример:
mount /dev/sdb1 /mnt/temp
dd if=/dev/sda1 of=/mnt/temp/disk.ima conv=noerror
Опция conv=noerror говорит о том, что dd следует продолжить считывание несмотря на ошибки чтения, которые, в большинстве случаев, присутствуют на поврежденных дисках.
Так-же можно поиграться с параметром bs для ускорения копирования
И ещё, образ можно скинуть по сети:
dd conv=noerror if=/dev/sd1 | ssh user@host ‘cat >
recover.img’
И сжать в добавок
dd conv=noerror if=/dev/sda1 | gzip | ssh user@host
‘gunzip > recover.img’
3) Образ получили. Теперь его нужно ассоциировать с виртуальным устройством, что-бы с ним работать как с обычным разделом/накопителем
Делается это командой losetup
Пример:
losetup /dev/loop1 /mnt/temp/disk.ima
И получим свой раздел, в качестве полноценного устройства.
Его можно просто смонтировать и работать. Или приступать к восстановлению.
Правда он доступен только для чтения.
Обойти это можно. Для этого нам понадобится создать файл, который будем использовать как виртуальный накопитель.
Делается это командой dd
Пример:
Создать файл размером 30мб
Размер задаётся тут count=30720
dd if=/dev/zero of=/tmp/virtualfs.ima bs=1024 count=30720
Затем его ассоциируем с /dev/loop2
losetup /dev/loop2 /tmp/virtualfs.ima
И просто форматируем, в какую FS хотите.
mkfs.ext3 /dev/loop2
После можно командой dd накатить на него образ раздела/диска или смонтировать и работать.
dd if=/mnt/temp/disk.ima of=/dev/loop2
4) А как-же быть если мы сняли образ целого HDD с его разделами?
Очень просто.
После того, как Вы смонтировали/ассоциировали образ нужно посмотреть его разделы
Делается это с помощью команды fdisk
Пример:
Даём команду fdisk [имя диска или утройства]
Затем жмём ключ p для просмотра разделов
$ fdisk -u /dev/loop3Command (m for help): p
Disk /dev/loop1: 4194 MB, 4194816000 bytes
128 heads, 63 sectors/track, 1015 cylinders, total 8193000 sectors
Units = sectors of 1 * 512 = 512 bytesDevice Boot Start End Blocks Id System
/dev/loop3p1 * 63 8176895 4088416+ 7 HPFS/NTFSCommand (m for help): q
Здесь нам нудны след. значения.
а) Units = sectors of 1 * 512 = 512 bytes т.е размер сектора 512 bytes
б) Начальный сектор раздела. В примере 63
Дальше всё просто. умножаем 63 на 512 и получаем число 32256
Даём команду :
losetup -o 32256 /dev/loop4 /mnt/temp/disk_full.ima
И получаем на /dev/loop4 выбранный раздел.
Затем монтируем его и пользуемся.
Удалить все ассоциации можно командой
losetup -d /dev/loop[0,1,2,3,4 и т.д]
5) Вроде всё.
После восстановления можно накатить образ обратно на диск или скопировать нужные файлы.
Про утилиты восстановления писать нет смысла, да и я ими пользовался то 1 раз в жизни когда раздел упал.