Paket installiert sich immer automatisch

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
saltemohn
Beiträge: 5
Registriert: 22.09.2014 19:42:35

Paket installiert sich immer automatisch

Beitrag von saltemohn » 24.09.2014 20:22:25

Hallo Leute,
ich hab keine Ahnung, wo das reinmuss, habe aber das für am besten passend gefunden. Also;
Ich will etwas installierten, was Ruby1.8 braucht. Mein Problem:
Immer wählt er mir automatisch das Paket Ruby1.9 hinzu, wodurch das Programm nicht mehr funktioniert. Gibt es eine Möglichkeit, dieses Programm "auszuschliessen"?

Über eine Antwort würde ich mich freuen,
LG, saltemohn

Benutzeravatar
hikaru
Moderator
Beiträge: 13968
Registriert: 09.04.2008 12:48:59

Re: Paket installiert sich immer automatisch

Beitrag von hikaru » 24.09.2014 20:39:07

Debianruby1.8 stellt Debianruby bereit ("Provides"). Wenn du also ein Paket hast, das von Debianruby abhängt, aber explizit Ruby 1.8 benötigt, dann musst du Debianruby1.8 vor deinem Paket installieren.
Für nähere Infos müsstest du mal die control-Datei aus deinem Debianpaket zeigen.

saltemohn
Beiträge: 5
Registriert: 22.09.2014 19:42:35

Re: Paket installiert sich immer automatisch

Beitrag von saltemohn » 24.09.2014 20:44:41

Wie genau lasse ich mir die anzeigen?
Also, installieren tue ich sie so:

wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh

Ich habe schon probiert, mit
apt-get remove ruby1.9
das Paket zu deinstallieren, aber es installiert sich immer wieder neu :(

Benutzeravatar
hikaru
Moderator
Beiträge: 13968
Registriert: 09.04.2008 12:48:59

Re: Paket installiert sich immer automatisch

Beitrag von hikaru » 24.09.2014 21:08:02

Das Problem liegt in dem Script das du runterlädst. Da gibt es diese Zeile:

Code: Alles auswählen

apt-get -y install ruby rubygems libsqlite3-ruby libopenssl-ruby rake
Die Installiert dir automatisch Debianruby, wobei der Symlink /etc/alternatives/ruby (worauf wiederum /usr/bin/ruby verlinkt) auf /usr/bin/ruby1.9.1 gesetzt wird.
Was du brauchst ist aber, dass /usr/bin/ruby (direkt oder indirekt) auf /usr/bin/ruby1.8 verweist.

Bevor du das Script also ausführst musst du es irgendwie reparieren. Das ginge z.B. indem du obige Zeile so anpasst noch bevor Debianruby installiert ist:

Code: Alles auswählen

apt-get -y install ruby1.8 rubygems libsqlite3-ruby libopenssl-ruby rake
Alternativ könntest du auch während Debianruby1.8 installiert ist nach der apt-get-Zeile, aber vor dem Ruby-Versionscheck den Symlink auf Ruby 1.8 umlenken:

Code: Alles auswählen

rm -f /usr/bin/ruby && ln -s /usr/bin/ruby1.8 /usr/bin/ruby
So oder so, hinterher wäre Ruby 1.8 deine Standard-Ruby-Version. Falls das wirklich dein Vorhaben ist würde ich die erste Variante bevorzugen, da dann kein unützes Ruby 1.9 rumliegt.
Alternativ könntest du auch versuchen herauszufinden ob Ruby 1.9 wirklich nicht mit der Software funktioniert. Und falls doch könntest du den Versionscheck aus dem Script nehmen.

In jedem Fall solltest du den Scriptautoren von dem Problem in Kenntnis setzen.

saltemohn
Beiträge: 5
Registriert: 22.09.2014 19:42:35

Re: Paket installiert sich immer automatisch

Beitrag von saltemohn » 24.09.2014 21:47:30

Danke für deine Antwort, ich werds morgen ausprobieren und dann sagen, ob es geht

uname
Beiträge: 12481
Registriert: 03.06.2008 09:33:02

Re: Paket installiert sich immer automatisch

Beitrag von uname » 24.09.2014 21:55:24

Ich würde einfach das Script ai.sh entsprechend ändern. Das "apt-get" rauswerfen und die benötigten Pakete (dann die richtige Version) manuell installieren. Fertig. Im übrigen ein Zeichen von etwas schlechter Programmierung. Normalerweise würde man das Zeug in zwei deb-Files (Ubuntu und Debian) packen und entsprechend in debian/control die Abhängigkeiten eintragen. Mag aber daran liegen, dass es auch für RedHat und Fedora funktionieren soll.

Benutzeravatar
hikaru
Moderator
Beiträge: 13968
Registriert: 09.04.2008 12:48:59

Re: Paket installiert sich immer automatisch

Beitrag von hikaru » 24.09.2014 23:33:52

uname hat geschrieben:Ich würde einfach das Script ai.sh entsprechend ändern. Das "apt-get" rauswerfen und die benötigten Pakete (dann die richtige Version) manuell installieren.
Gute Idee!
uname hat geschrieben:Im übrigen ein Zeichen von etwas schlechter Programmierung. Normalerweise würde man das Zeug in zwei deb-Files (Ubuntu und Debian) packen und entsprechend in debian/control die Abhängigkeiten eintragen. Mag aber daran liegen, dass es auch für RedHat und Fedora funktionieren soll.
In dem Fall würde man einfach noch ein paar RPMs zur Verfügung stellen wenn es sauber sein soll.
Distributionsübergreifende Installer sind immer haarig, insbesondere wenn dabei die selben Paketformate (deb: Debian,Ubuntu; rpm: Red Hat, Fedora) verwendet werden. Abgesehen davon sehe ich in dem Script auf Anhieb nichts was sich nicht mit einem sauberen Debianpaket (und vermutlich auch RPM) erschlagen ließe. Im Grunde zeigt das Script nur, dass sich der Autor nicht mit Paketverwaltungen auseinandergesetzt hat.

uname
Beiträge: 12481
Registriert: 03.06.2008 09:33:02

Re: Paket installiert sich immer automatisch

Beitrag von uname » 25.09.2014 03:46:57

Im übrigen kann es auch gefährlich sein ein Script als root auszuführen ohne es je gelesen zu haben. Es hätte auch vielleicht gereicht, wenn der Autor die ganzen Abhängigkeiten in Textform formuliert hätte und gar nicht im Script aufgeführt hätte. Vieleicht wäre das Script dann auch als normaler Anwender nutzbar. Ob dem so ist weiß ich nicht, da ich es nicht wirklich gelesen habe. Ausführen würde ich es als root sowieso nicht ohne es vollkommen verstanden zu haben.

Benutzeravatar
hikaru
Moderator
Beiträge: 13968
Registriert: 09.04.2008 12:48:59

Re: Paket installiert sich immer automatisch

Beitrag von hikaru » 25.09.2014 07:18:48

Es schreibt nach /opt und /etc/init.d , root-Rechte sind also nötig.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Paket installiert sich immer automatisch

Beitrag von KBDCALLS » 25.09.2014 12:10:11

Ein

Code: Alles auswählen

apt-cache show ruby
hätte aber Licht ins Dunkel gebracht.
Depends: ruby1.9.1 (>= 1.9.3.194-1)
Suggests: ri, ruby-dev
Conflicts: irb, rdoc
Breaks: apt-listbugs (<< 0.1.6)
Description-de: Interpreter der objektorientierten Skript-Sprache Ruby
Ruby ist die interpretierte Skript-Sprache für schnelles und leichtes
objektorientiertes Programmieren. Sie bietet viele Möglichkeiten, um
Text-Dateien zu verarbeiten und Systemmanagement-Aufgaben (wie in Perl) zu
erledigen. Sie ist einfach, klar und erweiterbar.
.
Dieses Paket ist ein Abhängigkeitspaket, das von Debians Ruby-Standardversion
abhängt (zurzeit 1.9.3)
Installiere nur Ruby 1.8 und Ruhe is im Karton.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten