いつも参考にさせてもらっています。
早速ですが、表題の対応を検討しているのですが、うまくできず困っています。
やりたいことは、WindowsでTar書庫生成し、Linux上で展開出来るようにしたいです。
TAR形式のファイルの書庫化/展開を「ICSharpCode.SharpZipLib」で対応を検討しています。
実際に書庫化や展開は出来たのですが、Linux環境で展開しようとした時にフォルダ生成されず
ファイル名おかしくなっています。
(Linux上で見ると、ファイル名が「フォルダ名+ファイル名」みたいに見えています。)
C#
1using (var fs = new FileStream(OutputFilePath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) 2using (TarArchive archive = TarArchive.CreateOutputTarArchive(fs)) 3{ 4 archive.AsciiTranslate = false; 5 archive.SetKeepOldFiles(false); 6 archive.SetUserInfo(0, "www", 0, "www"); 7 8 9 foreach (var file in Directory.GetFiles(TargetFolder, "*", SearchOption.AllDirectories)) 10 { 11 TarEntry entry = TarEntry.CreateEntryFromFile(file); 12 entry.Name = file.Replace(TargetFolder,""); 13 14 archive.WriteEntry(entry, false); 15 } 16 17 archive.Close(); 18}
ただ、WindowsでTarを展開すると、問題なく展開されます。
なにかLinuxとWindowsとでお作法があるのでしょうか??
指摘いただけると助かります。
協力よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/15 00:44