linux@linux:~> su
linux:/home/linux # mount
/dev/loop0 on / type defaults (rw,0)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sdb6 on /media/disk type ext4 (rw,nosuid,nodev)
/dev/sdb7 on /media/disk-1 type ext4 (rw,nosuid,nodev)
linux:/home/linux # ls /media/disk
bin boot dev etc home lib lib64 lost+found media mnt opt
proc root sbin selinux srv success sys tmp usr var windows
linux:/home/linux # cd /media/disk-1 && ls
irqsx lost+found
linux:/media/disk-1 # tar -cfp /media/disk/backup.tar ./
tar: Удаляется начальный `/' из имен объектов
tar: /media/disk/backup.tar: Невозможно stat: Нет такого файла или каталога
tar: ./p: файл является архивом; не сброшен
tar: Exiting with failure status due to previous errors
linux:/media/disk-1 # ls
irqsx lost+found p
linux:/media/disk-1 # tar -cfp /media/disk/backup.tar /media/disk-1/
tar: Удаляется начальный `/' из имен объектов
tar: /media/disk/backup.tar: Невозможно stat: Нет такого файла или каталога
tar: /media/disk-1/p: файл является архивом; не сброшен
tar: Exiting with failure status due to previous errors
linux:/media/disk-1 # tar -cfp backup.tar ./
tar: backup.tar: Невозможно stat: Нет такого файла или каталога
tar: ./p: файл является архивом; не сброшен
tar: Exiting with failure status due to previous errors
Работаю с LiveCD.
Почему то появляется на диске которы резервирую какой то файл(р) в кедах определяется как tar архив и весит порядка 0.5 МБ - непонятно... Откуда ошибки тоже! Что не так делаю?
Спасибо, однако разница есть! Извините ламера не знал, думал от перемены мест слагаемых итд итп.... похоже в tar -cfp, p распознавался как имя файла а /media/disk/backup.tar как директория которую надо залить в архив, так? только не пойму, перед р нет ни пробелов ни других разделителей, почему он распознавался как имя, а текущая директория как место для сохранения? И что он пытался залить в файл р? и как в моем варианте (tar -cfp) как указать правинльно аргументы и вообше можно ли? Извините уж за флуд, но в консоли не силен а если объясните хоть какой то опыт приобрету, хоть в чем то разберусь) Если не сложно подскажите пожалуйста!!
просто это очень древняя утилита. тогда ещё не было общепринятых стандартов. а поменять формат нельзя - старые скрипты не будут работать. это плата за обратную совместимость...
за то можно без минуса (в этом конкретном случае). на самом деле таких исключений очень мало, вам просто не повезло.
ЗЫЖ у меня предложение к гуру: расскажите о известных вам "косяках" вроде этого.
На вскидку мне припоминается только условный переход в команде sed, и порядок опций в read (он вроде тоже не просто так).
Это не потому, что tar старый. А потому, что параметр f требует аргумента - имя файла. Первое, что идёт после -f, воспринимается как имя файла. Другие параметры (c, z, j, v) можно менять местами сколько угодно.
ЗЫЖ у меня предложение к гуру: расскажите о известных вам "косяках" вроде этого.
На вскидку мне припоминается только условный переход в команде sed, и порядок опций в read (он вроде тоже не просто так).