草庐IT

Tar-Archive

全部标签

戈朗 : file extracted from tar throws permissions error

我已经编写了以下代码来对文件进行压缩,代码可以正常工作,但奇怪的是,如果我解压缩存档,文件权限就会消失,所以我无法读取它,除非我随后对文件进行chmod:packagemainimport("archive/tar""io/ioutil""log""os")funcmain(){c,err:=os.Create("/path/to/tar/file/test.tar")iferr!=nil{log.Fatalln(err)}tw:=tar.NewWriter(c)f,err:=os.Open("sample.txt")iferr!=nil{log.Fatalln(err)}fi,err

go - 如何将 tar 文件放入 golang 的 tar 文件中

我想创建一个tar文件,我想在该tar文件中放入其他tar文件。层次结构类似于TopLevelTar.tar.gz|-->primary/primary.tar|-->secondary/secondaty.tar|-->tertiary/tertiary.tar我怎样才能在golag中做到这一点? 最佳答案 我想这可能对您有所帮助。基本上,这个解决方案是从多个文件创建一个tarball。您只需提供文件路径即可代替a.go和b.go等packagemainimport("archive/tar""compress/gzip""io"

go - tar存档保留硬链接(hard link)

使用Go中的archive/tar包,似乎无法访问文件具有的硬链接(hardlink)的数量。但是,我记得在某处读过,将目录或文件作为目标文件可以保留硬链接(hardlink)。Go中有一些软件包可以帮助我做到这一点吗? 最佳答案 tar确实保留了硬链接(hardlink)。这是一个示例目录,其中包含三个硬链接(hardlink)文件和一个具有单个链接的文件:foo%vdir.total16-rw-r--r--3kostixkostix5Jul1219:37bar.txt-rw-r--r--3kostixkostix5Jul1219

go - 如何在go中解压tar.gz文件?

这个问题在这里已经有了答案:Readcontentsoftarfilewithoutunzippingtodisk(3个答案)关闭3年前。我有一个名为file.tar.gz的文件,里面有一个文件夹。使用go我想解压并保存在当前目录下的文件夹。我在论坛上找到了这些代码,但它不适用于我的情况。packagemainimport("archive/tar""compress/gzip""io""log""os")funcExtractTarGz(gzipStreamio.Reader){uncompressedStream,err:=gzip.NewReader(gzipStream)ife

go - 使用 archive/zip 处理嵌套的 zip 文件

我正在努力处理Go中嵌套的zip文件(其中一个zip文件包含另一个zip文件)。我正在尝试递归一个zip文件并列出它包含的所有文件。archive/zip为您提供了两种处理zip文件的方法:zip.NewReaderzip.OpenReaderOpenReader打开磁盘上的文件。NewReader接受一个io.ReaderAt和一个文件大小。当您使用其中任何一个遍历压缩文件时,您会为zip中的每个文件得到一个zip.File。要获取文件f的文件内容,您可以调用f.Open,它会为您提供一个zip.ReadCloser。要打开嵌套的zip文件,我需要使用NewReader,但是zip.

ubuntu - dpkg : error processing archive/var/cache/apt/archives/golang-1. 6-go_1.6.2-0ubuntu5~16.04.2_amd64.deb (--unpack):

当我运行sudoapt-get-finstall时,它显示dpkg:错误处理。请在下面找到完整的日志并建议如何解决这个问题。我在Ubuntu16.04上运行VB5.0.10,并且已经安装了go1.8并且运行良好sudoapt-get-finstallReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DoneCorrectingdependencies...DoneThefollowingpackageswereautomaticallyinstalledandarenolongerrequ

在 golang 中导入存档/tar 时 docker run 失败

我试图让一个在cmd行上运行的golang程序在docker容器中运行,但是导入archive/tar会导致错误。这个有效:packagemainimport("fmt")funcmain(){fmt.Println("success!")}产生输出:liamgotest$dockerrun-itgotestsuccess!Thisdoesnot:packagemainimport("archive/tar""fmt")var_=tar.TypeRegfuncmain(){fmt.Println("success!")}产生输出:liamgotest$dockerrun-itgotes

go - 是否可以在 golang 中提取 tar.xz 包?

是否可以在golang中提取tar.xz包?我的理解是可以将库用于tar并将其发送到xzgo库。 最佳答案 我最近创建了一个XZdecompressionpackage现在是这样可以仅使用Go代码提取tar.xz。以下代码将文件myfile.tar.xz提取到当前目录:packagemainimport("archive/tar""fmt""io""log""os""github.com/xi2/xz")funcmain(){//Openafilef,err:=os.Open("myfile.tar.xz")iferr!=nil{l

string - 使用 Go 的 archive/zip 创建带有 Unicode 文件名的 zip 存档

packagemainimport("archive/zip""fmt""io""os""path/filepath""strings")funcmain(){var(Path=os.Args[1]Name=os.Args[2])File,_:=os.Create(Name)PS:=strings.Split(Path,"\\")PathName:=strings.Join(PS[:len(PS)-1],"\\")os.Chdir(PathName)Path=PS[len(PS)-1]deferFile.Close()Zip:=zip.NewWriter(File)deferZip.C

c - 使用 Go 1.5 buildmode=c-archive 和从 C 链接的 net/http.Server

即将发布的Go1.5附带newbuildmodes它允许导出要从C代码链接和调用的Go符号。我一直在玩弄它,并获得了基本的“Helloworld”示例,但现在我试图链接一个启动net/http.Server的Go库,但它失败了。代码如下所示(it'salsoavailablehere):gohttplib.go:packagemainimport"C"import"net/http"//exportListenAndServefuncListenAndServe(caddr*C.char){addr:=C.GoString(caddr)http.ListenAndServe(addr,