问题重现:

使用tar命令压缩目录时,会报“tar: Removing leading `/' from member names”错误(去除文件名中前导的根目录“/”),但是不会影响后面的压缩文件的产生

命令:

tar -g /tmp/snapshot -czvf system_backup.tar.gz /tmp

[root@logstash tmp]# tar -g /tmp/snapshot -czvf system_backup.tar.gz /tmp
tar: /tmp: Directory is new
tar: /tmp/.ICE-unix: Directory is new
tar: /tmp/.Test-unix: Directory is new
tar: /tmp/.X11-unix: Directory is new
tar: /tmp/.XIM-unix: Directory is new
tar: /tmp/.font-unix: Directory is new
tar: Removing leading `/' from member names
/tmp/
/tmp/.ICE-unix/
/tmp/.Test-unix/
/tmp/.X11-unix/
/tmp/.XIM-unix/
/tmp/.font-unix/
/tmp/snapshot
[root@logstash tmp]# ls
snapshot  system_backup.tar.gz
[root@logstash tmp]# 
[root@logstash tmp]# tar -tf system_backup.tar.gz 
tmp/
tmp/.ICE-unix/
tmp/.Test-unix/
tmp/.X11-unix/
tmp/.XIM-unix/
tmp/.font-unix/
tmp/snapshot
[root@logstash tmp]#
  • 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.

原因分析:

tar 命令在压缩文件时,默认会取相对路径,不会取从根路径下来的绝对路径,所以如果待压缩

的源路径是绝对路径,便会报该错误

解决方案:

tar命令中使用-P参数即可规避该问题。

-P, --absolute-names       don't strip leading `/'s from file names;绝对路径,不从文件名中剥离“/

命令:

tar -g /tmp/snapshot -czvPf system_backup.tar.gz /tmp

#-P不能放到最后,那是因为-f表示filename,后面必须紧接要创建的文件的名称

[root@logstash tmp]# tar -g /tmp/snapshot -czvPf system_backup.tar.gz /tmp
tar: /tmp: Directory is new
tar: /tmp/.ICE-unix: Directory is new
tar: /tmp/.Test-unix: Directory is new
tar: /tmp/.X11-unix: Directory is new
tar: /tmp/.XIM-unix: Directory is new
tar: /tmp/.font-unix: Directory is new
/tmp/
/tmp/.ICE-unix/
/tmp/.Test-unix/
/tmp/.X11-unix/
/tmp/.XIM-unix/
/tmp/.font-unix/
/tmp/snapshot
[root@logstash tmp]# ls
snapshot  system_backup.tar.gz
[root@logstash tmp]# tar -tf system_backup.tar.gz 
tar: Removing leading `/' from member names
/tmp/
/tmp/.ICE-unix/
/tmp/.Test-unix/
/tmp/.X11-unix/
/tmp/.XIM-unix/
/tmp/.font-unix/
/tmp/snapshot
[root@logstash tmp]#
  • 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.