Development/FAQ

From Mandriva

Jump to: navigation, search
Mandriva Linux Cooker FAQ


Contents

[edit]

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>

[edit]

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!

[edit]

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.

[edit]

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.

[edit]

How to learn about Mandriva Linux and about Linux in general?

See the following topics:

[edit]

Notes

  1. From a terminal the command name for this function is edit-urpm-sources.pl
Personal tools