deb

package module
v0.0.0-...-e2730d1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2021 License: MIT Imports: 15 Imported by: 1

README

这是什么

这是一个简单的 go 模块,提供类似 archive/tar 的 API,用于读写 Debian deb

例子

func main() {
	debFile := "./test.deb"
	f, _ := os.Open(debFile)
	defer f.Close()
	r := deb.NewReader(f)
	for {
		header, err := r.Next()
		if err == io.EOF {
			break
		}
		if strings.HasPrefix(header.Name, "DEBIAN/control") {
			data, _ := ioutil.ReadAll(r)
			log.Println("control file", string(data))
		}
		if strings.HasPrefix(header.Name, "data")  && !header.FileInfo().IsDir() {
			log.Println("data file", header.Name, header.Size)
		}
	}
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoSupportVersion = errors.New("Not support version")
	ErrUnknownExtension = errors.New("Unknown extension name")
)

ErrNoSupportVersion 不支持的debian包版本,目前只支持2.0

Functions

This section is empty.

Types

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

Reader Deb包读取,类似tar的API

func NewReader

func NewReader(r io.Reader) *Reader

NewReader 解析读取deb包,类似tar的操作

func (*Reader) Next

func (deb *Reader) Next() (*tar.Header, error)

Next 类似 tar.Reader.Next

func (*Reader) Read

func (deb *Reader) Read(b []byte) (int, error)

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

Writer Deb包Writer,类似tar的API

func NewWriter

func NewWriter(w io.Writer) *Writer

func (*Writer) Close

func (w *Writer) Close() error

func (*Writer) Write

func (w *Writer) Write(b []byte) (int, error)

func (*Writer) WriteHeader

func (w *Writer) WriteHeader(head *tar.Header) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL