Archiv pro měsíc: Duben 2014

SmartOS, PuTTY a klávesy HOME, END a DEL

Pokud vás také zdržuje, že ve SmartOS nefungují na konzoli klávesy HOME, END a DELETE, zde je způsob, jak to napravit.

V domovském adresáři vytvoříme soubor .inputrc s následujícím obsahem:

"\e[3~": delete-char
"\e[1~": beginning-of-line
"\e[4~": end-of-line

Díky tomuto souboru bude bash vědět, jakou funkci má pro dané klávesy použít. Změny se projeví až po opětovném přihlášení.

Co ale dělat v případě globální zóny, kdy se tento soubor po restartu ztratí? Vytvoříme si pro něj SMF službu!

Nejprve soubor .inputrc nakopírujte do adresáře /opt/custom. Pokud tento adresář nemáte vytvořen, tak jej vytvořte.

Poté vytvořte soubor /opt/custom/smf/inputrc_link.xml s následujícím obsahem:




    
        
        
        
            
        
        
            
        
        
        
        
        
            
            
        
        
        
        
    

SmartOS po restartu automaticky načítá XML soubory z tohoto adresáře, službu nám naimportuje a vyrobí link.

Malý tip na závěr: Ve SmartOS zónách je stejný problém, ačkoliv stačí jen nakopírovat soubor .inputrc do adresáře uživatele, není potřeba SMF služba. Dělat to pro každou zónu je ale otrava. Můžeme si to zjednudušit tím, že soubor nakopírujeme do šablony zóny stáhnuté přes imgadm. Např. takto pro uživatele root:

cp /root/.inputrc /zones//root/root/

Nastavení NTP v globální zóně SmartOS

V nedávné době se na internetu začala hojně zneužívat chyba v NTP serveru, který je na mnoha serverech defaultně povolen. SmartOS v tomto nebyl vyjímkou. V aktuální verzi (20140404T001635Z) je již chyba v konfiguraci NTP na SmartOS opravena, nejlepším řešením je tedy upgrade SmartOS. Pro ty, co si ale chtějí do NTP nastavit české servery tu mám krátký návod, jak ntp.conf přetížit.

Tento konfigurační soubor ntp.conf uložíme do souboru /usbkey/config.inc/ntp.conf

driftfile /var/ntp/ntp.drift
logfile /var/log/ntp.log

# by default act only as a basic NTP client
restrict -4 default ignore
restrict -6 default ignore

# allow NTP messages from the loopback address, useful for debugging
restrict 127.0.0.1
restrict ::1

# allow servers we are synchronizing with:
restrict -4 tik.cesnet.cz nomodify nopeer
restrict -4 tak.cesnet.cz nomodify nopeer
restrict -6 tik.cesnet.cz nomodify nopeer
restrict -6 tak.cesnet.cz nomodify nopeer

# server(s) we time sync to
server tik.cesnet.cz
server tak.cesnet.cz

Pokud složku config.inc ještě nemáte vytvořenou, tak ji vytvořte.

Config poté aktivujeme přidáním následujícího řádku na konec souboru /usbkey/config

ntp_conf_file=ntp.conf

Změny se projeví až po restartu stroje. Eventuelně můžete config nakopírovat do souboru /etc/inet/ntp.conf a restartovat NTP příkazem:

svcadm restart ntp

SmartOS, su a ENV proměnná HOME

Na Linuxu jsem byl zvyklý, že když zavolám su <user>, ENV proměnná HOME se nastaví na domovský adresář uživatele. Na SmartOS (nejsem si jist, jak na Solaris) se tohle ale nestane. Tohle chování mi vadilo hlavně při používání GITu. Dostal jsem tuto chybu:

fatal: unable to access '/root/.config/git/config': Permission denied

Řešení je jednoduché. Místo su použijeme příkaz sudo. Konkrétně takto:

sudo -s -u 

Abychom si to zjednodušili a nemuseli si nový příkaz pamatovat, můžeme si jej přidat jako alias do souboru ~/.bashrc

alias su='sudo -s -u'