Archiwum miesiąca: październik 2013

rm z pipe’m, czyli jak posprzątać po przypadkowym wypakowaniu archiwum nie tam gdzie się chciało

Czasem w ramach roztargnienia zdarza się nam narozrabiać. Ja dzisiaj rozpakowałem sobie archiwum w miejsce, w którym mam sporo innych plików… Zrobił się konkretny bajzel, także trzeba było posprzątać.

Pierwsze co mi przyszło do głowy, to wyświetlić zawartość archiwum, użyć | rm -rf i tyle, ale okazuje się, że nie da się tak przekazać listy plików do rm i koniec. Jak zawsze z pomocą przyszedł Pan Gugiel, a właściwe rozwiązanie problemu to:

tar -tf nazwaarchiwum.tar | xargs rm -f

Proste.

UltraVNC – zmiana kursora na normalny

Standardowo UltraVNC zamiast kursora używa mało widocznej kropki. Jak dla mnie niewidocznej i przez to wkurzającej. Żeby nie było zbyt prosto twórcy aplikacji nie przewidzieli konfiguracji wyglądu kursora w ustawieniach konfiguracyjnych, ba uruchomienie viewera z opcją /? nie pokazuje niczego co mogłoby się kojarzyć z kursorem… a jednak to tam leży rozwiązanie.

Viewera należy uruchamiać z opcją /normalcursor.

Taka 'ukryta funkcja’ 😉

W ramach kosmetyki można też w samej konfiguracji zaznaczyć sobie opcję „Don’t show remote cursor”.

Nie pokazuj zdalnego kursora

UltraVNC – odświeżanie ekranu – potrzebny driver

Na jednej z używanych przeze mnie maszyn okazało się, że metoda opisana wcześniej w poście UltraVNC – problemy z odświeżaniem ekranu nie zadziałała wystarczająco dobrze.

Konieczne było dogranie po stronie serwera drivera video, o którym wspominałem na koniec.

Jak się za to zabrać? Przede wszystkim trzeba pobrać kolejny pakiet ze strony UltraVNC: http://www.uvnc.com/downloads/mirror-driver.html lub w razie problemów ściągnąć tę kopię. (wersja z 28.10.2013)

Po zainstalowaniu pakietu (może być potrzebny reboot), należy skonfigurować samo UltraVNC, w tym celu w zakładce 'Screen Capture’ sprawdzamy czy driver działa poprawnie 'Check the Mirror Driver’. Jeżeli tak, to włączamy go przez zaznaczenie opcji 'Use mirror driver’.

uvnc video driver konfiguracja
UltraVNC video driver konfiguracja

Teraz należy uruchomić serwer VNC ponownie i problem z odświeżaniem powinien się skończyć.

bash/sed parser .ini

Potrzebowałem dzisiaj prosty parser, dla pliku konfiguracyjnego w moim skrypcie pisanym w bashu. Padło na .ini i genialne wygooglowane rozwiązanie

 

#!/bin/bash
CONFIG_FILE="config.ini"
SECTION="section_1"

eval `sed -e 's/[[:space:]]*\=[[:space:]]*/=/g' \
          -e 's/;.*$//' \ -e 's/[[:space:]]*$//' \
          -e 's/^[[:space:]]*//' \
          -e "s/^\(.*\)=\([^\"']*\)$/\1=\"\2\"/" \
          < $CONFIG_FILE \
          | sed -n -e "/^\[$SECTION\]/,/^\s*\[/{/^[^;].*\=.*/p;}"`

Co ważne autor pomysłu udostępnia go zgodnie z zasadami licencji WTFPL. 😉

Oryginał dostępny tu: http://www.tuxz.net/blog/archives/2011/10/19/parse__ini_files_with_bash_and_sed/

OpenVMS AUDIT z wykorzystaniem ACL

OpenVMS ma bardzo ciekawie rozwiązaną funkcjonalność audytowania. Istnieje możliwość zdefiniowania precyzyjnego logowania mnóstwa czynności. Zarówno globalnie, jak i lokalnie.

Interesowało mnie wyświetlenie na ekranie informacji o tym, że ktoś czyta jeden z plików tekstowych.

$ set security/ACL=(ALARM=SECURITY, ACCESS=READ) TEST.TXT

Takie ustawienie ACL spowoduje,  że przy próbie przeczytania pliku TEST.TXT na konsoli bezpieczeństwa pojawi się informacja o takim zdarzeniu.
Oczywiście globalnie musimy mieć włączony audyt dla acl’i, ale jest to opcja włączona by default.

Sprawdzenie jakie opcje security ustawiliśmy dla danego pliku:

$ show security test.txt

Jeżeli chcemy, żeby informacja o dostępie do naszego TEST.TXT została nie tylko wyświetlona na konsoli, ale też zlogowana:

$ set security/ACL=(AUDIT=SECURITY, ACCESS=READ) TEST.TXT

Oczywiście można logować zdarzenia oparte nie tylko o próbę READ. Jest ich sporo, a przetestowane przeze mnie to:

  • READ
  • WRITE
  • EXECUTE
  • DELETE
  • CONTROL
  • FAILURE
  • SUCCESS

Oczywiście można je ze sobą mieszać.

READ+WRITE+DELETE

Kasowanie ustawień ACL z naszego pliku:

$ SET SECURITY/ACL/DELETE TEST.TXT

 

 

EmuVM – Emulator Alphy

Kolejny (po FreeAXP) testowany przeze mnie emulator systemu opartego o procesory Alpha to EmuVM.

Strona produktu: http://www.emuvm.com/alphavm_free.php

W porównaniu z FreeAXP darmowa wersja przede wszystkim pozwala wykorzystać 512MB ram.

Dodatkowo, co z mojego punktu widzenia jest niesamowicie ważne, emulator ten działa na Linuksie. Najnowsze wersje tylko na 64bit, ale to w zasadzie dobrze 🙂

Z dobrych wieści dotyczących emulacji, ważne są wyniki benchmarków. Według producenta emulator odpalony na współczesnym x86_64, zjada najmocniejsze Alphy pod względem wydajności. Niedługo będę weryfikował te informacje i pewnie uda mi się wrzucić wyniki testów w innym wpisie.

OpenVMS: Konfiguracja i startowanie TCP/IP

Do konfigurowania różnych elementów OpenVMS’a używa się kreatorów. Wszelkie kwestie związane z TCP/IP ustalamy z kreatora:

$ @SYS$MANAGER:TCPIP$CONFIG.COM

Z poziomu konfiguratora można zmienić parametry na 'żywym systemie’, można też wyłączyć i włączyć wszystkie usługi związane z TCP/IP.

Alternatywnie włączenie 'sieci’ można zrealizować przez wykonanie komendy:

@SYS$STARTUP:TCPIP$STARTUP

Niegłupim pomysłem jest dopisanie jej do skryptów startowych. VMS 'out of box’ nie uruchamia TCP/IP przy starcie.