分享

IPKG - the Itsy Package Management System

IPKG is a very lightweight package management system. It was designed for Linux installations with severe storage limitations such as handheld computers. iPKG is more than just an embedded Linux flash image builder, (although it does that fairly well). It also allows for dynamic installation/removal of packages on a running system. 

iPKG is itsy in several ways: 
The control programs themselves are small, (currently about 13kB) 
– The installed meta-data tries to be only what is absolutely essential, (currently about 38kB for a 16MB compressed flash iPAQ distribution) 
– The available packages are small. (The idea is that the package tree should be as fine-grain as possible. Much of this still needs some work)
Configuration Files
The /etc/ipkg.conf file controls the server from which ipkg-update and ipkg-get will pull package information and packages. As of Familiar v0.7 (ipkg 0.99.87) the configuration files are as follows: 
A: /etc/ipkg.conf Defines destination locations and proxy settings (e.g. dest root /)
B: /etc/ipkg/familiar-ipaqsa.conf - Architectures listing.
C: /etc/ipkg/.conf Defines individual feed locations. 
See the comments in ipkg.conf for more details. 
How do I use it?
he ipkg program has many different sub-commands, (provided by the first command-line
argument in a manner similar to cvs). 
Here is a current snapshot of the available commands: 
  

usage: ipkg [options...] sub-command [arguments...]
where sub-command is one of:

 Package Manipulation:

update                         Update list of available packages
upgrade                        Upgrade all installed packages to
                               latest version
install                   Download and install  

                               (and dependencies)
install              Install package
configure []              Configure unpacked packages
remove                    Remove package
flag   ...         Flag package(s) 

                               (=hold|noprune|user|ok|installed|unpacked (one per invocation))

Informational Commands:

list                           List available packages and descriptions
files                     List all files belonging to
search                   Search for a package providing
info [pkg []]           Display all/some info fields for  or all
status [pkg []]        Display all/some status fields for  or all
download                  Download  to current directory.
compare_versions    (compare versions using <= < > >= = << >>)
print_architecture             prints the architecture.
print_installation_architecture
whatdepends [-A] [pkgname|pat]+
whatdependsrec [-A] [pkgname|pat]+
whatprovides [-A] [pkgname|pat]+
whatconflicts [-A] [pkgname|pat]+
whatreplaces [-A] [pkgname|pat]+

Options:
-A                             Query all packages with whatdepends,

                               whatprovides, whatreplaces, whatconflicts
-V                      Set verbosity level to . If no value is
--verbosity             provided increase verbosity by one. Verbosity levels:

0 errors only
1 normal messages (default)
2 informative messages
3 debug output

-f                  Use  as the ipkg configuration file
-conf               Default configuration file location

                               is /etc/ipkg.conf
-d                  Use  as the the root directory for
-dest               package installation, removal, upgrading.

                                should be a defined dest name 

                               from the configuration file, (but can also

                               be a directory name in a pinch).
-o               Use  as the root directory for
-offline         offline installation of packages.
-verbose_wget                  more wget messages

Force Options (use when ipkg is too smart for its own good):

-force-depends                 Make dependency checks warnings instead of
errors and install/remove package in spite offailed dependences

-force-defaults                Use default options for questions asked 

                               ipkg. (no prompts). Note that this will not

                               prevent package installation scripts from

                               prompting.

-force-reinstall               Allow ipkg to reinstall a package.

-force-overwrite               Allow ipkg to overwrite files from another

                               package during an install.

-force-removal-of-dependent-packages

-force_space                   Install even if there does not seem to be

                               enough space.

-noaction                      No action -- test only

-nodeps                        Do not follow dependences

-recursive                     Allow ipkg to remove package and all that

                               depend on it.

-test                          No action -- test only

-t                             Specify tmp-dir.

--tmp-dir                      Specify tmp-dir.

Examples:
Install the ftp program:
ipkg install ftp
Install from an url (ipkg version >=0.9):
ipkg install http://url/to/some/package.ipk

Perform a limited local "ipkgfind" (assuming you've already run ipkg update):
ipkg list|grep searchstring

#技術分享 
分類:學習

評論
上一篇
  • 下一篇
  • 更多文章
    載入中... 沒有更多了