tar
tar + ssh
GNU tar умеет создавать архив на удалённой системе через ssh
$ tar --rsh-command=/usr/bin/ssh -jcvf host:/tmp/archive.tar.bz2 dir-or-filesПередача файлов по сети в zsh
Когда то тут был совет как копировать файлы по сети между компьютерами с помощью netcat и tar.
zsh умеет заменять netcat:
На хосте который будет применят файлы слушаем порт 1111, и вывод пренаправляем на распаковывающий tar
host1$ zmodload -i zsh/net/tcp && ztcp -ld3 1111 && ztcp -ad4 3 && tar zvxp <&4 && ztcp -c 3 && ztcp -c 4На хосте откуда хотим передавать файлы отправляем на host1 запакованные файлы в директории $DIR
host2$ zmodload -i zsh/net/tcp && ztcp -d3 $HOST1 1111 && tar zc $DIR >&3 && ztcp -c 3Распаковка архивов
### Handy Extract Program extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xvjf $1 ;; *.tar.gz) tar xvzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xvf $1 ;; *.tbz2) tar xvjf $1 ;; *.tgz) tar xvzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via >extract<" ;; esac else echo "'$1' is not a valid file" fi }
Уже не помню где нашел, не мое :)
Поместить в ~/.bashrc или profile
Драйвер для DVBWorld USB Box
Лето. Дача. Ноутбук. Отдыхали два-три дня как надо, но все таки не хватает интернет. Надоели через спутниковые каналы смотреть Голливудские чущь. Попросил у приятеля захватит с собой DVBWorld usb-box для спутникого интернета. Как и все устройства и это чудо техники тоже без дров. Поблагодарим Goga777 из #sat-tv, #linux и установим драйвер:
atool. Универсальный архиватор
atool - скрипт обвертка для удобной работы с архивами.
Основным замечательным свойством (кроме распаковки архивов разных типов) является то, что перед распаковкой проверяется находится ли директория внутри архива или же там находятся файлы. Скрипт предотвратит ужасно раздражающую особенность zip архивов, пришедших с "другой" стороны, распаковываться кучей файлов в текущую директорию. Кроме того, скрипт не перезапишет уже распакованные файлы.
Поддерживается огромное количество архивов, включая deb и rpm пакеты.
Кроме всего прочего имеется много возможностей для конфигурации. Далее несколько примеров.
Копирование директорий с сохранинием прав и атрибутов(так же по сети)
Во-первых такой фокус можно делать только с правами рута, так как только он имеет право изменять владельцев файла
$ tar c /etc | tar xКопирует директорию /etc в текущую директорию с сохраниением всех прав
Если нужно скопировать директорию /var/cache/apt/ с машины host1 на host2, то используем netcat
host2:~# nc -l -p 12345 | tar -C / -xhost1:~# tar c /var/cache/apt/ | nc host2 12345Запускаем именно в таком порядке Ж:-)
Так же можно к tar добавить ключик z или j (архивация gzip или bzip2 соответственно) если узким местом передачи является сеть.
Это может пригодится для копирования настроек с одного сервера на другой или перенесения кеша что бы не выкачивать одинаковые пакеты по многу раз.
Вместо tar можно использовать cpio.
PS
tar и netcat так же сущетвуют и под windows... Ж%-)



