package install

import "github.com/containerd/containerd/cmd/ctr/commands/install"

Index

Variables

var Command = cli.Command{
	Name:        "install",
	Usage:       "Install a new package",
	ArgsUsage:   "<ref>",
	Description: "install a new package",
	Flags: []cli.Flag{
		cli.BoolFlag{
			Name:  "libs,l",
			Usage: "Install libs from the image",
		},
		cli.BoolFlag{
			Name:  "replace,r",
			Usage: "Replace any binaries or libs in the opt directory",
		},
		cli.StringFlag{
			Name:  "path",
			Usage: "Set an optional install path other than the managed opt directory",
		},
	},
	Action: func(context *cli.Context) error {
		client, ctx, cancel, err := commands.NewClient(context)
		if err != nil {
			return err
		}
		defer cancel()
		ref := context.Args().First()
		image, err := client.GetImage(ctx, ref)
		if err != nil {
			return err
		}
		var opts []containerd.InstallOpts
		if context.Bool("libs") {
			opts = append(opts, containerd.WithInstallLibs)
		}
		if context.Bool("replace") {
			opts = append(opts, containerd.WithInstallReplace)
		}
		if path := context.String("path"); path != "" {
			opts = append(opts, containerd.WithInstallPath(path))
		}
		return client.Install(ctx, image, opts...)
	},
}

Command to install binary packages

Source Files

install.go

Version
v1.7.20
Published
Jul 18, 2024
Platform
windows/amd64
Imports
3 packages
Last checked
6 seconds ago

Tools for package owners.