Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

1.3.14

Switched from Console.app to multitail

With Console.app I had the problem that when I switched to output /var/log/apache2/error_log I didn't see
/var/log/system.log and yesterday I read http://kkovacs.eu/cool-but-obscure-unix-tools and found multitail so I played with it.

I'm currently running the following setup on OSX Mountain Lion

mike@mikembp:~$ cat bin/multitail-log.sh
#!/bin/bash

multitail -s 2 /tmp/lsof-net.log \
    /var/log/apache2/error_log \
    /var/log/system.log -I /var/log/wifi.log -I /var/log/mail.log \
    /var/log/mysql.log

I had to make a crontab to get /tmp/lsof-net.log file, because multitail -R 2 -l "lsof lsof -RPi4 +c15" was crashing with "Operation not permitted". I think the problem is that lsofon Mac is in /usr/sbin. Crons minimal execution is every minute so I had to call the desired command 29 times with 2 second sleep.

mike@mikembp:~$ cat bin/cron-netlog.sh
#!/bin/bash

# crontab -e
# * * * * * /Users/mike/bin/cron-netlog.sh

LOGFILE=/tmp/lsof-net.log

for (( i=1; i <= 29; i++ ))
do
    /usr/sbin/lsof -RPi4 +c15 | grep -v -e rtorrent -e Mail -e Last | awk '{print $1,$2,$3,$4,$9,$10}' | column -t >> $LOGFILE
    sleep 2
done

mike@mikembp:~$ cat .crontab
# ~/.crontab
#
# Run:
# crontab ~/.crontab

MAILTO=user@example.com

* * * * * ~/bin/cron-netlog.sh

mike@mikembp:~$ crontab .crontab

22.2.14

Kali Linux install fail

I tried to install Kali in VBox with 4GB and for the second time on 8GB which wasn't enough, according to /var/log/syslog

So I checked the install docs and there was the answer how much should I use. So it's good to go throught the install docs before installing at http://docs.kali.org/installation/kali-linux-hard-disk-install and check the requirements.

After installing the system takes 9.7GB

21.2.14

Filesystem Hierarchy Standard

I just came across of Filesystem Hierarchy Standard (FHS). It is a standard that consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.
The guidelines are intended to support interoperability of applications, system administration tools, development tools, and scripts as well as greater uniformity of documentation for these systems.

The following directories, or symbolic links to directories, are required in /.


Directory Description
/bin Essential command binaries
/boot Static files of the boot loader
/dev Device files
/etc Host-specific system configuration
/lib Essential shared libraries and kernel modules
/media Mount point for removeable media
/mnt Mount point for mounting a filesystem temporarily
/opt Add-on application software packages
/sbin Essential system binaries
/srv Data for services provided by this system
/tmp Temporary files
/usr Secondary hierarchy
/var Variable data

Official site http://www.pathname.com/fhs/

Great description and examples of Linux commands

Found a great description of some Linux commands at http://www.linfo.org/command_index.html which I definitely recommend for newbies. Some of my favourits:
mike@jarvis:/media/sdb1/www$ find . -type d -exec sudo chmod 0775 {} \;
mike@jarvis:/media/sdb1/www$ find . -type f -exec sudo chmod 0664 {} \;

mike@mikembp:~$ tail -f /var/log/apache2/error_log
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/imagick.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/imagick.so, 9): Library not loaded: /opt/local/lib/libpng15.15.dylib\n  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20090626/imagick.so\n  Reason: image not found in Unknown on line 0
[Fri Feb 21 05:03:12 2014] [notice] Digest: generating secret for digest authentication ...
[Fri Feb 21 05:03:12 2014] [notice] Digest: done
[Fri Feb 21 05:03:12 2014] [info] Init: Seeding PRNG with 144 bytes of entropy
[Fri Feb 21 05:03:12 2014] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Fri Feb 21 05:03:13 2014] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Fri Feb 21 05:03:13 2014] [info] Init: Initializing (virtual) servers for SSL
[Fri Feb 21 05:03:13 2014] [info] mod_ssl/2.2.24 compiled against Server: Apache/2.2.24, Library: OpenSSL/0.9.8y
[Fri Feb 21 05:03:13 2014] [notice] Apache/2.2.24 (Unix) DAV/2 PHP/5.3.26 mod_ssl/2.2.24 OpenSSL/0.9.8y configured -- resuming normal operations
[Fri Feb 21 05:03:13 2014] [info] Server built: Jul  7 2013 18:05:17

mike@mikembp:~$ id
uid=501(mike) gid=20(staff) groups=20(staff),401(com.apple.access_screensharing),503(access_bpf),0(wheel),12(everyone),33(_appstore),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),100(_lpoperator),204(_developer)

mike@mikembp:~$ du -sh /Users/mike/Movies/movie/
 29G    /Users/mike/Movies/movie/

mike@mikembp:~$ ps -ef |grep -i little
    0   112     1   0  5:03AM ??         0:20.64 /Library/Little Snitch/Little Snitch Daemon.bundle/Contents/MacOS/Little Snitch Daemon
  501   675   662   0  5:03AM ??         2:22.88 /Library/Little Snitch/Little Snitch Agent.app/Contents/MacOS/Little Snitch Agent
  501   686   662   0  5:03AM ??         0:54.07 /Library/Little Snitch/Little Snitch Network Monitor.app/Contents/MacOS/Little Snitch Network Monitor -psn_0_49164
  501 17552   782   0  7:59AM ttys004    0:00.00 grep --colour=auto --exclude-dir=.svn -i little

mike@mikembp:~/Sites$ sudo chown -R mike:_www *

mike@mikembp:~$ rsync -zva --progress Dropbox/bookmarks-firefox.json mike@jarvis:.
building file list ...
1 file to consider
bookmarks-firefox.json
      156268 100%   14.72MB/s    0:00:00 (xfer#1, to-check=0/1)

sent 36818 bytes  received 42 bytes  4336.47 bytes/sec
total size is 156268  speedup is 4.24

1.11.12

WakeOnLan z Macu

Po upgrade na nový OSX som bol nútený znova spojazdniť zaslanie Magic Packetu môjmu backup notebooku.  Po úspešnom nainštalovaní macports podľa návodu na oficiálnej stránke som inštaloval utilitu wakeonlan:

$sudo port install wakeonlan

Ako ďalší krok nasledovalo zisťit MAC adresu backup notebooku, na ktorom beží Linux, tak z výstupu príkazu ifconfig som skopíroval HWaddr.
$ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1a:6b:6c:08:e0  
          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:6bff:fe6c:8e0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:208 errors:0 dropped:0 overruns:0 frame:0
          TX packets:251 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:30099 (30.0 KB)  TX bytes:34089 (34.0 KB)
          Memory:ee000000-ee020000

MAC adresu som pridal do bash skriptu, ktorý som nazval wake_jarvis-om :)
#!/bin/bash
wakeonlan 00:1a:6b:6c:08:e0
Už len uložiť a spraviť skript spustiteľný.
$chmod +x ~/Dropbox/bin/wake_jarvis

Po spustení by mal byť výstup vyzerať nejako takto:
Sending magic packet to 255.255.255.255:9 with 00:1a:6b:6c:08:e0
A mašina s danou MAC adresou by sa mala "zobudiť". K fungovaniu je predpoklad, že daná mašina podporuje WakeOnLan. Tiež som musel v BIOSe zapnúť.

2.5.09

Nastavenie Lenovo ThinkPad SL kláves

Klávesové skratky v Ubuntu 9.04


Pri prvom spustení vyzeralo, že funguje všetko, ale klávesy na regulovanie jasu a hlasitosti (Volume Up, Volume Down a Mute) nefungovali. Dôvod je, že SL séria ani nepatrí medzi ThinkPady, lebo má firmware IdeaPadov a tak nefunguje známy thinkpad_acpi kernel module, ktorý má práve spomínané klávesy sprístupniť. Našťastie tento problém som nemal sám a tak pán Alexandre Rostovtsev (tetronimo) vytvoril ešte neoficiálny kernel modul.

Modul je voľne dostupný na stiahnutie na stránke github.com/tetromino/lenovo-sl-laptop/tree/master




Ako postupovať


Po stiahnutí modulu:



  1. rozbaliť do adresára /usr/src

  2. potom ísť do vypakovaného adresára a skompilovať modul s príkazom make all

  3. po skompilovaní treba modul skopírovať medzi ostatné moduly s príkazom sudo cp lenovo-sl-laptop.ko /lib/modules/`uname -r`/kernel/drivers/misc

  4. treba rebuildnúť závislosti(dependencies) medzi modulmi sudo depmod

  5. nakoľko thinkpad_acpi modul nejde, tak ho blacklistneme s editovaním súborusudo gedit /etc/modprobe.d/blacklist

  6. do súboru pridať riadokblacklist thinkpad-acpi

  7. treba editovať súborsudo gedit /etc/init.d/hotkey-setup

  8. pridať riadky za do_video echo 0 > /sys/module/video/parameters/brightness_switch_enabled a modprobe lenovo-sl-laptop

  9. treba editovať súbor sudo gedit /etc/modprobe.d/lenovo-sl-laptop.conf a pridať riadok options lenovo-sl-laptop control_backlight=1

  10. už len ostáva sudo /etc/init.d/hotkey-setup stop

    sudo /etc/init.d/hotkey-setup start
    a skúsiť klávesy ;)




Návod je preklad zo stránky http://gianlucamagalotti.wordpress.com/2009/02/16/lenovo-thinkpad-sl-series-hotkeys/, kde nájdete ešte ako 'hacknúť' Fn+F8 (ultranav)

19.4.09

Subversion SVN repozitár

Čo je Subversion?


SVN je systém na správu verzií. Primárne sa používa na správu zdrojového kódu pri vývoji. Udržiava viacero verzií, hodí sa v prípade, že sa niečo pokazí a musíte sa vrátiť ku staršej verzii. Umožňuje aby viac ľudí naraz a vzdialene získalo najnovší zdrojový kód a prípadne, ak na to majú právo, nový kód pridávali. Subversion patrí medzi open source (voľne šíriteľný) softvér. Podrobnejšie info na http://decef.elf.stuba.sk/~db20077/subversion/.

Inštalácia potrebných aplikácií


Príklad funguje na Ubuntu 8.10 Intrepid Ibex



Najprv nainštalujeme potrebné balíčky

apt-get install subversion libapache2-svn apache2

Ako nasledujúci krok je vytvorenie adresárov repos a conf

mkdir -p /var/svn/repos
mkdir /var/svn/conf

Pomocou svnadmin vytvoríme potrebnú štruktúru pre repozitár neville

svnadmin create /var/svn/repos/neville

Ako ďalšie treba vytvoriť už len potrebné súbory alebo importovať už začatý projekt. Importovanie projektu:

svn import /tmp/nevilleproject file:///var/svn/repos/neville

SVN pomocou Apache

Treba editovať /etc/apache2/sites-available/default a pridať nasledujúce riadky


DAV svn
SVNParentPath /var/svn/repos
#SSLRequireSSL
AuthType Basic
AuthName "SVN Repositories"
AuthUserFile /var/svn/repos/.htpasswd
Require valid-user
SVNIndexXSLT /svnindex.xsl


Súbor .htpasswd slúži na autentifikáciu. Vytvára sa pomocou htpasswd

htpasswd -c /var/svn/repos/.htpasswd meno_uzivatela

Parameter -c znamena, že chceme vytvoriť (create) súbor a meno_uzivatel je username, ktorého chceme pridať. Po odsúhlasení si bude ešte pýtať heslo.

Ako ďalšie nasleduje reštart Apache

/etc/init.d/apache2 restart

Pri zadaní http://localhost/repos/neville by sa prehľadávač mal pýtať na username a heslo zadané v .htpasswd
Adresa http://localhost/repos/neville slúži ako HTTP kanál(prístup cez sieť) k repozitáru

Ako na mod_rewrite v Ubuntu

Po úspešnej inštalácii Ubuntu a následne Apache mi nechcel fungovať s mod_rewrite. Hodil som to do Google a našiel http://snippets.dzone.com/posts/show/6206 Ako som sa pozrel do /etc/apache2/sites-available/default ďalej som už ani nemusel hľadať riešenie, lebo defaultne je rewrite vypnutý :P Kto to tušil? Postupoval som nasledovne:

1. Zapnutie modulu mod_rewirte s a2enmod (Apache2 ENable MODule)

sudo a2enmod rewrite

2.Aby modul prepisoval treba ho ešte povoliť v konfigurácii Apache nasledovne

sudo vi /etc/apache2/sites-available/default


ServerAdmin webmaster@localhost
DocumentRoot /var/www/

Options FollowSymLinks
AllowOverride All # Povoli rewrite

Options Indexes FollowSymLinks MultiViews
AllowOverride All # Povoli rewrite
Order allow,deny
Allow from all

3. Už len reštart apache

sudo /etc/init.d/apache2 restart

18.4.09

3 linux top programy

Na zistenie bežiacich procesov a hlavne zistenie, čo mi spomaľuje notebook používam príkaz top či htop (záleží od nálady :) a iotop.

Top a jeho vylepšená verzia htop slúžia na odhalenie bežiacich procesov a ich triedenie. Programy zobrazujú zaťaženie procesora, využitie RAM pamäte a swap miesta.



















Aplikácia iotop (Input/Output TOP) zobrazuje využitie pevného disku. Rýchlosť čítania či zápisu z neho s danou aplikáciou.















Existuje ešte pár ďalších podobných top príkazov, ale bohužial si už nepamätám adresu stránky, kde bola kolekcia nich. Aké iné top podobné programy používate?