jak zajistit, aby unixová služba viděla proměnné prostředí?
<p>proměnnou prostředí jsem nastavil pomocí <code>/etc/profile</code>:</p><pre><code>export var=/home/userhome </code></pre><p>pak pokud ano <code>echo $var</code> ukazuje <code>/home/userhome</code></p><p>ale když jsem vložil odkaz na tuto proměnnou do <code>/etc/init.d/servicename</code>, nemůže najít tuto proměnnou. když spustím <code>service servicename status</code> použitím <code>/etc/init.d/servicename</code> soubor s následujícím obsahem:</p><pre><code>case "$1" in status) cd $var/dir ;; esac </code></pre><p>říká <code>/dir: no such file or directory</code></p><p>ale funguje to, když spustím <code>/etc/init.d/servicename status</code> namísto <code>service servicename status</code></p><p>jak mohu přimět unixovou službu, aby viděla proměnné prostředí?</p>
<p>problém je, že <code>service</code> odstraní všechny proměnné prostředí, ale <code>term</code>, <code>path</code> a <code>lang</code> což je dobrá věc. pokud provádíte skript přímo, nic neodstraňuje proměnné prostředí, takže všechno funguje.</p><p>nechcete se spoléhat na proměnné vnějšího prostředí, protože při spuštění proměnná prostředí pravděpodobně neexistuje a váš init systém ji pravděpodobně stejně nenastaví.</p><p>pokud se přesto chcete na takové proměnné spolehnout, vytvořte soubor a přečtěte si z něj proměnné, např. vytvořit <code>/etc/default/servicename</code> s obsahem:</p><pre><code>var=value </code></pre><p>a zdroj z vašeho init skriptu, např .:</p><pre><code>[ -f /etc/default/service-name ] &amp;&amp; . /etc/default/service-name if [ -z "$var" ] ; then echo "var is not set, please set it in /etc/default/service-name" &gt;&amp;2 exit 1 fi case "$1" in status) cd "$var"/dir ;; esac </code></pre>
V minulosti jsem se s tim setkal, myslim ze mi pomohlo nastavit sit pomoci pruvodce (ve win XP) a potom si prenastavit ip adresy rucne. Mam dojem, ze v systemu musi byt povoleny uzivatel guest (pro lokalni prihlaseni lze zakazat), jinak se pta na heslo. Prave pruvodce by tyhle blbosti mel nastavit... C/Users/jméno. Jedná se o skrytý adresář a je třeba ho napřed zviditelnit. slo by to blokovanim na tom centralnom FW, kedze je to linux, tak by to asi slo pekne naskriptovat, aby sa v danom case zamenil jeden konfiguracny subor s pravidlami za iny konfiguracny subor s pravidlami a restartla sa sluzba.  
  
pripadne by to slo aj tymi lokalnymi obmedzeniami s dobre chranenymi pravami, ale to nie je velmi 'elegantne' riesenie ![](/Client.Images/smileys/3.gif) Skontroluj premenné prostredia "tmp", "temp", či majú plné prístupové práva, users, system, trustedinstaller, administrators.Pri sťahovaní dát (ak nie je výrobcom SW určené inak), sa ukladá vo väčšine záložný súbor do zložky; C:\Users\users\AppData\Local\Temp\*.*Aktivuj swap (pagefile) aspoň na 512MB alebo nastav na max. 4096MB. <p>musíte upravit <code>/etc/fstab</code> a přidejte nový odkládací oddíl.</p><pre><code>sudo nano /etc/fstab </code></pre><p>musíte přidat řádek, který vypadá</p><pre><code>uuid=735b3be3-779c-4d21-a944-b033225f3ab4 none swap sw 0 0 </code></pre><p>a pomocí příkazu získáte uuid</p><pre><code>sudo blkid /dev/sda3 </code></pre><p>(nahradit <code>/dev/sda3</code> s příslušným názvem zařízení; abychom viděli příslušné jméno zařízení, můžeme použít <code>lsblk</code> - jak bylo řečeno <a href="https://askubuntu.com/a/333604/925128">zde</a> ).</p><h3>příbuzný:</h3><ul> <li> <a href="https://askubuntu.com/q/54221/40581">jak editovat soubory v terminálu pomocí nano?</a> </li> </ul> <p>stačí použít <a href="https://linux.die.net/man/1/chsh"><code>chsh</code></a> :</p><pre><code>chsh -s $(which zsh) </code></pre><p><strong> bez </strong> <code>sudo</code> by mělo fungovat. pokud použijete <code>sudo</code>, nezmění shell nikoliv pro vašeho pracovního uživatele, ale pro <em> root</em></p><p>nakonec <strong> se odhlaste z počítače a přihlaste se zpět </strong>.</p><p>odstraňování problémů:</p><ul> <li>máte nainstalován zsh (ii)? <code>dpkg -l zsh</code></li> <li>je vaše shell nastavena na zsh? poslední pole <a href="https://linux.die.net/man/5/passwd"><code>grep $user /etc/passwd</code></a> </li> <li>je zsh <a href="https://linux.die.net/man/5/shells">platné přihlašovací prostředí</a> ? <code>grep zsh /etc/shells</code></li> </ul> Jdou, ale co jsi použil? Pro Bart PE potřebuješ dva soubory z win servru2003 a nastavit středoevropské prostředí nebo použít Reatogo.www.reatogo.de ... Byl jsem schopen přijít na to problém ... Ukazuje se, že když jsem prohlásil nového poskytovatele mapa stránek v rámci web.config, jsem se nastavit hodnotu defaultProvider. Jakmile se výchozí poskytovatel nastaví název nové poskytovatele, vše fungovalo, jak se očekávalo.



```
<siteMap enabled="true" defaultProvider="CPSiteMap">
  <providers>
    <add name="CPSiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="AccountMaintenance.sitemap" />
  </providers>
</siteMap>

```

Doufám, že to pomůže někdo jiný. a načo? nainštaluj si tam čo potrebuješ a nastav ako predvolené spust si IE, nastroje->moznosti internetu->docasne soubory internetu->nastaveni->presunout slozku