The Zenwalk way of package management is to use NetPkg.
Netpkg is designed to update the system from a central repository. It can also install new software that is not on the install CD. Netpkg has a dependency management feature, enabled by default. A blacklist section in /etc/netpkg.conf can be edited for packages that you don't want to automatically update. xnetpkg is the GTK graphical user interface version of netpkg.
netpkg can be started in graphical mode or via the terminal. The graphical front end is the easiest to use, but with less fucntionality.
Using netpkg in the Graphical Mode (xnetpkg)
XFCE menu => system > netpkg or via the ZenPanel
The Netpkg window appears, and it starts by loading a mirror database. At the moment, this version of netpkg does not work unless your box is connected to the Internet.
To select a mirror and click an downward arrow on the right. A list of available mirror address will drop down. Select a mirror which you want to use. There are 3 types of mirrors available: Current, Snapshop and Restricted.
- Current: select any of available Current mirrors if you wish to install stable packages and security fixes
- Snapshot : choose any of snapshot mirrors if you want to try out a cutting edge programs. The repository will contain the packages included in the development Zenwalk version
- Restricted: Some packages are located under a restricted mirror due to patent/legal reasons, like lame.
If you wish to edit, add mirrors that are not listed or remove mirrors, you can do so by writing down a mirror address in the box.
How to use
Netpkg has the following layout.
- Mirror selection menu
- Filters: Ticking New makes a list of uninstalled programs appear on the left. Ticking Installed shows a list of installed programs. Ticking Updates shows a list of upgradable programs available in the repository. Similarly ticking Downgrades lists available downgradable programs on the left.
- Main panel: This is where you see Categories and Program names as well as the status of each package.
- Action button: Click here after selecting package(s) to install, uninstall, upgrade or downgrade.
- Description box: This is where you get a brief description of a program you selected in Main panel
How to install a package
- Select a package you want to install on Main panel.
- Read the description of the selected program. If you are happy with the selection, tick the little box next to the package name in Main panel.
- Click Action button to proceed.
- Under the Actions window, you will find:
1. Your selection.
2. Installation button as well as an option to include all the dependency files needed for the program to function.
3. Click the little box here if you want to overwrite related congifuration files with .new config files. You can also exit this window by clicking Close.
- If you have chosen to update, downgrade or uninstall, the following action window similar to the one shown below will appear:
1. Your selection.
2. Installation button and Remove package button appear here.
Using netpkg in the Command Line Interface (netpkg)
Become root by typing su,enter your root password, and type netpkg.
The terminal version of netpkg can do a lot more than the graphical version. Netpkg's parameters are covered in the next section.
How to use
- packageX ... packageZ
A list of one or more package names to query the Internet repository for. There is no need to specify complex version numbers. For example, to check for vim-6.3.007-i486-1.tgz, just specify netpkg vim. Generic names are allowed.
When a matching package is found, netpkg will prompt for the action to perform If the installed package is an older version, the user will be prompted to upgrade it. If the installed package is the same version, the user will be prompted to reinstall it. If the package is not installed, the user will be prompted to install it. Netpkg takes the package from the local cache or downloads it. The integrity of the local package is verified, and the package is downloaded again if it is corrupted. The download option overwrites any existing package having the same name.
- install package1.tgz package2.tgz...
A list of 1 or more fully defined package filenames to query the Internet repository for. netpkg will NOT prompt for the action to perform. If the package is already installed but not in the same version, the package will be upgraded. If the package is already installed in the same version, the package will be re- installed. If the package is not installed, then Netpkg will install it. Netpkg first try to take the package from the local cache or download it. Integrity of the local package is checked : the package is downloaded again in case the local package is corrupted.
netpkg will attempt to upgrade every older installed package. Dependencies will be installed or upgraded, if needed, without prompting. A list of packages that should not be upgraded or installed can be specified in /etc/netpkg.conf by using the "Black_list" variable. Please use the "upgrade" option with caution, especially if you have a highly customized system. ALWAYS BACKUP YOUR CONFIGURATION BEFORE PROCEEDING. If you have a small storage area, set the "Keep_packages" variable in /etc/netpkg.conf accordingly.
netpkg will attempt to download packages from the Internet repository to build a local package cache. Packages will be sorted in directories matching the software categories. The location of the local cache is specified in /etc/netpkg.conf.
netpkg will list all packages on the Internet repository, and the similar locally installed versions, if they exist.
- list I
netpkg will list only packages on the Internet repository that are locally installed.
- list D
netpkg will list packages on the Internet repository newer than those locally installed. This option is useful to return to the previous repository after trying the snapshot repository.
- list N
netpkg will list packages on the Internet repository not already locally installed...
- list U
netpkg will list packages on the Internet repository that are not the same version as installed.
netpkg will search all ".new" files in /etc and prompt the user to replace original versions with these newer versions. dotnew will allow checking for differences between the current file and the .new one
netpkg will prompt you to choose a mirror from the list specified in netpkg.conf
Netpkg.conf (netpkg configuration file)
Located in the /etc directory
You will be able to change some parameters by adding or erasing the '#' symbol at the beginning of some lines to (un)comment configuration lines. Uncommented lines (those without hash marks "#") are read and executed. Here are the most useful:
- If you have to use a proxy to connect to the network, even with login and password, just complete these lines:
# If you are behind a proxy server, set these options (at least set Proxy_Socket = proxy-address:port, for example 192.168.11.1:8080 )
- If you don't want to discard the netpkg downloaded packages, change it here:
# Do you want to keep packages in the "local repository" after install or upgrade ?
Keep_packages = yes
# Keep_packages = no
- If you don't want to upgrade some packages (with the netpkg upgrade command), add them to the blacklist:
# Packages that shouldn't be installed automatically.
Black_list = aaa_base kernel kernelsource ndiswrapper
Never ever try to delist aaa_base from the Black_list. Doing so may cause Zenwalk to work properly.
- If you've got some strategic files that shouldn't be overwritten during an upgrade, add them to this list. The files will be renamed *.old, it's up to you to decide if you want to get them back or not:
# These files won't be destroyed but renamed ".old" instead, put here all your strategic
# configuration files on a single line
Protected_files = /etc/lilo.conf /etc/fstab /etc/passwd /etc/shadow
/etc/group /etc/inittab /etc/rc.d/rc.local /etc/rc.d/rc.modules
/etc/rc.d/rc.netfilter /etc/profile /etc/hosts /etc/sudoers /etc/X11/xorg.conf
Some advice for upgrading your system
First, always upgrade Netpkg:
# netpkg netpkg
Then, when you have to update "X11, XFCE, Desktop", you should do it in text mode, with leaving the graphical one
Don't be afraid, it's quite simple:
- Leave your graphical session:
Run your root Terminal, and go to init 3:
# init 3
- Do the needed update:
# netpkg xorg xorg-drivers xfce
- Go back to the graphical session, in init 4
# init 4