• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[HOWTO] Suse DVD in apt integrieren.

Status
Für weitere Antworten geschlossen.

ojkastl

Hacker
Also, hier kommt die Schritt-für-Schritt-Anleitung, soweit ich sie jetzt liefern kann. Anmerkungen willkommen.

Ich geh mal davon aus, dass apt läuft, und eine sources.list vorhanden ist. D.h. man kann dann apt4rpm installieren
Code:
apt install apt4rpm

2. Man kopiere die DVD in ein Verzeichnis, ich hab sie in
Code:
/Daten4/DVD_Suse_91
kopiert, d.h. dadrin liegen die Verzeichnisse, wie media.1, suse etc.

3. Ich habe mein Repository nach
Code:
/Daten4/DVD_Suse_91
gelegt, der Pfad wird im folgenden verwendet.

Dann hab ich die aptate.conf angepasst:

Code:
<?xml version='1.0' encoding="iso-8859-1"?>
<!DOCTYPE opt SYSTEM "/usr/share/apt4rpm/aptate.dtd">

<opt signed-pkgs-only="no">

 
 <topdir>/Daten4/DVD_Suse_91/</topdir>

 
 <distribution id="suse91">
  <name>Suse</name>
  <version>9.1</version>
  <architecture>i386</architecture>

  <component>
   <name>Suse_DVD_RPMs</name>
   <url>suse</url>
	<accept>/i386/|/i586/|/i686/|/noarch/</accept>
  </component>
 </distribution>
</opt>

hier tauchen auf:
- das TopDir /Daten4/DVD_Suse_91/
Da kommt nachher auch das Repository rein, in ein Verzeichnis namens apt, also nach /Daten4/DVD_Suse_91/apt

- name, version und architecture sind bei mir Suse 9.1 auf i386

- die component, die ich "Suse_DVD_RPMs" genannt habe

- die url, d.h. das Verzeichnis in dem aptate nach RPMs sucht.
WICHTIG: Die url-Angabe ist relativ zum TopDir,
Code:
<url>suse</url>
bezeichnet also

Code:
/Daten4/DVD_Suse_91/suse/

nicht

Code:
/suse

Bei mir sind in suse die Verzeichnisse i586, i686, noarch und setup, wobei setup keine RPMs enthält. Damit man die alle erwischt, hab ich die accept-Zeile eingefügt, die alles mit i386, i586, i686 und noarch akzeptiert.
Ich merke gerade, die Zeile braucht man nicht. Man könnte auch Verzeichnisse ausschliessen, mittels reject (siehe Posting von Oc2pus). Naja, so sieht man das Prinzip.

4. Dann hab ich in der

Code:
/etc/apt/sources.list

die vorhandenen Zeilen auskommentiert (# davor setzen), und folgendes eingefügt:

Code:
#
# Repository created by: aptate (version 0.67)
# At: Thu Jun  3 14:04:23 MEST 2004
# More info about aptate at: http://apt4rpm.sourceforge.net
#
rpm      file:/Daten4/DVD_Suse_91/apt Suse/9.1-i386  Suse_DVD_RPMs
#rpm      ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386  rpmkeys base update-prpm update kde gnome gnome2 ...

Die zweite Zeile ist auskommentiert, ich hab sie nur der Übersichtlichkeit halber dringelassen. Was steht da jetzt eigentlich?
Also,

- die Adresse des Repositorys, hier file:/Daten4/DVD_Suse_91/apt
- dann kommt ein Leerzeichen
- dann Name, Version und Architektur des verwendeten Linux (hier Suse/9.1-i386)
- dann kommt ein Leerzeichen
- dann die Komponente die ich da kriege (hier Suse_DVD_RPMs)

5. Wenn die Einträge in der sources.list und in der aptate.conf fertig sind, tut es ein
Code:
aptate
und anschliessend ein
Code:
apt update

Das kann durchaus dauern, bei mir waren es insgesamt ca. 3500 Pakete. Dann schaut man mal nach /Daten4/DVD_Suse_91/apt, da gibt es dann die folgende verzeichnisstruktur:
Code:
/Daten4/DVD_Suse_91/apt/Suse/9.1-i386
und darin

Code:
base
examples
RPMS.Suse_DVD_RPMs
SRPMS.Suse_DVD_RPMs

In RPMS.Suse_DVD_RPMs findet sich dann z.B.

Code:
lrwxrwxrwx  1 root root 43 2004-12-16 22:06 a2ac-1.1-514.i586.rpm -> ../../../../suse/i586/a2ac-1.1-514.i586.rpm
d.h. die RPMs sind dahin verlinkt worden.
SRPMS.Suse_DVD_RPMs ist leer, es waren ja keine Source-RPMs da. In examples findet sich eine Beispiel-Source.list, die für das Repository stimmt. Und in base finden sich die Paketlisten für das Repository.

6. Dann kann man nach einem RPM suchen, ich hab 3d_chess genommen, was nach dem apt update gefunden wurde.

Code:
RobinLinux:/Daten4/DVD_Suse_91/apt/Suse/9.1-i386/base # apt search 3d_chess
3d_chess - 3D Chess
RobinLinux:/Daten4/DVD_Suse_91/apt/Suse/9.1-i386/base #

7. Damit ist man erstmal fertig, man sollte nur nicht vergessen, die auskommentierten Zeilen in der sources.list wieder zu "entkommentieren", und anschliessend ein apt update machen, was dann natürlich länger dauert, da ja mehr Quellen vorhanden sind.

8. Freuen!
 

oc2pus

Ultimate Guru
super erklärt :)

Ich verstehe nur nicht warum du die Repositories vom Server ausklammerst.
Dein eigenes Repository ist der Inhalt der DVD, die remote Repositories auf dem Server enthalten doch grade die updates und goodies wie packman etc. Du kannst ruhig beide gleichzeitig aktivieren.

Da es zur Zeit kein base-Repository gibt übernimmt diese Rolle dein eigenes Repository.

Und wer wenig Plattenplatz hat, könnte auch die DVD in das angelegte Verzeichnis mounten. Das restliche Verfahren bleibt dann gleich. Die DVD muss dann natürlich dauerhaft eingelegt und gemountet bleiben wenn man mit apt arbeitet.

Ansonsten: Hut ab super erklärt ;)

p.s. Ändere den Topic im ersten Post von dir in "SuSE 9.2 DVD in apt integrieren" ab und schreibe an den Moderator eine pn der markiert es dann als wichtig!
 
OP
O

ojkastl

Hacker
Hallo,

ich hab die Server ausgeklammert, damit ich weiss obs geht! Damit ich nicht beim Suchen nach 3d_chess eins auf einem Server finde, aber nicht das auf der DVD. Darum steht auch ganz unten die Zeilen wieder zu "entkommentieren".
 

oc2pus

Ultimate Guru
Saber_Rider schrieb:
Hallo,

ich hab die Server ausgeklammert, damit ich weiss obs geht! Damit ich nicht beim Suchen nach 3d_chess eins auf einem Server finde, aber nicht das auf der DVD. Darum steht auch ganz unten die Zeilen wieder zu "entkommentieren".

Tip: mit
Code:
apt policy 3d_chess
könntest du die Quellen für dieses Paket verifizieren. Falls es auf deiner DVD und auf dem Server vorhanden ist, erhälst du dann mindestens zwei Ergebnisse...

Beispiel:
Code:
apt policy java-1.5.0-sun
java-1.5.0-sun:
  Installed: 0:1.5.0-3jpp
  Candidate: 0:1.5.0-3jpp
  Version Table:
 *** 0:1.5.0-3jpp 0
        500 file: SuSE/9.1-i386/EigenePakete-9.1 pkglist
        100 RPM Database
==> das Paket java-1.5.0-sun ist installiert und NUR in meinem Repository enthalten.

Code:
apt policy mkvtoolnix
mkvtoolnix:
  Installed: 0.9.5-1
  Candidate: 1.0.1-1
  Version Table:
     1.0.1-1 0
        500 file: SuSE/9.1-i386/EigenePakete-9.1 pkglist
 *** 0.9.5-1 0
        500 http://ftp.gwdg.de SuSE/9.1-i386/suser-scorot pkglist
        100 RPM Database
==> das Paket mkvtoolnix existiert auf dem Server UND in meinem lokalen Repository. Installiert ist zur Zeit 0.9.5-1, aber apt würde gerne (Candidate) 1.0.1-1 installieren
 
OP
O

ojkastl

Hacker
Na, das ist doch mal eine gute Nachricht. Man lernt eben nicht aus.
Dann bräuchte man die Verrenkung mit der sources.list natürlich nicht.

Wo ich grad dabei bin:
Vielen vielen Dank für deine Hilfe!
 

oc2pus

Ultimate Guru
hier noch eine wichtige Ergänzung zu diesem Thread:
http://www.linux-club.de/viewtopic.php?t=31942

thx to taki !
 
Status
Für weitere Antworten geschlossen.
Oben