IPKG Download

Status
Für weitere Antworten geschlossen.

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.300
Punkte für Reaktionen
2.863
Punkte
423
Kann ich bestätigen. Der Server ist wieder erreichbar.
Code:
DS209> ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.300
Punkte für Reaktionen
2.863
Punkte
423
Nochmal zu dem leidigen Problem mit dem Pfad.

Ich hab bei mir mal folgende echo-Ausgaben eingebaut:

/etc/profile
Code:
#/etc/profile: system-wide .profile file for ash.
[B]echo "Executing /etc/profile ..."[/B]
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
PGDATA=/var/service/pgsql
export PATH PGDATA
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1="`hostname`> "
alias dir="ls -al"
alias ll="ls -la"
ulimit -c unlimited

#verdreht am 12.08.2009 gm um Plattenzugriffe zu minimieren
#PATH=/opt/bin:/opt/sbin:$PATH
PATH=$PATH:/opt/bin:/opt/sbin
#Mailstation (12.04.2010 gm)
PATH=$PATH:/usr/syno/mailstation/sbin:/usr/syno/mailstation/bin

/root/.profile
Code:
#/etc/profile: system-wide .profile file for ash.
[B]echo "Executing /root/.profile ..."[/B]
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
export PATH
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1="`hostname`> "
alias dir="ls -al"

Beim Anmelden kommt nun
Code:
 login as: root
root@DS209's password:


BusyBox v1.16.1 (2011-09-04 02:17:45 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Executing /etc/profile ...
Executing /root/.profile ...
DS209>
Beide Dateien werden also durchlaufen. Alle Pfad-Änderungen addieren sich. Letztendlich sitzt PATH auf
Code:
DS209> echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin:/opt/sbin:/usr/syno/mailstation/sbin:/usr/syno/mailstation/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin
Sicherlich nicht schön, da einiges unnötigerweise mehrfach enthalten ist, ist aber halt so default. Für funktionierendes "ipkg update" ist nur wichtig, dass der erste Treffer von wget im Pfad die Version von optware ist. Ob man dies dadurch erreicht, dass man /opt/bin/wget nach /usr/syno/bin kopiert oder /opt/bin in den Pfad vorne aufnimmt, ist zunächst mal egal. Wo die aufgerufene Version herkommt zeigt "which wget" (bei mir /usr/syno/bin/wget, welches aber bei eine Kopie von /opt/bin/wget ist und nicht mehr das Original).

Ich hoffe, es ist jetzt etwas klarer, wie der letztendlich gültige Pfad zustande kommt.

Edit:
Und noch ein Hinweis: Das ganze gilt nur für interaktive Logins. Shell-Scripts, die z.B. per cron laufen, müssen ihren Pfad selbst setzen oder eines oder beide profiles "sourcen" (z.B. ". /etc/profile"). Der Punkt+Leerzeichen am Zeilenanfang wirkt wie ein Include, also so, wie wenn der komplette Code aus /etc/profile an dieser Stelle stünde.

Gruß
Benares
 
Zuletzt bearbeitet:

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.208
Punkte für Reaktionen
63
Punkte
114
Nochmal zu dem leidigen Problem mit dem Pfad.

Ich hab bei mir mal folgende echo-Ausgaben eingebaut:

/etc/profile
Code:
#/etc/profile: system-wide .profile file for ash.
[B]echo "Executing /etc/profile ..."[/B]
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
PGDATA=/var/service/pgsql
export PATH PGDATA
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1="`hostname`> "
alias dir="ls -al"
alias ll="ls -la"
ulimit -c unlimited

#verdreht am 12.08.2009 gm um Plattenzugriffe zu minimieren
#PATH=/opt/bin:/opt/sbin:$PATH
PATH=$PATH:/opt/bin:/opt/sbin
#Mailstation (12.04.2010 gm)
PATH=$PATH:/usr/syno/mailstation/sbin:/usr/syno/mailstation/bin

/root/.profile
Code:
#/etc/profile: system-wide .profile file for ash.
[B]echo "Executing /root/.profile ..."[/B]
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
export PATH
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1="`hostname`> "
alias dir="ls -al"

Beim Anmelden kommt nun
Code:
 login as: root
root@DS209's password:


BusyBox v1.16.1 (2011-09-04 02:17:45 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Executing /etc/profile ...
Executing /root/.profile ...
DS209>
Beide Dateien werden also durchlaufen. Alle Pfad-Änderungen addieren sich. Letztendlich sitzt PATH auf
Code:
DS209> echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin:/opt/sbin:/usr/syno/mailstation/sbin:/usr/syno/mailstation/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin
Sicherlich nicht schön, da einiges unnötigerweise mehrfach enthalten ist, ist aber halt so default. Für funktionierendes "ipkg update" ist nur wichtig, dass der erste Treffer von wget im Pfad die Version von optware ist. Ob man dies dadurch erreicht, dass man /opt/bin/wget nach /usr/syno/bin kopiert oder /opt/bin in den Pfad vorne aufnimmt, ist zunächst mal egal. Wo die aufgerufene Version herkommt zeigt "which wget" (bei mir /usr/syno/bin/wget, welches aber bei eine Kopie von /opt/bin/wget ist und nicht mehr das Original).

Ich hoffe, es ist jetzt etwas klarer, wie der letztendlich gültige Pfad zustande kommt.

Edit:
Und noch ein Hinweis: Das ganze gilt nur für interaktive Logins. Shell-Scripts, die z.B. per cron laufen, müssen ihren Pfad selbst setzen oder eines oder beide profiles "sourcen" (z.B. ". /etc/profile"). Der Punkt+Leerzeichen am Zeilenanfang wirkt wie ein Include, also so, wie wenn der komplette Code aus /etc/profile an dieser Stelle stünde.

Gruß
Benares

Danke für diese ausführliche Erklärung, aber das bringt uns ja leider auch nicht weiter!
Wir haben in beiden profile Files am Anfang /opt/bin:/opt/sbin stehen und trotzdem passt der export PATH nicht.

Wird uns wohl nichts anderes bleiben als den opt-wget in den Ordner usr/syno/bin zu kopieren.
Ständig den Pfad anzupassen ist öde...
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.300
Punkte für Reaktionen
2.863
Punkte
423
Warum benutzt du Full-Quotes, wenn als grad eins darüber steht?
Hast du mal die echo-Kommandos eingebaut?
Werden die Scripts beim Login durchlaufen?

Ein wenig musst du schon selbst tun ;-)
 

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.208
Punkte für Reaktionen
63
Punkte
114
Warum benutzt du Full-Quotes, wenn als grad eins darüber steht?

Sorry war keine Absicht!

Hast du mal die echo-Kommandos eingebaut?
Werden die Scripts beim Login durchlaufen?

Habs soeben probiert, werden beide durchlaufen (zuerst etc/profile dann root/.profile)

echo $PATH wirft bei mir folgendes aus:
Rich (BBCode):
/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.300
Punkte für Reaktionen
2.863
Punkte
423
Dann kann ich mir nicht vorstellen, dass /opt/bin:/opt/sbin:... nicht vorne stehen sollte, wenn du in /root/.profile am Ende folgendes einbaust

/root/.profile
Code:
...
PATH=/opt/bin:/opt/sbin:$PATH
export PATH
#zum Test:
echo "Pfad am Ende von /root/.profile: $PATH"
es sei denn, dass es noch ein Script gibt, dass beim Login anschliessend noch durchlaufen wird und nochwas davor setzt.
 
Zuletzt bearbeitet:

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.208
Punkte für Reaktionen
63
Punkte
114
Hallo Benares,

danke für deine Hilfe, jetzt hat es geklappt!

In der root/.profile stand "export PATH" bereits drinnen, hab nun einfach die Pfadangabe davorgesetzt
Rich (BBCode):
PATH=/opt/bin:/opt/sbin:$PATH


PS.:

Zuvor hatte ich immer direkt vor dem bereits eingetragenen PATH noch zusätzlich dies hier gesetzt:

Rich (BBCode):
export PATH=/opt/bin:/opt/sbin:$PATH

Das klappte natürlich nicht!
 

rauppe31

Benutzer
Mitglied seit
06. Jun 2011
Beiträge
2.734
Punkte für Reaktionen
0
Punkte
82
Darf ich nochmals fragen:

Wie sehen die Dateien /root/.profile und /etc/profile bei dir jetzt aus?
 

laserdesign

Benutzer
Mitglied seit
11. Jan 2011
Beiträge
2.532
Punkte für Reaktionen
38
Punkte
94
Hallo,
bei mir sehen die Dateien so aus:

.profile

Rich (BBCode):
#/etc/profile: system-wide .profile file for ash.
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
export PATH
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1='\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
#PS1="`hostname`> "
alias dir="ls -al"

/etc/profile

Rich (BBCode):
#/etc/profile: system-wide .profile file for ash.
PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
PGDATA=/var/service/pgsql
export PATH PGDATA
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
EDITOR="/opt/bin/vim"
export PATH EDITOR
PS1='\[\033[01;33m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
alias dir="ls -al"
alias ll="ls -la"
ulimit -c unlimited
PATH=/opt/bin:/opt/sbin:$PATH

und ich habe damit keine Probleme
 

rauppe31

Benutzer
Mitglied seit
06. Jun 2011
Beiträge
2.734
Punkte für Reaktionen
0
Punkte
82
Danke jetzt funktionierts bei mir auch.
 

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.208
Punkte für Reaktionen
63
Punkte
114
Meine sehen so aus und funktionieren auch:

root/.profile

Rich (BBCode):
#/etc/profile: system-wide .profile file for ash.
PATH="$PATH:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
PATH=/opt/bin:/opt/sbin:$PATH
export PATH
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1="`hostname`> "
alias dir="ls -al"


etc/profile

Rich (BBCode):
#/etc/profile: system-wide .profile file for ash.
PATH="$PATH:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin"
umask 022
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
#        stty erase
#fi
PGDATA=/var/service/pgsql
export PATH PGDATA
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1="`hostname`> "
alias dir="ls -al"
alias ll="ls -la"
ulimit -c unlimited
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.300
Punkte für Reaktionen
2.863
Punkte
423
Wenn ihr jetzt noch "schön" machen wollt, werft bitte die vielen doppelten Verzeichnisse raus. Jedes Verzeichnis einmal im Pfad reicht.
Ihr wisst ja jetzt, dass zunächst /etc/profile, dann noch /root/.profile beim Anmelden ausgeführt werden, und sich die ganzen Pfadmanipulationen addieren.
Wenn PATH in /etc/profile gesetzt wird, muss man nicht alles nochmal in /root/.profile verdoppeln. Eigentlich gehört in /root/.profile nur das rein, was für root in Ergänzung zu /etc/profile anders/erweitert sein soll. Von daher kann in /root/.profile einiges raus.

Ich weiss, dass schon die Default-profiles von Synology das nicht gerade "schön" machen.

Gruß
Benares
 

rauppe31

Benutzer
Mitglied seit
06. Jun 2011
Beiträge
2.734
Punkte für Reaktionen
0
Punkte
82
Schon klar, dass diese Files nicht so schön aussehen. Aber Hauptsache es funktioniert.;)
 

laserdesign

Benutzer
Mitglied seit
11. Jan 2011
Beiträge
2.532
Punkte für Reaktionen
38
Punkte
94
Also ich finde das meine Profile so okay sind. Bin aber für Verbesserungsvorschläge offen.
 

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.208
Punkte für Reaktionen
63
Punkte
114
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat