Виртуальный диск в памяти: как создать ramdisk в Linux?



15 коммент.
Бывают задачи, когда нужно работать с большим количеством мелких файлов и делать это по возможности быстро, без завязок на меееедленную файловую подсистему. Ветераны вспомнят о том, что есть такой виртуальный диск, он же - RAM-дисках (ramdisk) и будут совершенно правы - это действительно выход, а сделать ramdisk в Linux можно буквально в один клик на клавиатуре.

Собственно, в ядре должна быть поддержка tmpfs, и если вы (или авторы вашего дистрибутива) не любители усложнять себе жизнь, она там должна быть.
Быстренько создаём новую точку монтирования:
# mkdir /mnt/tmpfs/
# chmod 777 /mnt/tmpfs/
и даём все права на использование. После этого даём команду (от рута или через sudo):
# mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
или
$ sudo mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
где xxxM есть размер RAMdisk в Мегабайтах.
Будьте осторожны и не размахивайтесь слишком широко: если вы попросите создать ramdisk больше, чем имеете оперативной памяти, система начнёт сгружать всё в swap-файл и дела пойдут очень медленно и грустно.

Если же вы хотите изменить размер ramdisk - это просто:
# mount -o remount -o size=yyyM /mnt/tmpfs/
или
$ sudo mount -o remount -o size=
yyyM /mnt/tmpfs/
При этом содержимое диска не пропадёт, но его размер тут же увеличится (при уменьшении также ничего не пропадёт, если только данных не больше, чем диск).

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

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

Ссылки
Есть толковые посты о том, как в Linux сделать виртуальный диск в памяти здесь и тут.
Читать далее

Быстрая смена каталогов в консоли Linux с помощью WCD



15 коммент.
Для того, чтобы быстро прыгать по каталогам в Linux, можно использовать разные продвинутые оболочки типа zsh, а можно прикрутить маленький костылёк wcd к старому-доброму bash. О том и пост - самому не забыть и читателя потешить :-)

Итак, что мы имеем после установки wcd? Набираем часть имени каталога, нажимаем Enter и видим варианты - выбираем один из них и тут же перелетаем в нужный нам каталог.




Как установить Wcd?
Установка проста:

aptitude install wcd
Далее создаём ссылку на wcd.exec в домашнем каталоге:
ln -s /usr/lib/wcd/wcd.exec ~/bin
либо (для новых версий)

ln -s /usr/bin/wcd.exec ~/bin

и добавляем следующую функцию в стартовый файл .bashrc оболочки bash:
function wcd
{
$HOME/bin/wcd.exec $*
. $HOME/bin/wcd.go
}
 
После этого следует перезалогиниться или создать новую оболочку (открыть новый таб).

Как использовать WCDДля этого сначала создадим деревья директорий. Например

$ wcd -A .
Точка в конце говорит о том, что создаём деревья директорий, начиная с текущей. Должно ответить просто:
Wcd: Please wait. (re)Scanning disk. Building treedata-file from /home/beast
И всё. Теперь получаем удовольствие.
Итак, есть каталог /home/beast/docs/matlab/Sci/cvkonnik
Но набирать это всё долго и лениво. Вместо этого пишем:


$ wcd cvk*
И нажимаем большую и любимую клавишу Enter. При этом в консоли выдаётся менюшка вида:
a /home/beast/docs/matlab/Sci/cvkonnik
b /home/beast/docs/matlab/docus/Work/otherscidocs/Sci/cvkonnik

Wild match for 2 directories. w=up x=down ?=help Page 1/1
Please choose one ( to abort):

Нажимаю букву b и тут же перелетаю в нужный мне каталог:

beast@notebeast:~/docs/matlab/docus/Work/otherscidocs/Sci/cvkonnik$
И все дела. Очень удобно и очень здорово!

Ещё веселее, если такой каталог у вас один - переход произойдёт сразу же:

wcd IST*
-> /home/beast/docs/matlab/docus/articles/SPIEproceedings/IST2009
beast@notebeast:~/docs/matlab/docus/articles/SPIEproceedings/IST2009$


Обновление дерева каталогов
Если у вас добавился новый каталог, то wcd автоматом его, увы, не подхватит. Но это не беда - просто пересоздадём деревья директорий:

$ wcd -A .

И после этого ваши новые каталоги снова в строю.

Ссылки
На всякий случай WCD расшифровывается как Wherever Change Directory. Сайт автора программы, но он очень аскетичен. Также толковую статью по wcd можно найти на ЛинСовете
тут. Замечательная статья по поводу WICD есть на блоге Максима Иванова.
Читать далее

Карманный справочник The Debian Cookbook



31 коммент.
Время от времени я забываю некоторые детали настройки Linux и поэтому сам же часто читаю свой блог. Однако иногда я оказываюсь там, где интернетов нет, а лезть в архивы своего блога долго. И тут, после очередного полученного мной электронного письма с вопросом "а не планируете ли вы засесть за книгу" меня посетила мысль изваять свой хендбук. Гентушники вон сделали, а что, дебианщики жиже? :-) Ничуть.


Debian Cookbook - поваренная книга
В общем, не буду долго томить: есть пре-альфа версия The Debian Cookbook, как я его пока назвал. Ведётся разработка на Google Code, репозиторий Mercurial/HG
The Debian Cookbook project
[ссылка на PDF]
Идея проста: я прохожусь по тегам поста и собираю конкретные рецепты. Дальше копирую в кратком виде в LaTeX и распечатываю под свой ежедневник. Cookbook призвано оправдать своё название - это карманный справочник рецептов. Производные работы приветствуются, дополнения и патчи тем более.

Чтобы отслеживать возможность скачать новую версию, можно подписаться на RSS-ленту разработки: забрать RSS.

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

Дата и время в Linux



19 коммент.
В UNIX время имеет огромное значение: демоны вылязят для свершения тёмных злодеяний по crontab, в логах фиксируется время сообщений, а файловые системы хранят информацию о том, когда файл в последний раз обновлялся. Для поддержания времени есть в Linux есть команда date, и у неё есть множество других замечательных возможностей, о которых владельцы UNIX-систем могут и не догадываться. Итак...


Дата и время
Просто просмотреть время в Linux можно командой:
$ date

Чтв Авг 21 14:07:23 MSD 2008

Чтобы изменить время часов, нужно заделаться рутом и написать:
$ date MMDDhhmm
То есть в виде МесяцДеньЧасМинута, остальное [MMDDhhmm[[CC]YY][.ss]] по вкусу. Об это хорошо (и главное в самом верху) написано в мануале man date, однако остальное писалось, по всей видимости, роботами для роботов.

Среди функций date есть также вычисление дат. Например, вы хотите узнать, какое число было вчера:
$ date --date="yesterday" +%F
или
$ date --date="1 days ago" +%F

2008
-08-13
Или, скажем, какое число будет в воскресенье через две недели:
$ date --date="sunday next 2 week"

Sun Aug 31 01:00:00 EEST 2008

Если специально не оговаривать срок, то названия дней недели командой date будут восприниматься как ближайшие. Например, узнать дату ближайшей пятницы:

$ date --date="friday" +%F

2008-08-15
Тот же результат вы получите, если добавите ко дню недели слово this то есть date --date="this friday" +%F

Прошедшие дни недели указываются при помощи ключевого слова last например, какое число было в прошлую пятницу:
$ date --date="last friday" +%F

2008-08-08

Думаю, что это хороший повод ещё разок за рюмкой чая почитать man date здесь (на русском).


Консольный календарь в Linux
А ещё можно смотреть не просто на даты, а на календарик в консоли - для этого есть замечательная команда cal - без параметров она выдаст календарь на текущий месяц:
Июль 2009
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Если же вам нужен календарь на год:
$ cal 2009
получим календарь на 2009 год. Календарь на месяц можно приготовить так:
$ cal 02 2009
выдаст календарь на февраль 2009 года. Помимо cal существует также ncal — Если же нужен «вертикальный» календарик, вроде

Февраль 2010
Пн 1 8 15 22
Вт 2 9 16 23
Ср 3 10 17 24
Чт 4 11 18 25
Пт 5 12 19 26
Сб 6 13 20 27
Вс 7 14 21 28

это можно сделать с помощью команды ncal. Хотя на самом деле, cal в современных дистрибутивах - просто ссылка на ncal, который смотрит как его вызвали и решает, симулировать ли ему поведение cal.

Ещё у команде cal очень полезен ключ -3, показывает текущий месяц, предыдущий и слудующий:
$ cal -3
и получаем:

Февраль 2012 Март 2012 Апрель 2012
Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб Вс Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 1 2 3 4 1
6 7 8 9 10 11 12 5 6 7 8 9 10 11 2 3 4 5 6 7 8
13 14 15 16 17 18 19 12 13 14 15 16 17 18 9 10 11 12 13 14 15
20 21 22 23 24 25 26 19 20 21 22 23 24 25 16 17 18 19 20 21 22
27 28 29 26 27 28 29 30 31 23 24 25 26 27 28 29
30

Вызвав ncal с полезной опцией -w:
$ ncal -w
получим календарик с номерами недель:

$ ncal -w 02 2009
Февраль 2009
Пн 2 9 16 23
Вт 3 10 17 24
Ср 4 11 18 25
Чт 5 12 19 26
Пт 6 13 20 27
Сб 7 14 21 28
Вс 1 8 15 22
5 6 7 8 9

Кстати, этот вывод очень хорошо вставляется в Inkscape и далее можно быстро набросать простой календарик для ежедневника.


Часовые пояса в Linux
Если вы куда-то далеко переезжаете, то потребуется на ноутбуках менять часовые пояса. Тут нас выручит утилита tzselect. Для этого можно использовать утилиты tzselect (выбрать часовой пояс временно) и tzconfig (поставить часовой пояс постоянно). Например, быстренько посмотреть, сколько времени сейчас на другом конце света можно так:
dot:/home/dot# tzconfig
WARNING: the tzconfig command is deprecated, please use:
dpkg-reconfigure tzdata
dot:/home/dot
Чтобы не пришлось делать это каждый раз, конфигурируем наши часовые пояса с помощью:
# dpkg-reconfigure tzdata

Current default timezone: 'Australia/Sydney'
Local time is now: Wed Feb 24 09:08:35 EST 2010.
Universal Time is now: Tue Feb 23 22:08:35 UTC 2010

Всё, теперь будет установлено Австралийское время.


Часы в Windows и Linux при двойной загрузке
Если у вас на одном компьютере Windows и Linux, то после загрузки Windows часы в Linux будут идти неправильно. Дело в том, что Linux устанавливает часы по GMT, и не важно, в каком часовом поясе (time zone) вы живёте. Далее, в зависимости от часового пояса, время добавляется или отнимается, чтобы получилось правильное время. Это стандарт, и Linux его соблюдает. Продукция Майкрософт никогда не славилась соблюдением стандартов, и это большая проблема Майкрософт: Windows при загрузке устанавливает часы иначе.

Логичным шагом было бы исправть это в Windows, однако это проще сделать в Linux. Для этого редактируем файл:
sudo vim /etc/default/rcS
и исправляем параметр с
UTC=yes
на
UTC=no
Сохраняем изменения и выходим. Теперь в Linux и Windows часы будут работать одинаково.



Ссылки
Пост основан на материалах ЛинСовета и конкретно на этом посте ув.тов.
Читать далее

Где скачать Linux бесплатно



29 коммент.
Многие сомневающиеся пингвиноводы и начинающие поклонники операционной системы Linux задаются вопросом откуда скачать Linux бесплатно. Однако сначала нужно разобраться, что же вам от Linux, собственно, нужно.

Вдруг кто не знал или забыл - Linux это только ядро операционной системы, которое работает непосредственно с железом и вам никак не видно. Чтобы привычно работать с компьютером, нужен дистрибутив Linux:
Дистрибутив Linux = ядро Linux + системный софт (загрузчик, консольная оболочка, графический сервер) + пользовательский софт (графическая среда, текстовые процессоры, графические редакторы, игры)


Linux "на посмотреть"
Для этого есть LiveCD и LiveDVD диски: нужно скачать ISO-образ, записать его на болванку, потом загрузиться с этого диска (в BIOS должно быть установлено "Загрузка с CD\DVD" или название привода). Для этого можно скачать что-нибудь из:
  • Knoppix Linux (скачать здесь): может служить не только для демонстрации возможностей Linux, но и для восстановления данных.
  • SLAX Linux (скачать здесь): очень маленький дистрибутив, вместится на Pocket CD (200Mb).
  • Ubuntu Linux (скачать здесь): и загрузочный ("живой", LiveCD), и установочный диск. Можно после просмотра и тестирования сразу же установить на винчестер.
Эти дистрибутивы, конечно, не единственные, но они должны дать определённое представление о том, что такое Linux, что он может и чего не может относительно ваших задач.


Linux для установки на десктоп
После того, как вы определились, что Linux вам всё-таки нужен, нужно выбрать дистрибутив Linux. Ответ на этот фундаментальный вопрос мироздания здесь: вам потребуется на русском языке ответить на несколько простых и незамысловатых вопросов, после чего автоматическая система подберёт дистрибутив Linux под ваши потребности и познания.
Для самых горячих и нетерпеливых: так как в примерно 80% случаев всем рекомендуют Ubuntu Linux как самый распространённый и дружественный к пользователю дистрибутив Linux, скачать Ubuntu Linux ЗДЕСЬ.

Linux в виде конструктора "хочу всё знать"
Если вы хотите скачать дистрибутив для того, чтобы разобраться в нём и создать для себя систему, в которой удобно работать, смотрите в сторону Debian, Slackware, Gentoo или Arch. Из этих дистрибутивов можно сделать всё, что угодно: и сервер, и десктоп, и кластер, и даже в кофеварку установить. Отличаются дистрибутивы, по большому счёту, системой установки программ и идеологией.
В том случае, если ваш выбор падёт на Debian, вам может пригодиться руководство по установке.
Читать далее

GraphViz: примеры создания графов и взаимосвязей



20 коммент.
Есть много типов данных, которые можно и нужно представить наглядно в виде зависимости одного от другого. Это и генеалогическое дерево, и взаимосвязь проектов друг с другом, и многое другое. Это всё можно вручную отрисовывать в Inkscape, а можно последовать UNIX-way и доверить это GraphViz. Немного своих находок и зарубок на память - пример возможностей GraphViz.


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

Сначала я использовал Kmindmap, но его возможности по построению множественных взаимосвязей на разных уровнях очень ограничены. Inkscape это, конечно, ручная работа, что при числе проектов более трёх десятков совсем не весело. И хотелось бы всё это интегрировать с LaTeX... После недолгих скитаний я понял, что изучение
GraphViz сулит много хорошего и не так сложен в освоении.

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

Граф при визуализации может быть представлен как иерархически (dot), так и по алгоритму минимизации энергии (energy minimized), когда узлы располагаются максимально компактно, насколько это возможно, не нарушая наглядность (neato). В общем, если информацию можно представить в виде направленного или ненаправленного графа, GraphViz с этим легко справится.


Установка и первые шаги с GraphViz
GraphViz есть в каждом уважающем себя дистрибутиве, и ставится пакетной системой на раз:
# aptitude install graphviz
Единственное, что следует отметить, что GraphViz имеет кучу зависимостей, так что его сборку лучше доверить вашим дистростроителям.

Но допустим, что вы его успешно собрали или просто поставили из пакетного менеджера своего дистрибутива - что дальше? А дальше делаем быстрый старт: открываем свой любимый текстовый редактор и вставляем в него например вот это:
digraph G{
Рождение->Юность->Зрелость->Старость->Смерть;
Юность->Смерть;
Зрелость->Смерть;
}
И сохраняем в виде текстового файла, например temp.dot. Далее в консоли пишем
$ dot -Tpng temp.dot -o temp.png
То есть перегоняем наш граф в формат PNG, чтобы можно было просмотреть его, скажем, с помощью gqview или любым другим просмотрщиком изображений. И вот что мы увидим:
Начальную идею это должно передать, а за подробностями милости просим в это совершенно исключительное по художественной силе описание
GraphViz. А я тем временем поделюсь своими заметками.

Небольшой пример
В этом примере я сгруппировал наиболее часто мной используемые находки в GraphViz, такие как уровни в графе, размер текста и форму элементов. Дабы минимизировать проблемы с кириллицей, стоит сохранять данные в кодировке UTF8.

Предварительные обозначения
Сначала эти уровни обозначаем (в данном случае это от 50.000 до 10.000 - читавшие GTD меня поймут, не читавшие могут узнать об этом больше).
{ //Уровни в проектах
node[shape=plaintext]; // чтобы было не видно рамок
edge[color=white]; // чтобы было не видно рамок
50.000->40.000->30.000->20.000->10.000->5.000;
}
Последовательность символов -> означает связь двух объектов, shape - форму объекта (рамка вокруг текста), color - соответственно цвет (здесь белый - чтобы не было видно рамки вокруг текста).

После этого группируем данные и даём понять GraphViz, что группа принадлежит к этому уровню:
{ // <============= Задачи на уровне 10.000 ==============
node[shape=rectangle,fontsize=10]; // порядок важен: описание свойств узлов должно идти раньше, чем сами узлы
rank=same; 10.000; "Диссертация";
"Проект РНП";
"Time-Frequency";
}
Здесь задаём размер текста fontsize поменьше (из эстетических соображений) и говорим GraphViz, что эти куски текста должны быть на высоте 10.000 (определённый уровень).

Теперь выстраиваем взаимосвязи объектов друг с другом:
"Time-Frequency"-> "Научные\nпроекты";
"Диссертация"-> "Научные\nпроекты";
"Проект РНП"-> "Научные\nпроекты";

"Диссертация"->"Time-Frequency"[dir=both]; // зависимость направлена в обе стороны
"Диссертация"->"Проект РНП"[dir=both]; // зависимость направлена в обе стороны
Тут две тонкости:
  1. чтобы текст в рамке разбить на несколько строк, ставим \n
  2. если нужно, чтобы стрелка была направлена в обе стороны - взаимная зависимость двух объектов - нужно рядом с зависимостью приписать [dir=both];
После этого можно собирать проект и перегонять его в любой удобный формат: PNG удобнее всего смотреть в просмотрщике, пока выстраивается структура, а потом перегнать это всё в SVG для печати или встраивания куда-нибудь.


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

digraph WorkAnalysis{
rankdir=TB; //как делается граф - сверху вниз.

{ //Уровни в проектах
node[shape=plaintext]; // чтобы было не видно рамок
edge[color=white]; // чтобы было не видно рамок

50.000->40.000->30.000->20.000->10.000;
}

{ // <============= Задачи на уровне 40.000 ============== node[shape=pentagon,fontsize=30]; rank=same; 40.000; "Исследования\nсигналов"; } { // <============= Задачи на уровне 20.000: Сфера ответственности node[shape=egg,fontsize=20]; rank=same; 20.000; "Научные\nпроекты"; } { // <============= Задачи на уровне 10.000 ============== node[shape=rectangle,fontsize=10]; rank=same; 10.000; "Диссертация"; "Проект РНП"; "Time-Frequency"; } "Time-Frequency"-> "Научные\nпроекты";

"Диссертация"-> "Научные\nпроекты";

"Проект РНП"-> "Научные\nпроекты";

"Диссертация"->"Time-Frequency"[dir=both]; // зависимость направлена в обе стороны

"Диссертация"->"Проект РНП"[dir=both]; // зависимость направлена в обе стороны
}
Вставляем его в файл a.dot и набираем:
dot -Tpng a.dot -o a.png
Видим что-то вроде этого:

Собственно, этот пример я состряпал на основе своего графа проектов, и этот код - только часть. Приведённый пример должен проиллюстрировать основные моменты работы с
GraphViz, которые я часто забываю :-)
Читать далее

Архив блогов типа Blogger: делаем локальную копию с помощью HTTrack Website Copier



15 коммент.
Архив блога можно сделать по-разному: например, экспортом в XML с помощью встроенной функции Blogger - но это для авторов. А если нужна работающая копия блога вместе с картинками, помещёнными на другом хостинге, простым wget-ом тут точно не обойтись. И тут нам на помощь приходит httrack website copier - это offline browser, который позволяет скачивать сайты целиком. В этом посте привожу небольшое руководство по httrack, в смысле как пользоваться httrack для зеркалирования блогов а-ля Blogspot.


Мои пять копеек, или Как скачать блог на blogger для локального просмотра

Так как с помощью wget (во всяком случае версии 1.10.2) создать полностью работоспособную копию блога на blogspot не получается, будем для этих целей использовать так же входящий в дистрибутив Debian (и не только его) offline броузер под названием httrack website copier, или просто httrack далее.
Насчёт wget - друзья, мне самому он очень нравится, но есть задачи, которые ему не по зубам. Без обид, всем теоретикам от WGET: ребята, прежде, чем делать глобальные выводы, ПОПРОБУЙТЕ СВОИ РЕЦЕПТЫ! Просто скачайте чей-нибудь мало-мальски нагруженный джаваскриптами и картинками на другом хостинге блог на blogspot с помощью wget, потом откройте его offline и Вы увидите большую разницу. Поверьте, это не так просто, и я на 100% солидарен с Андреем Афанасенко и его комментариями в обсуждении этой темы: всё не так просто.
Опций, ключиков и шаманских проклятий к httrack море, но нам надо скачать блог - так что будем использовать и проверять опыт предыдущих поколений. Всё течёт и всё меняется, и на момент последней правки этого поста командная строка, которая позволяет зеркалировать для локального просмотра блог на blogspot выглядит так:
httrack "http://ВАШБЛОГТУТ.blogspot.com/" "+*.css" "+*.js" "+*.jpg" "+*.jpeg" "+*.tiff" "+*.png" "+*.gif" "+*.giff" "+*.swf" "+.ico" -v --disable-security-limits -s0 "-*666*" "-*BlogBacklinkURL*"
Кавычки обязательны. При этом хорошо бы сделать какой-нибудь каталог, в который вы будете это сваливать (например, /home/vasya/ЗЕРКАЛОБЛОГА/ ) и уже внутри этого каталога запускать httrack с вышеупомянутыми заклинаниями.
Во всяком случае для блогов на платформе блоггера эта формула работает: по крайней мере, так удалось полностью скачать блог IceWM and all around полностью, вместе с работающими ссылками на картинки (для просмотра в полный рост) и ссылками в метках, которые позволяют просмотреть все посты с одной меткой.
И ещё. Блоги некоторых особо злостных графоманов (вроде меня) занимают много, много места, так что запаситесь временем и местом на диске. Очень может быть, что сразу, за один раз, блог вытащить не удастся. Конкретно "Записки дебианщика" занимают вместе с картинками и комментариями почти 2Гб. Будучи сжатыми архиватором 7Z с агрессивными настройками, "записки" занимают 107Мб, но распакуются в те же 2Гб. Кстати скачать "Записки дебианщика" одним архивом теперь можно по этой ссылке.


Обновление локальной копии
Для того, чтобы продолжить скачивание большого блога или синхронизировать локальную версию с тем, что есть в Интернете, httrack может обновить скачанный проект. Насколько я понял, для этого нужно добавить к вышеупомянутому заклинанию ключик --update

То есть для обновления уже скачанного блога с blogspot из директории, где находится директория
hts-cache (в ней лежит файл hts-cache/doit.log который содержит все нужные параметры) и пишем:
httrack "http://ВАШБЛОГТУТ.blogspot.com/" "+*.css" "+*.js" "+*.jpg" "+*.jpeg" "+*.tiff" "+*.png" "+*.gif" "+*.giff" "+*.swf" "+.ico" -v --disable-security-limits -s0 "-*666*" "-*BlogBacklinkURL*" --update
И httrack пытается обновить проект. И обновляет его, выкачивая оставшиеся файлы. Кстати, чтобы пропускать файлы со слишком тормозных серверов, можно ещё тайм-аут для httrack поставить поменьше, добавив ключик --timeout 20 после чего тайм-аут будет 20 секунд.

Отмечу так же, что в каталоге hts-cache лежат два больших архива в формате ZIP - так вот, удалить можно только тот из них, который называется old.zip, а new.zip лучше не трогать. Дело в том, что эти файлы содержат информацию, необходимую httrack для обновления скачанного сайта, и если эти файлы удалить, то вы не сможете просто обновить копию (придётся выкачивать всё заново).


Ссылки в тему
Над этой темой бились лучшие умы блоговедения и блоготехники, достижения коих увековечены к примеру в заметке Дмитрия Конищева Создание зеркала сайта и в посте Андрея Афанасенко Архив блога/blogarchive. За что оным умам (а так же всем, кто принимал участие в обсуждениях) низкий поклон и огромная благодарность.
Так же благодарность тов.
vnaum за то, что разыскал в дебрях документации к Блоггеру ссылку на возможность получить все посты Blogger с помощью скриптов на Python.
Читать далее