![]()
(Laatst bijgewerkt op 19 februari 2008)
Als je een van de pakketten van Linux Standard Base lsb, Red Hat rpm, Stampede slp en Slackware tgz direct installeert, dan passeer je het Debian packaging systeem. Dit systeem zorgt er namelijk voor dat je, behalve het pakket makkelijk kan installeren, dat je het ook weer gemakkelijk kan verwijderen. Sterker nog zo’n pakket wordt getest of het voldoet aan de Debian policy.
Alien biedt je de mogelijkheid pakketten van LSB, Red Hat, Stampede en Slackware te converteren in Debian pakketten, welke met dpkg kunnen worden geïnstalleerd.
Voor rpm conversie is alien zeer goed te gebruiken.
Zie voor eventuele verschillen de Package format comparison table.
Eerst gaan we alien installeren. Ga naar Systeem –> Beheer –> ‘Synaptic Pakketbeheer’. In het ‘Synaptic Pakketbeheer’ venster, klik op Zoeken in de werkbalk. In het Zoeken venster vul alien in en klik op de Zoeken button. In het rechter venster van het ‘Synaptic Pakketbeheer’ venster, klik met de rechter muisknop op de naam alien en selecteer ‘Markeer voor installatie’. Accepteer het ‘Benodigde veranderingen markeren’ venster door op op de Markeren button te klikken.
Voor het controleren of het geconverteerde pakket aan de Debian policy voldoet hebben we lintian nodig. Zoek naar lintian zoals hierboven omschreven voor alien en markeer dit pakket ook.
Klik op nu Toepassen in de werkbalk van het ‘Synaptic Pakketbeheer’ venster.
Nu alien en lintian geïnstalleerd zijn, kunnen we pakketten gaan converteren naar een .deb pakket. We kunnen dit op twee manier doen.
(N.B. Ik gebruik even naampakket.rpm wat op bijv. het Bureaublad staat om te converteren als voorbeeld.)
1. Eerst converteren, checken en dan installeren.
1.1. Converteren en checken
Converteren en checken doen we in een stap door de volgende commando’s in een terminalvenster uit te voeren:
cd $HOME/Bureaublad
sudo alien -k -T naampakket.rpm
De optie -k zorgt er voor dat je het originele versienummer van het te converteren pakket behoudt. De optionele optie -T checkt met behulp van lintian of het pakket aan de Debian policy voldoet en laat de output zien.
He pakket alien creëert een .deb pakket in de folder waar je bovenstaand commando uitvoert, dus vandaar dat je het beste eerst een cd (change directory) commando kan uitvoeren.
Als je errors (E) krijgt dan moet je zelf even afwegen of je wilt doorgaan of niet. Hou in je achterhoofd dat dit niet betekent dat je het pakket niet kan installeren of dat het na installatie niet werkt. Het kan zijn dat het rpm pakket niet alle paden volgens de Debian policy gebruikt, maar het pakket werkt wel.
| OPTIONEEL: Als je wilt zien wat de correcte policy is moet je het volgende commando in het terminalvenster uitvoeren:
Let op: je moet het debian pakket controleren met lintian! Je kan ook met:
controleren wat de pakketstructuur is die alien creeert. De -g optie genereert namelijk twee folders:
Na controle kunnen deze folders worden verwijdert door het commando:
Let op dat je de correcte namen specificeert en gebruik geen * anders ben je het originele pakket (in ons voorbeeld naampakket.rpm) en het geconverteerde pakket (in ons voorbeeld naampakket.deb) ook kwijt! |
1.2. Het geconverteerde pakket installeren
Het geconverteerde pakket kan je nu installeren (als je dat tenminste nog wilt) door het volgende commando in het terminalvenster uit te voeren:
sudo dpkg -i naampakket.deb
2. Alles in een keer
Je kan het te converteren pakket ook in een keer converteren en installeren door het volgende command in een terminalvenster te gebruiken:
sudo alien -i -T naampakket.rpm
Het hoeft denk ik geen betoog dat methode 1. het veiligst is.
The finishing touch
Als het een goed samengesteld pakket is dan staat die applicatie zelfs in het menu. Als dat niet zo is, kan je zelf een menu item aan maken door naar Systeem –> Voorkeuren –> Hoofdmenu te gaan en daar onder de gewenste folder een item te maken door op de ‘Nieuw item button’ te klikken. In het ‘Starter aanmaken’ venster vul het volgende in:
- bij type kan je kiezen tussen Toepassing, Terminaltoepassing en Locatie
- bij naam vul je de naam van je pakket in
- bij de opdrachtregel vul je het pad waar het pakket staat. Gebruik de Bladeren button om het pakket te zoeken. Als je het pakket moet uitvoeren als root zet je sudo voor de opdrachtregel. Als het pakket een grafische interface heeft en root nodig heeft dan zet je gksu voor de opdrachtregel. Zie (een willekeurig) voorbeeld van een menu-item.

Voor alien kan je geen menu-item maken, omdat dit commando volledig in een terminvenster moet uitvoeren en deze niet interactief is.
P.S. Afhankelijkheden worden (jammer genoeg) niet opgelost door alien!!!! Deze ontdek je pas na het uitvoeren van het pakket na installatie. Je zult zelf in ‘Synaptic pakketbeheer’ naar de afhankelijkheid moet zoeken en deze installeren.


