LINUX.ORG.RU

что-то tar барахлит


0

0

Делаю так:
# ~/stage $ touch aaaa
# ~/stage $ touch bbbb
# ~/stage $ touch cccc
# ~/stage $ tar -cvf stg.tar *
# ~/stage $ tar -tf stg.tar
aaaa
bbbb
cccc

Потом меняю что-то,например, в aaaa. И дальше:
# tar -uvf stg.tar - по идее и ману aaaa в tar'e должен обновиться и
стать таким же, как и просто в каталоге. Но этого не происходит. 
Что не так ?
anonymous

Чем проверяешь содержимое aaaa?

Deleted
()

Все работает.
Выполни мои команды и сравни результат.

$ touch a b c
$ echo "kuku" > a
$ tar cf test.tar a b c
$ echo "mumu" >> a
$ tar uf test.tar a b c
$ tar tf test.tar 
a
b
c
a

sdio ★★★★★
()
Ответ на: комментарий от sdio

# tar tf test.tar
a
b
c
a

Но в обоих а в tar'e - kuku, ничего не поменялось. Так же:
"Опция '--update' модифицирует архив tar c помощью сравнения данных
 заданных членов архива с данными файлов под теми же именами. Если
 файл был модифицирован позже, чем член архива, то последний
 уничтожается (как с помощью '--delete') и затем файл добавляется в
 архив (как с помощью '--append')."

Я так понимаю, в твоём примере, по этому определению, a в архиве
должен удалиться (т.к. был модифицирован раньше) и заменён на а из
вне архива. Т.е. в архиве должно быть одно а с:
"kuku"
"mumu"

anonymous
()
Ответ на: комментарий от sdio

А почему тогда у меня добавился неизменённый файл а (тока с "kuku") ? Это из твоего примера. И как сделать, чтоб в архиве менялся файл, который был изменён вовне ? Т.е. в твоём примере, при изменении а вне архива, в архиве менялся тока этот файл. Т.е. чтоб в архиве файл a с "kuku", обновился на а, но ещё с "mumu".

anonymous
()
Ответ на: комментарий от sdio

А вот, если так:
После 
$ rm a b c 
$ tar xf test.tar 
$ ls
a  b  c  test.tar
$ cat a
kuku
mumu

Делаю:
echo "zuzu" >> a
tar uf test.tar a b c
$ rm a b c 
$ tar xf test.tar 
$ ls
a  b  c  test.tar
$ cat a
И получаю всёравно:
kuku
mumu
А где zuzu ?

anonymous
()
Ответ на: комментарий от anonymous

Откуда я знаю почему у тебя не сработало, у меня работает.

$ touch a b c
$ echo "kuku" > a
$ tar cf test.tar a b c
$ rm a b c
$ tar xf test.tar  
$ cat a
kuku
$ echo "mumu" >> a
$ tar uvf test.tar a b c
a
$ rm a b c
$ tar xf test.tar  
$ cat a
kuku
mumu
$ echo "zuzu" >> a
$ tar uvf test.tar a b c
a
$ rm a b c
$ tar xf test.tar  
$ cat a
kuku
mumu
zuzu

sdio ★★★★★
()

ниасилил все эти ваши куку муму зузу и дуду %) вы чем тут занимаетесь вапще? :)

Somewho ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.