Development/FAQ
From Mandriva
Contents |
How to build CDs from Cooker
Use the mkcd script from the mkcd package:
mkcd -a <mandrivalinux_path>
Use the -c option to limit the number of discs:
mkcd -a -c 2 <mandrivalinux_path>
Use --discsize to select an alternative disc size (by default, images are created for 650MB discs):
mkcd --discsize 700m -a <mandrivalinux_path>
How to deal with digital signatures signing RPM packages
As root, list the keys in gpg:
gpg --list-keys
Export each key you need in ascii format:
gpg --armor --export <keyid> > <keyid>.asc
Import them in rpm (necessary for rpm >= 4.2):
rpm --import <keyid>.asc
List the keys in rpm:
rpm -q gpg-pubkey
Actually, chances are high that all of the keys in root's keyring were introduced in order to check package signatures before rpm version 4.2, which was in Mandrake 9.2 . So you can import them all -- provided you do it one by one -- as rpm doesn't support importing several keys at once. (If you are not sure about the origin of any of the keys, do check their names with gpg, for example when on line with gpg --import --interactive 1234ABCD
This script takes cares of importing all keys from the root user's key-ring:
for key in `gpg --list-keys | grep pub | tail +2 | cut -d " " -f 3 | cut -d "/" -f 2`; do gpg -export --armor $key > $key.asc rpm --import $key.asc rm -f $key.asc done
Additionaly, urpmi starting from 4.4-19mdk is by default verifying signatures.
If urpmi warns about invalid signatures the package could have been corrupted on your local mirror or during download, so you may want to try another server. Also check via Mandriva Linux Control Center > Software Management > Select from where software packages are downloaded when updating the system: the 'Manage keys' button on the right should be used to assign different keys to various media[1]. Make sure there that you have the key assgned to the particular medium you are installing from.
Alternatively you can download the package via http or ftp and check with
rpm -Kv packagename*
for the key that's in the package (if any). It will show immediately which key you are looking for, or if absent, that somewhere it was left out accidentally. In principle *all* packages from Mandriva are signed. So, if not: be wary to proceed!
For example:
xmms-eq-0.6-4mdv2007.1.i586.rpm: Header V3 DSA signature: OK, key ID 26752624 Header SHA1 digest: OK (3afae3c03cf33f925930e102c8ad37ab590342f7) MD5 digest: OK (dd33c2ddef8c65794695303284f77bae) V3 DSA signature: OK, key ID 26752624
shows the Cooker key with ID 0x26752624
The key-ids are stored in the /etc/urpmi/urpmi.cfg config file per medium. Do not edit it unless you know very well what you are doing!
What are all the different kernels in Mandriva Linux?
Mandriva Linux provides several different kernels, each optimized for specific needs. The Choosing a Kernel topic provides some clarification to help you choose which one is right for your needs.
What about other RPM-based distributions?
You have an RPM package, but it won't install under Mandriva Linux? That may be because it's meant for another distribution. For your information, here are some links to other Linux distributions that use the RPM package format.
Note: if you have installed compilers and '-devel' packages, you may also build source RPMs, which will use Mandriva's RPM settings to compile source packages. However, poorly-written source specfiles will occasionally conflict with Mandriva package names and fail build dependencies.
How to learn about Mandriva Linux and about Linux in general?
See the following topics:
- Mandriva Links - links to official Mandriva pages
- Community Links - links to valuable Mandriva community pages
- The Linux Documentation Project
- Other Distribution Links - other distribution links
Notes
- ↑ From a terminal the command name for this function is edit-urpm-sources.pl