Alpine Linux package management

From Alpine Linux
Revision as of 11:56, 17 September 2007 by WikiSysop (talk | contribs) (imported page from old wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Alpine package management

Alpine has the following tools for package management:

  • apk_add
  • apk_create
  • apk_delete
  • apk_fetch
  • apk_get
  • apk_glob
  • apk_info
  • apk_version

All of these commands have a -h option, which will give you the different options they support.

Adding packages

After you booted into Alpine you have a very minimal linux install, so you might want to start installing packages. Use the following command, to install ssh:

% apk_add openssh

As you can see dependencies are automatically pulled in.

Dry-run

Sometimes you would like to see what would get installed if you install a package, or what dependencies would be pulled in by the package. You can see this using:

% apk_add -n openssh

Removing packages

Removing packages is done using:

% apk_delete openssh

To remove a package plus it's dependencies, use:

% apk_delete -R openssh

Even more dangerous is:

% apk_delete -r openssl

which will delete openssl plus all packages that depend on it.

Since removing packages (recursively) can seriously damage your system, it is best to use:

% apk_delete -n openssh

Which will not really remove the package, but just show what it would do.

Looking for packages?

To see the packages available in the repository, use:

% apk_fetch -l

Or you might use:

 % apk_fetch -l -v

Which will also show the version number of the available packages.

If the text scrolls by too fast you can use:

% apk_fetch -l | less

Info about your packages

There are several other commands that give more information about the packages installed on your system.

To see the contents of a certain package, use:

% apk_info -L openssh

To see the size of a package, use:

% apk_info -s openssh

To see all packages that depend on a package, eg zlib:

% apk_glob -r zlib

To find out to what package a certain file or directory belongs to, eg /etc/shorewall:

% apk_info -W /etc/shorewall

Upgrading alpine

The easiest way to upgrade alpine is to safe your settings to floppy or usb-key and reboot using a new CD. But there are several other possibilities a well:

  • Change the CD, but do not reboot
  • Update over network

Changing the CD, no reboot

First update the package list:

% apk_fetch -u 

Check what packages have changed version numbers

% apk_version -v

Next:

% apk_version -v -l '<'

Will show you what packages needs to be updated

The first thing to check is whether the apk-tools need to be upgraded, if so, always do this first:

% apk_add -u apk-tools

Now it is time to upgrade the other packages:

% apk_version -q -l '<' | xargs apk_add -u

After your upgrade you might find some apk-new files in /etc,these are upgraded config files. A simple utility to go over these files is:

%  update-conf -l

Update over network

This is about the same as the previous entry. The key-difference is that we will change the install-source for apk. This can be done in two ways, on the command-line, using export or changing an /etc file:

% export APK_PATH=http://dev.alpinelinux.org/alpine/v1.4/apks/ 

or edit apk.conf, and add your requested resource.

% vi /etc/apk.conf

You can use sources from:

  • cdrom
  • http(s)
  • ftp
  • rsync (remember that rsync has to be installed before you can use this! (% apk_add rsync))

After you made this change, continue as the cd-rom upgrade with, etc

% apk_fetch -u