IPKG Download

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
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.
 
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:
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...
 
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 ;-)
 
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
 
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:
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!
 
Darf ich nochmals fragen:

Wie sehen die Dateien /root/.profile und /etc/profile bei dir jetzt aus?
 
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
 
Danke jetzt funktionierts bei mir auch.
 
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
 
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
 
Schon klar, dass diese Files nicht so schön aussehen. Aber Hauptsache es funktioniert.;)
 
Also ich finde das meine Profile so okay sind. Bin aber für Verbesserungsvorschläge offen.
 
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