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

[FRAGEN ZU] sources.list automatisch erstellen/upgraden

regexer

Advanced Hacker
Anbei einige Verbesserungsvorschläge für das Script 1 und 2. Manches ist vereinfacht, maches aufgrund der Sicherheit eingefügt. Kritik ist jederzeit erwünscht! Hätte es anstatt des Scripts Nr. 3 nicht ein "grep -v -f sorti.conf" getan? Das wäre dann erheblich schneller, allerdings würden dann die schönen kommentare nicht mehr funktionieren - Zumindest nicht mehr so einfach...

Außerdem wäre eine allgemeine Prozessüberwachung mit trap usw. denkbar. Was soll z.B. passieren, wenn der User das Teil mit STRG-C abbricht? Oder was soll passieren, wenn das Script parallel läuft? Aber das wäre vielleicht für dieses Zweck übertrieben.

Code:
#!/bin/bash
#
####################################################
#  download von source Listen für apt für Suse     #
#  und Aufruf von sorti.sh zur Erstellung der      #
#  source.list für apt-get                         #
# Je nach Suse-Version bitte den richtigen wget-   #
# Aufruf aktivieren!				   #
#	feel free to copy and/or modify		   #
#		01.2005				   #
####################################################
#
#

rm -f sources.list.FTP   # rm -f macht if...then...fi überflüssig

# jetzt lade die neue sources.list.FTP runter..........

# wget ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.0-i386/examples/sources.list.FTP
# wget ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.0-x86_64/examples/sources.list.FTP
# wget ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/examples/sources.list.FTP
# wget ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-x86_64/examples/sources.list.FTP
wget ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.2-i386/examples/sources.list.FTP
# wget ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.2-x86_64/examples/sources.list.FTP

retc=$?
if [ $retc -ne 0 ]     # Abbruch bei Fehler von wget
then
   echo "Fehler $retc beim Ausführen von wget! Keine Connection?"
   exit 1
fi

# .... verlange das root Passwort und rufe sorti.sh auf mit
# sources.list.FTP als Eingabe
su -c "./sorti.sh < sources.list.FTP" 
#-eof-
Code:
#!/bin/bash
#
#################################################################
#                                                               #
# sorti.sh formatiert die heruntergeladene sources.list.FTP so  #
# um, dass für jedes Repository eine eigene Zeile vorhanden ist,#
# in der konfigurationsdatei sorti.conf kann gesteuert werden   #
# welche Repositories aus der sources.list entfernt werden.	#
#	feel free to copy and/or modify				#
#		01.2005						#
#################################################################

TEMPFILE=/tmp/sources.list      # Tempfile mit Pfad, um zu verhindern, dass der aktuelle Pfad zufällig "/etc/apt" ist
FERTIG=/etc/apt/sources.list

# löschen von FERTIG.alt wird durch move erledigt

if [ -s $FERTIG ]; then      # -s ist besser, da leere Datei dann nicht gemovt wird
  mv -f $FERTIG $FERTIG.alt || ( echo "Fehler $? beim Archivieren von $FERTIG ! Fehlende Rechte?" ; exit 2 )
fi

rm -f $TEMPFILE || ( echo "Fehler $? beim Löschen von $TEMPFILE ! Fehlende Rechte?" ; exit 3 )

# Die array-Lösung funktioniert zwar in der bash und ist sicher elegant, wer aber die ksh oder anderes verwenden will ist mit folgendem besser bedient

while read line; do 
  if echo $line | grep '^#' >> $TEMPFILE   # Kommentare in file
  then
    :
  else
    set -- $line
    typ=$1
    uri=$2
    distri=$3
    shift 3
    for repository in $*
    do
      echo $typ $uri $distri $repository >> $TEMPFILE
    done
  fi
done

# cp /dev/null $FERTIG   # Sorry, aber warum das? Besser ist doch:
rm -f $FERTIG || ( echo "Fehler $? beim Ausführen von rm $FERTIG! Fehlende Rechte?" ; exit 4 )

echo "# Erstellt am `date`" > $FERTIG  # in die fertige /etc/apt/sources.list das Erstellungsdatum eintragen
cat $TEMPFILE |        # Backslash ist hier überflüssig
while read ZEILE ; do
  STOP="no"
  # Verknüpfung mit && besser. Falls .sorti.conf nicht gefunden wird ist FERTIG dannach nicht leer
  # oder soll das etwa so sein?
 . sorti.conf && [ "$STOP" == "no" ] && echo "$ZEILE" | sed s/"^rpm-src"/"# rpm-src"/g >> $FERTIG # alle rpm-srcin der Liste deaktivieren
done

#-eof-
 

gobo

Newbie
@notoxp

Hi,
ich find deine Erweiterungen absolut gut so.(DAS liebe ich so an Linux)
Das mit der sorti.conf ist eigentlich gedacht um eben die Kommentare zu haben.
Es ist zwar nicht so elegant aber dafür doch recht übersichtlich.
Entstanden ist das Ganze ja als quick hack weil ich einfach zu faul war
die sources.list per Hand aufzubauen und weil oc2pus (DANKE) so ein schönes script ins Forum gestellt hat. Dazu muss ich ehrlich sagen, dass ich nicht der "große" scripter bin (ich lerne erst) und ein anderer Weg war mir zu aufwändig.

Ich würd sagen wir könnten daraus ja eine sorti-1.1 machen, wenn du willst.

greez
gobo
 

oc2pus

Ultimate Guru
dann mach ich auch noch einen Vorschlag:

# ableiten der SuSE Version aus dem SuSE-Release File
SuSEVersion=`cat /etc/SuSE-release | grep VERSION | awk '{print $3}'`
wget ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/"$SuSEVersion"-i386/examples/sources.list.FTP

oder
SuSEVersion=`grep "VERSION" /etc/SuSE-release | sed s/'VERSION = '/''/`

Achtung:
habe aber keinen 64er hier um das für die 64 bit Versionen zu verifizieren. Wer kann das mal schnell ausprobieren ?
 
OP
regexer

regexer

Advanced Hacker
Hallo nochmal!

am Script Nr. 3 (sorti.conf) sollte man auch noch etwas tun: Dem Suchbegriff des grep sollte man ein Leerzeichen vorne und ein Dollar-Zeichen hinten hinzufügen. Zum Beispiel:
Code:
# alt: [ "`echo $ZEILE | grep -i "packman"`" != "" ] && STOP="yes"
# neu:
[ "`echo $ZEILE | grep -i " packman$"`" != "" ] && STOP="yes"
Der Grund hierfür ist, dass grep "packman" auch "packman-i686" findet. Oder auch (falls es ihn gäbe) "suser-packman". Mit dem Leer- bzw. Dollarzeichen funktioniert es richtig. Das sollte man natürlich nicht nur bei packman, sondern auch bei allen anderen greps machen.

Ansonsten sei noch angemerkt, dass es natürlich auch schnellere Lösungen für einen Ausschluss von bestimmten Wörtern gibt. Aber das ist natürlich Philosophie. Die jetztige Lösung sollte auch funktionieren.
 

Asem

Newbie
Hallo Clubber,

ich habe die Skripte von gobo, notoxp und oc2pus nochmal etwas überarbeitet und dabei hoffentlich nicht verschlimmbessert :wink: .

Das Skript sorti.sh ist jetzt mit in abgleich.sh integriert. Da ja hier auch einige Leute Probleme damit hatten, dass sorti.sh nicht gefunden werden konnte oder nicht ausführbar war, bringt das vielleicht etwas Linderung. abgleich.sh muss aber dennoch ausführbar gemacht werden:
chmod a+x abgleich.sh

oder direkt mit der Shell ausgeführt werden:

Außerdem verzichtet das jetzige Skript auf das temporäre File. Deaktivierte Repositories werden in der sources.list nur auskommentiert und nicht völlig entfernt. Und es sind noch ein paar Optimierungen am Code dabei, v. a. entfallen die vielen greps im Konfigfile, was sich spürbar auf die Geschwindigkeit auswirkt.

Viel Spaß damit.

-- asem

abgleich.sh:
Code:
#!/bin/bash

####################################################
#  download von source Listen fuer apt fuer Suse   #
#  und Aufruf von sorti.sh zur Erstellung der      #
#  source.list fuer apt-get                        #
#  feel free to copy and/or modify                 #
#      01.2005                                     #
####################################################


FERTIG="/etc/apt/sources.list"
export FERTIG


SuSEVersion="`grep 'VERSION' /etc/SuSE-release | sed 's/VERSION = //'`"

rm -f sources.list.FTP

# jetzt lade die neue sources.list.FTP runter

#-----------
# fuer 32bit Suse Versionen
#-----------

  wget "ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/$SuSEVersion-i386/examples/sources.list.FTP"

#-----------
# fuer 64bit Suse Versionen
#-----------

#  wget "ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/$SuSEVersion-x86_64/examples/sources.list.FTP"

retc=$?
if [ $retc -ne 0 ]     # Abbruch bei Fehler von wget
then
   echo "Fehler $retc beim Ausfuehren von wget! Keine Connection?"
   exit 1
fi


# Diese Funktion wird als root ausgeführt
sorti () {

  . apt-sorti.conf

  if [ -s $FERTIG ]; then
    mv -f $FERTIG $FERTIG.alt || ( echo "Fehler $? beim Archivieren von $FERTIG ! Fehlende Rechte?" ; exit 2 )
  fi

  echo "# Erstellt am `date`" > $FERTIG  # in die fertige /etc/apt/sources.list das Erstellungsdatum eintragen

  while read typ uri distri repos; do
    if echo "$typ" |grep -q '^#'; then
      # Kommentare in File belassen
      echo "$typ $uri $distri $repos" >>$FERTIG
    else
      # einzelne Repositories aufsplitten
      for repository in $repos; do
        # Repository deaktiviert?
        if exclude; then
          echo "# $typ $uri $distri $repository" >>$FERTIG
        else
          echo "$typ $uri $distri $repository" >>$FERTIG
        fi
      done
    fi
  done
}

# durch `su` wird eine neue Shell gestartet, deshalb Funktion exportieren
export -f sorti

# .... verlange das root Passwort und rufe sorti auf mit sources.list.FTP als Eingabe
exec su -c "sorti <sources.list.FTP"

#-eof-

apt-sorti.conf:
Code:
#########################################################
#       Konfigurationsdatei fuer sorti.sh               #
#                                                       #
# zum entfernen eines Repositories aus der endgueltigen #
# sources-list einfach die # vor dem entsprechenden     #
# Eintrag ENTFERNEN !                                   #
# Voreinstellung ist fuer eine "sichere" Suse 9.2       #
# sources.list.                                         #
# Bitte vor Gebrauch GENAU durcharbeiten! Ich lehne     #
# jede Verantwortung fuer zerschossene Systeme ab.      #
#       feel free to copy and/or modify                 #
#               01.2005                                 #
#########################################################


exclude () {

#--------------
# rpm-src - alle Quellpakete
#--------------

  [ "$typ" == "rpm-src" ] && return 0

#--------------
# base - alle Daten die auch auf den CD's/DVD's vorhanden sind
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "base" ] && return 0

#--------------
# update und security - updates und sicherheitspatches wie vom YOU Update
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "update" ] && return 0
#  [ "$repository" == "security" ] && return 0

#--------------
# kde - nomen est omen ;-)
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "kde" ] && return 0

#--------------
# kde3-stable - auch klar
# vorhanden in 9.1, 9.2
#--------------

#  [ "$repository" == "kde3-stable" ] && return 0

#--------------
# kde-unstable - ACHTUNG - nicht fuer Anfaenger geeignet --> GEFAHR !!
# vorhanden in 9.0, 9.0-64, 9.1, 9.2
#--------------

  [ "$repository" == "kde-unstable" ] && return 0

#--------------
# gnome und gnome2 - sollte auch klar sein
# vorhanden in 9.0, 9.1
#--------------

#  [ "$repository" == "gnome" ] && return 0
#  [ "$repository" == "gnome2" ] && return 0

#--------------
# Mozilla mit seinen Modulen, Firefox, Thunderbird
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "mozilla" ] && return 0

#--------------
# samba3 ist ja wohl selbsterklaerend ;-)
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "samba3" ] && return 0

#--------------
# kernel-of-the-day - ACHTUNG - nicht fuer Anfaenger --> GEFAHR !!
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

  [ "$repository" == "kernel-of-the-day" ] && return 0

#--------------
# funktronics - perl-Module, python-Module, BitTorrent
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "funktronics" ] && return 0

#--------------
# misc - Verschiedenes - nicht unbedingt notwendig
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2
#--------------

  [ "$repository" == "misc" ] && return 0

#--------------
# packman, packman-i686 - xine, grafik,security, network, multimedia --> EMPFEHLENSWERT !!
# packman vorhanden in 9.0, 9.1 9.2, 9.2-64
# packman-i686 vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "packman" ] && return 0
#  [ "$repository" == "packman-i686" ] && return 0

#--------------
# rpmkeys - die Signaturen der RPMs von den Paketerstellen zur Verfuegung gestellt
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "rpmkeys" ] && return 0

#--------------
# security-prpm - Wer nicht weiss was es ist sollte es so lassen wie es ist !!
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------


  [ "$repository" == "security-prpm" ] && return 0

#--------------
# suse-people - Verschiedenes - ACHTUNG - nicht unbedingt sicher !!
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

  [ "$repository" == "suse-people" ] && return 0

#--------------
# suse-projects - apache, apache2, samba, php in der neuesten Version
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "suse-projects" ] && return 0

#--------------
# suser-gbv - Azureus, amule, xmule, postfix, gambas
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "suser-gbv" ] && return 0

#--------------
# suser-guru - inkscape,c++ bindings, gnome Module, phyton Module
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "suser-guru" ] && return 0

#--------------
# suser-oc2pus - BitTornado, GTorrentViewer, Applejuice, kwavencoder --> SEHR NUETZLICH !!
# vorhanden in 9.1, 9.2
#--------------

#  [ "$repository" == "suser-oc2pus" ] && return 0

#--------------
# suser-ollakka - alles fuer xfce4
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "suser-ollakka" ] && return 0

#--------------
# suser-rbos - alles was man fuer apt, apt4rpm, synaptic, kynaptic braucht
# vorhanden in 9.0, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

#  [ "$repository" == "suser-rbos" ] && return 0

#--------------
# suser-sbarnin - dvdauthor, kavi2svcd, libdvdcss etc.
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "suser-sbarnin" ] && return 0

#--------------
# suser-scorot - apollon, giFT, Video-Bearbeitung --> NUETZLICH ;-)
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "suser.scorot" ] && return 0

#--------------
# suser-tcousin - glabels, kile, kmymoney, pan, kompose
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "suser-tcousin" ] && return 0

#--------------
# update-drpm - Wer nicht weiss wofuer, FINGER WEG !!
# vorhanden in 9.2, 9.2-64
#--------------

  [ "$repository" == "update-drpm" ] && return 0

#--------------
# update-prpm - Wer nicht weiss wofuer, FINGER WEG !!
# vorhanden in 9.0, 9.0-64, 9.1, 9.1-64, 9.2, 9.2-64
#--------------

  [ "$repository" == "update-prpm" ] && return 0

#--------------
# wine - Windows Emulator
# vorhanden in 9.0, 9.1, 9.2
#--------------

#  [ "$repository" == "wine" ] && return 0

#--------------
# ximian -
# vorhanden in 9.0, 9.1, 9.2
#--------------

  [ "$repository" == "ximian" ] && return 0

#--------------
# xorg - die aktuelle X-Server Version
# vorhanden in 9.0, 9.1, 9.2, 9.2-64
#--------------

#  [ "$repository" == "xorg" ] && return 0

#--------------
# xfree86 - die aktuelle X-Server Version
# vorhanden in 9.0, 9.1
#--------------

#  [ "$repository" == "xfree86" ] && return 0

#--------------
# suser-imorris - spamassassin, mozilla, libxine, libdvdcss, cups, k3b, gimp
# vorhanden in 9.1-64, 9.2-64
#--------------

#  [ "$repository" == "suser-imorris" ] && return 0

#--------------
# labplot -
# vorhanden in 9.0, 9.1
#--------------

#  [ "$repository" == "labplot" ] && return 0

#--------------
# suser-jogley -
# vorhanden in 9.0, 9.1
#--------------

#  [ "$repository" == "suser-jogley" ] && return 0

#--------------
# suser-kpietrz - kplayer, jam
# vorhanden in 9.1
#--------------

#  [ "$repository" == "suser-kpietrz" ] && return 0

#--------------
# suser-tux - fwbuilder, kallery, kio, kplaylistcreator, nvu
# vorhanden in 9.1
#--------------

#  [ "$repository" == "suser-tux" ] && return 0

#--------------
# usr-local-bin - ACHTUNG - HOHES RISIKO das System zu zerstoeren
# vorhanden in 9.0, 9.1
#--------------

  [ "$repository" == "usr-local-bin" ] && return 0

#--------------
# suser-rschulz - apt, gdome2, lua
# vorhanden in 9.0
#--------------

#  [ "$repository" == "suser-rschulz" ] && return 0

return 1
}

#-eof-
 

pawe

Member
Hallo APT-user,

mir ist leider ein Sicherheitsmangel an dem abgleich.sh aufgefallen:
in der apt-sorti.conf werden zwar unsichere Repositorys ausgeschlossen und auskommentiert in die sources.list übertragen. Wenn nun aber neue Repositorys hinzukommen werden sie in der sources.list nicht auskommentiert! Wenn das neue Repository unsicher ist, dann hat man beim nächsten update sich was eingehandelt. :cry:

die verbesserung:
abgleich.sh prüft ob das Repository in der apt-sorti.conf schon erwähnt ist (ob auskommentiert oder nicht!). Wenn nein handelt es sich um ein neues Repository. Dann wird ein entsprechender Eintrag in der apt-sorti.conf hinzugefügt, der das Rep. ausschließt! In die sources.list wird der Eintrag ebenfalls auskommentiert übernommen.
Der User wird durch eine Meldung in der Konsole informiert:
Code:
neues Repository: x-ati
Dann kann er sich ja über das Rep. informieren und es ggf. in die sources.list aufnehmen.

hier das überarbeitete Skript abgleich.sh
Code:
#!/bin/bash


####################################################
#  download von source Listen fuer apt fuer Suse   #
#  zur Erstellung der source.list fuer apt-get     #
#  feel free to copy and/or modify                 #
#      05.2005                                     #
####################################################


FERTIG="/etc/apt/sources.list"
export FERTIG


SuSEVersion="`grep 'VERSION' /etc/SuSE-release | sed 's/VERSION = //'`"

rm -f sources.list.FTP

# jetzt lade die neue sources.list.FTP runter

#-----------
# fuer 32bit Suse Versionen
#-----------

  wget "ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/$SuSEVersion-i386/examples/sources.list.FTP"

#-----------
# fuer 64bit Suse Versionen
#-----------

#  wget "ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/$SuSEVersion-x86_64/examples/sources.list.FTP"

retc=$?
if [ $retc -ne 0 ]     # Abbruch bei Fehler von wget
then
   echo "Fehler $retc beim Ausfuehren von wget! Keine Connection?"
   exit 1
fi


# Diese Funktion wird als root ausgeführt
sorti () {

  . apt-sorti.conf

  if [ -s $FERTIG ]; then
    mv -f $FERTIG $FERTIG.alt || ( echo "Fehler $? beim Archivieren von $FERTIG ! Fehlende Rechte?" ; exit 2 )
  fi

  echo "# Erstellt am `date`" > $FERTIG  # in die fertige /etc/apt/sources.list das Erstellungsdatum eintragen

  while read typ uri distri repos; do
    if echo "$typ" |grep -q '^#'; then
      # Kommentare in File belassen
      echo "$typ $uri $distri $repos" >>$FERTIG
    else
      # einzelne Repositories aufsplitten
      for repository in $repos; do
        # Repository deaktiviert?
        if exclude; then
          echo "# $typ $uri $distri $repository" >>$FERTIG
        else
       	  grep  '== "'$repository'"' apt-sorti.conf >& /dev/null
	  if [ $? = 1 ]; then
	    echo "# $typ $uri $distri $repository" >>$FERTIG
	    sed "/return 1/i\
# Repository hinzugefügt am `date +%d.%m.%y` \\
  [ \"\$repository\" == \"$repository\" ] && return 0 \\
" apt-sorti.conf > apt-sorti.tmp
 	    mv -f apt-sorti.tmp apt-sorti.conf
	    echo "neues Repository: $repository
"
	  else
	    echo "$typ $uri $distri $repository" >>$FERTIG
	  fi
        fi
      done
    fi
  done
  rm -f apt-sorti.tmp
  rm -f sources.list.FTP
}

# durch `su` wird eine neue Shell gestartet, deshalb Funktion exportieren
export -f sorti

# .... verlange das root Passwort und rufe sorti auf mit sources.list.FTP als Eingabe
exec su -c "sorti <sources.list.FTP"

#-eof-

Die apt-sorti.conf bleibt im Prinzip die gleiche, es hat sich lediglich ein Schreibfehler eingeschlichen: An einer Stelle heißt es suser.scorot es soll aber suser-scorot heißen (sonst findet das Skript das Repository nicht!)
 

oc2pus

Ultimate Guru
sehr gut Pawe ;)

habe dein Posting in den Ursprungsthread reinkopiert. Thx.

die "kleinen" Fehler habe ich ebenfalls korrigiert.
 
Hi Pawe!
Wollte gestern dein Scriptvorschlag umsetzen aber hat leider nicht funktioniert! Kann es sein das im Script noch Fehler sind?
z.B. Auslesen der Version
Da liest er mir meine Version nicht aus, erst nach dem ich
grep 'VERSION' auf grep "VERSION" setze funktionierts.
dann ne Frage zu:

sorti () {

. apt-sorti.conf

Soll da vor apt-sorti.conf n punkt sein oder nicht?

Soll die apt-sorti.sh und apt-sorti.conf auch irgendwie noch abgeändert werden?
Funktioniert das alles auch mit SuSE 9.3?

MfG
Johnny
 

oc2pus

Ultimate Guru
PrinzEisenherz1 schrieb:
Wollte gestern dein Scriptvorschlag umsetzen aber hat leider nicht funktioniert! Kann es sein das im Script noch Fehler sind?
z.B. Auslesen der Version
Da liest er mir meine Version nicht aus, erst nach dem ich
grep 'VERSION' auf grep "VERSION" setze funktionierts.
das liegt an der Darstellung hier im Board .. deshalb die downloadbare Version verwenden.

PrinzEisenherz1 schrieb:
dann ne Frage zu:

sorti () {

. apt-sorti.conf

Soll da vor apt-sorti.conf n punkt sein oder nicht?
ja, damit wird die Datei apt-sorti.conf in die aktuelle Datei "eingelesen" (analog einem #include bei c/c++ Programmen) und wird Bestandteil des Scriptes.

PrinzEisenherz1 schrieb:
Funktioniert das alles auch mit SuSE 9.3?
ja, da in der SuSE-Release dann ja 9.3 steht.

ABER: es gibt noch KEIN BASE-Repository für 9.3 !!
d.h. bestimmte Pakete sind noch nicht auf dem Server vorhanden NUR auf deiner DVD/CD ... du kannst diese aber in dein apt integrieren. Dazu gibt es hier auch einen Lösungsthread.
 
Erstmal danke für die schnelle Antwort!
Die DVD hab ich schon eingebunden und hab auch nen Tip bekommen wie man die in ableich.sh mit einbinden kann so das bei jedem ableich die Responsitory in die sources.list mit eingebunden wird.
Du schreibst dass das von Pawe abgeänderte Script online verfügbar sei!
Bloß wo?
Wenn ich nämlich auf folgenden link gehe dann sind das noch alte Versionen

http://www.linux-club.de/viewtopic.php?t=23969

Gibts da schon ne neue Version zum downloaden?

MfG
Johnny
 

oc2pus

Ultimate Guru
PrinzEisenherz1 schrieb:
Du schreibst dass das von Pawe abgeänderte Script online verfügbar sei!
Bloß wo?
oops, sorry, die gestrige Version von Pawe ist noch nicht online verfügbar.

müssen wir erst mal wieder schauen wo man sowas hosten kann ;)
d.h. du musst es erst mal mit abtippen bzw cut&copy erstellen, aber vorsicht: beim cut & copy werden evtl Zeilenumbrüche eingefügt wo keine hingehören...

Ich würde mir eine Version downloaden und die Pawe'schen und eine "lokalen" Ergänzungen dort einfügen.
 

pawe

Member
PrinzEisenherz1 schrieb:
grep 'VERSION' auf grep "VERSION" setze funktionierts.
sollte in diesem Fall keinen Unterschied ausmachen

PrinzEisenherz1 schrieb:
Soll die apt-sorti.sh und apt-sorti.conf auch irgendwie noch abgeändert werden?
apt-sorti.sh braucht man nicht mehr. Asem hat abgleich.sh und apt-sorti.sh zusammengefügt.
Mir scheint du verwendest noch die ganz alte Version (mit drei Dateien), dann kannst du die apt-sorti.conf NICHT verwenden! Dann ist es auch klar, warum es bei dir nicht geht.
Die apt-sorti.conf von Asem ist die richtige!
Ich habe es heute extra nochmal getestet: Den oberen Text kopiert und in kate eingefügt. Und es ging alles. :wink:

Gruß Pawe
 

Keepers

Advanced Hacker
Hab auch einfach das neue Script kopiert und ueber das alte geschrieben in Kate.
Alles wunderbar, und es heißt aber immernoch apt-sorti.sh *g*
Ist ja egal wenn man weiß was drin ist ;)
 

oc2pus

Ultimate Guru
Keepers schrieb:
Hab auch einfach das neue Script kopiert und ueber das alte geschrieben in Kate.
Alles wunderbar, und es heißt aber immernoch apt-sorti.sh *g*
Ist ja egal wenn man weiß was drin ist ;)

jetzt verwirr doch den armen PrinzEisenherz1 nicht noch mehr ;)
 
jaja, verwirrt mich noch! *lach*
Also ich hab jetzt folgendes gemacht:
apt-sorti.sh wech
apt-sorti.conf aktualliert
abgleich.sh per cut&copy neu erstellt

jetzt ist mir folgendes aufgefallen
Pawe hat doch geschrieben das wenn ne neue repository gefunden wurde dann wirft er ne Meldung über echo raus!
Bei mir tut ers irgendwie nicht!
Merkwürderlich *g*
Vielleicht doch die Finger vom Alk lassen!
 

oc2pus

Ultimate Guru
PrinzEisenherz1 schrieb:
jetzt ist mir folgendes aufgefallen
Pawe hat doch geschrieben das wenn ne neue repository gefunden wurde dann wirft er ne Meldung über echo raus!
Bei mir tut ers irgendwie nicht!
Merkwürderlich *g*
vielleicht gibt es keine neuen repositories für 9.3 zur Zeit ....

PrinzEisenherz1 schrieb:
Vielleicht doch die Finger vom Alk lassen!
kann nie schaden ... oder einen mehr lüpfen ;)
 

pawe

Member
hab grad geschaut: 9.3 hat ein repository namens x-ati (beide Strukturen), die aber in der apt-sorti.conf nicht drin ist.
=> zumindest x-ati muss als neues Repository angezeigt werden.

@PrinzEisenherz1: Wie sieht deine sources.list jetzt aus, poste mal
 
Oben