2.09.2014 г.

Изтриване на торент връзките по папките.

find . -type f -name "*.torrent" -delete

1.09.2014 г.

VLC стрииминг, работи за mp3-и.



cvlc -vvv /home/mediamp3/mp3.mp3 --sout
'#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}
:standard{access=http,mux=mp3,dst=192.168.1.6:1234}'

Клиента се връзва на 192.168.1.6:1234

21.08.2014 г.

Сканира за включени ip-та и отворени портове

Не работи върху firewall!

#!/bin/sh
echo "Enter firs tree number for ip range (format is 1.1.1)"
read first
echo "Scanning for open IP"
for i in $(seq 1 254); do
ip="$first.$i"
#ip="192.168.1.$i"
ping=`ping -c1 -w1 $ip | grep loss | awk -F"%" '{print $1}' | awk -F"," '{print $NF}' | sed 's/\s//'`
if [ ! "$ping" -ne 0 ]
then
mac=`arp $ip | grep ether | awk '{print $3}'`
port=`nc -zv 192.168.1.14 $(seq 1 6001) 2>&1 | grep succeeded | awk '{print $4 $6}'`
echo "........................."
echo "${ip} - UP / Ether - $mac"
echo "open port is $port"
fi
done


7.08.2014 г.

Преименуване на фаилове наведнъж.

touch file{1..10} - file1 file2 ...
rename 's/$/.bak/g' * - добавя .bak на края
rename 's/.bak/.jpg/g' *

Ако има едновременно: папки и фаилове.
find -type f | rename 's/$/.bak/g'

За да се запази оригинала:

sed -i.bak -e 's/$/.bak/g' *

Сортиране колона в ред awk.

apache е за пример!

top -b -n1 | grep apa | awk '{print $1}' | sort | awk 'BEGIN {ORS = ","} {print }' \
sed 's/,$//'

22.07.2014 г.

Firebird SS amd64

Инсталцията от хранилищата на ubuntu и debian не работи.
Инсталира се xinetd, и се сваля от официялната страница на firebird:
download

Вече firebird-а се намира в /opt, a не в /etc
netstat -na | grep 3050 - работи.

14.07.2014 г.

php send mail

Е така и не успях да го накарам wamp да прати email, през Windows, но с linux няма проблем с тези настройки :)

sudo apt-get install ssmtp
 
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=<YOUR-EMAIL>@gmail.com
AuthPass=<YOUR-PASSWORD>
 
nano php.ini
sendmail_path = /usr/sbin/sendmail -t  

22.06.2014 г.

Когато си забършеш /dpkg папката

sudo mkdir -p /var/lib/dpkg/{alternatives,info,parts,triggers,updates}
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
apt-get download dpkg
sudo dpkg -i dpkg*.deb
apt-get download base-files
sudo dpkg -i base-files*.deb

15.06.2014 г.

Премахване на коментарите от php фаиловете в папка.

sed -i '/#.*/ d' test/*.php

-i - запазва промените
test/*.php - всички фаилове в папака test с окончание php
#.*  - трие целият ред, който започва с #

Добавяне на ред във всички записи.


sed -i '1i <?php include(header.php) ?>' test/*.php

1i - на кои ред да се добави.

7.06.2014 г.

Пинг на мрежа със задаване na ип-тата.


#!/bin/bash
# кои адреси да се добавят в случая до 30
for ((n=0 ; n < 30 ; n+=1))
do
        ip=192.168.1.$n
        if ping -c 1 -w 1 $ip > /dev/null2 > /dev/null >> logping.txt; then # записва резултата във файл
                echo "${ip} is up"
        else
                echo "${ip} is down"
        fi
done

// Обработка на фаилчето
cat logping.txt | grep -B 2 "rtt min/avg/max/mdev " | grep ping | cut -d' ' -f2
Трябва да изкара само ip-тата които са живи.

7.04.2014 г.

Plex media server

Радакция на /etc/init.d фаила на plexmediaserver

### BEGIN INIT INFO
# Provides:          plexmediaserver
# Required-Start:    $remote_fs $syslog $all
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Plex Media Server
# Description:       Plex Media Server for Linux,
#                    More information at http://www.plexapp.com
#                    Many thanks to the great PlexApp team for his wonderfull job !
# Author:            Cedric Quillevere / origin@killy.net
# Version:           1.0a
### END INIT INFO

test -f "/usr/lib/plexmediaserver/Plex Media Server" || exit 0

export PMS_RUN_USER="plex"

plex_running=`ps ax | grep "\./Plex Media Server" | awk '{ print $1 }' | wc -l`

case "$1" in
    start)
 if [ "$plex_running" -gt 1 ]; then
  echo "Plex already running..."
  exit 0
 fi
 echo -n "Starting Plex Media Server: "
 su -l $PMS_RUN_USER -c "/usr/sbin/start_pms &" >/dev/null 2>&1
 sleep 1
 echo "done"
 ;;
    stop)
 if [ "$plex_running" -eq 1 ]; then
  echo "Plex Media Server is not running (no process found)..."
  exit 0
 fi
        # Trying to kill the Plex Media Server itself but also the Plug-ins
 echo -n "Killing Plex Media Server: "
 ps ax | grep "Plex Media Server" | awk '{ print $1 }' | xargs kill -9 >/dev/null 2>&1
 sleep 1
 echo "done"
 ;;
    restart)
 sh $0 stop
 sh $0 start
 ;;
    status)
        if [ "$plex_running" -gt 1 ]; then
                echo "Plex Media Server process running."
 else
  echo "It seems that Plex Media Server isn't running (no process found)."
        fi
 ;;
    *)
 echo "Usage: $0 {start|stop|restart|status}"
 exit 1
 ;;
esac

exit 0
 
 
 
- make a chmod +x /etc/init.d/plexmediaserver
- make a "update-rc.d plexmediaserver enable"
Стартира се на порт 32400. 

26.02.2014 г.

Маунтване на windows7 share в centos

Заради премахването на: smbmount

yim install cifs-utils samba-client samba-common
mkdir /mnt/windows7

mount -t cifs //192.168.1.5/share /mnt/windows7 -o username=user,password=password

За листване на шеринга:
smbclient //ip/share -U username

20.02.2014 г.

Инсталиране на vmware в linux

Инсталират се:

su -c "apt-get install open-vm-tools open-vm-tools-dev open-vm-dkms open-vm-toolbox gcc build-essential linux-headers-$(uname -r)"

vmware след като се свали и разархивира: 

./vmwarte.bundle

10.02.2014 г.

Задаване на статично ip в CENTOS

nano /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=”p1p1″

BOOTPROTO=”static”

IPADDR=192.168.1.200

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

# HWADDR=”00:12:34:56:78:90″

DNS1=192.168.1.1

DNS2=4.2.2.2

NM_CONTROLLED=”no”

ONBOOT=”yes”

TYPE=”Ethernet”

6.02.2014 г.

Samba share only user folder

[global]
    server string = %h server
    security = USER
    map to guest = Bad User
    obey pam restrictions = Yes
    pam password change = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    unix password sync = Yes
    syslog = 0
    log file = /var/log/samba/log.%m
    max log size = 1000
    dns proxy = No
    usershare allow guests = Yes
    panic action = /usr/share/samba/panic-action %d
    idmap config * : backend = tdb

[homes]
    comment = Home Directories
    valid users = %S
    browseable = No
    read only = No
    writable = Yes

/**
client lanman auth = Yes
lanman auth = Yes
*//

Бекъп ресторе на firebird base.

#! /bin/bash
#Proverqva dali si root
if [ "$(id -u)" != "0" ];then
echo "Trqbva da si root za da stane"
exit 1
fi
#Pita dali da pravi backup ili restore!!!!!
read -p "KAKAVO SHTE PRAVISH? b-za Backup r-za Restore (b/r)" VAPROS
if [ "$VAPROS" = "b" ]; then
#Zapitvane za restart na firebird-a
echo -------------------------------------------------------
read -p "ISKASH LI DA RESTARTIRASH FIREBIRD-A? y-za Da n- Za Ne (y/n)" FIREBIRD
echo -------------------------------------------------------
if [ "$FIREBIRD" = "y" ]; then
echo "SHTE SE RESTATIRA FIREBIRD-A WHAIT!!!"
res=`/etc/init.d/firebird2.5-super restart`
echo $res &&
ping -c 5 127.0.0.1
else
echo "Nama da se restartira firebirda"
fi
#Zapitvane za izbor na baza za backup
echo --------------------------------------------------------
echo "ZADADENIQT PAT E! /home/user/base/firebird.fdb"
echo -------------------------------------------------------
read -p  "IZPOLZVAI OSNOVNIQT PAT ILI NAPISHI NOV!!!: y-za SASHTIQ n- za NOV (y/n)" RESP
if [ "$RESP" = "y" ]; then
echo "Izbra zadadeniqt pat"
realpat="/home/user/base/firebird.fdb"
cp -p /home/user/base/firebird.fdb "/home/user/base/backupdir/firebird-`date`.fdb" &&
gbak -t -v -user SYSDBA -password masterkey "$realpat" /home/user/base/firebird.fbk &&
chown user.user /home/user/base/firebird.fbk
else
echo "Vavedi patq do bazata na fdb-to"
read pat
cp -p "$pat" "/home/user/base/backupdir/firebird-`date`.fdb" &&
gbak -t -v -user SYSDBA -password masterkey "$pat" /home/user/base/firebird.fbk &&
chown user.user /home/user/base/firebird.fbk
fi
else
echo "Shte pravi restore, napravi restart na firebirda!!!"
read -p "ISKASH LI DA RESTARTIRASH FIREBIRD-A? y-za Da n- Za Ne (y/n)" RESFIREBIRD
echo -------------------------------------------------------
if [ "$RESFIREBIRD" = "y" ]; then
echo "SHTE SE RESTATIRA FIREBIRD-A WHAIT!!!"
res=`/etc/init.d/firebird2.5-super restart`
echo $res &&
ping -c 5 127.0.0.1
else
echo "Nama da se restartira firebirda"
fi
#Zapitvane za izbor na baza za restore
echo --------------------------------------------------------
echo "ZADADENIQT PAT E! /home/user/base/firebird.fbk"
echo -------------------------------------------------------
read -p  "IZPOLZVAI OSNOVNIQT PAT ILI NAPISHI NOV!!!: y-za SASHTIQ n- za NOV (y/n)" RESTORERESP
if [ "$RESTORERESP" = "y" ]; then
echo "Izbra zadadeniqt pat"
realpatres="/home/user/base/firebird.fbk"
mv /home/user/base/firebird.fdb "/homeuser/base/backupdir/firebird-`date`.fdb" &&
gbak -c -v -user SYSDBA -password masterkey "$realpatres" /home/user/base/firebird.fdb &&
chown user.user /home/user/base/firebird.fdb &&
chmod 777 /home/user/base/firebird.fdb &&
echo "OK"
else
echo "Vavedi patq do bazata na fbk-to"
read pat
mv /home/user/base/firebird.fdb "/home/user/base/backupdir/firebird-`date`.fdb" &&
gbak -t -v -user SYSDBA -password masterkey "$pat" /home/user/base/firebird.fdb &&
chown user.user /home/user/base/firebird.fdb &&
chmod 777 /home/user/base/firebird.fdb &&
echo "OK"
fi
fi

2.02.2014 г.

Зарежда x11vnc

Инсталираме x11vnc
apt-get install x11vnc

Добавяме командата да стартира заедно с машината:
x11vnc -nap -wait 5 -noxdamage -passwd parola -display :0 -forever

30.01.2014 г.

Как да покажем системните параметри на linux от браузера.



Паврим файл кръстен index

#!/bin/bash
TITLE="System informatin for $HOSTNAME pc"
NOW=$(date +"%x %r %Z")
TIME_STAMP="Update on $NOW by $USER"
MOST_CPU="Most usage CPU process"
FREE_MEM="Pameta v momenta"

function show_uptime
{
echo "<h2>System uptime</h2>"
echo "<pre>"
uptime
echo
cat /etc/*release*
"</pre>"
}

function home_space
{
if [ "$(id -u)" = "0" ]; then
echo "<h2>Home Directory space by user</h2>"
echo "<pre>"
echo "Bytes Directory"
du -s /home/* | sort -nr
echo "</pre>"
fi
}
function most_cpu
{
ps -aux | head -n5
}
function freemem
{
free -m
}

###LOG
cat <<- _EOF_
<html>
<head>
<title>$TITLE</title>
<head>
<body>
<h1>$TITLE</h1>
<p>$TIME_STAMP</p>
$(show_uptime)
$(home_space)
<h1>$MOST_CPU</h1>
$(most_cpu)
<h1>$FREE_MEM</h1>
$(freemem)
</body>
</html>
_EOF_








2 Правим си файл: info.php

<DOCTYPT html>
<html>
<title>
<head>
</head>
<body>
<?php
$result=shell_exec("/var/www/index 2>&1");
echo ($result);
?>
</body>
<html>


Debian vi - > vim, конфигурационнен файл:

Debian vi - > vim, конфигурационнен файл:
apt-get install vim
nano ~/.bashrc - > alias vi = "vim"
vi /etc/vi/vimrc

" Use Vim settings
set nocompatible

fixdel
syntax enable

set ruler           " displays the 'ruler' at the bottom-right of the screen
set number          " precede each line with its line number.
set nowrap          " no line wrapping;
set guioptions+=b   " add a horizontal scrollbar to the bottom

"colorscheme zenburn

"--- search options ------------
set incsearch       " show 'best match so far' as you type
set hlsearch        " hilight the items found by the search
set ignorecase      " ignores case of letters on searches
set smartcase       " Override the 'ignorecase' option if the search pattern contains upper case characters
:highlight search guifg=yellow guibg=darkred

"--- indentation ---------------
set expandtab
set smarttab
set smartindent    " smart indent of code - indent after opening '{',

"set autoindent     " Copy indent from current line when starting a new line
set shiftwidth=4   " Number of spaces to use for each step of (auto)indent (used for the >>, << commands)
set tabstop=4      " Number of spaces that a <Tab> in the file counts for.
set softtabstop=4  " Backspace the proper number of spaces
set shiftround     " Round indent to multiple of 'shiftwidth'

" comments are not placed in the first column.  They stay at their current indent level
inoremap # #

"--- Keystrokes ----------------
" h and l wrap between lines, cursor keys wrap in insertion mode
set whichwrap=h,l,~,[,]

" page down with <SPACE>, pageup with - or <BkSpc>
noremap <Space> <PageDown>
noremap <BS> <PageUp>

" allow <BkSpc> to delete line breaks, start of insertion, and indents
set backspace=eol,start,indent

"--- windowing -----------------
" be able to scroll through opened files easily with ctrl+j/k
map <C-J> <C-W>j<C-W>_
map <C-K> <C-W>k<C-W>_
set wmh=0   "set other opened files to just show filename


" have command-line completion <Tab> (for filenames, help topics, option names)
" first list the available options and complete the longest common part, then
" have further <Tab>s cycle through the possibilities:
set wildmode=list:longest,full

"--- python formatting help ---
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class

"-- always set cwd to current buffer ---
" * helps a lot with multiple windows
function! CHANGE_CURR_DIR()
let _dir = expand("%:p:h")
exec "cd " . _dir
unlet _dir
endfunction

autocmd BufEnter * call CHANGE_CURR_DIR()

Компилиране на wine v 1.1.42, настройка на локалите

download wine 1.1.42

apt-get install bison flex gcc libc6-dev libfontconfig-dev libfreetype6-dev libglu-dev libgsm1-dev libice-dev libjpeg-dev libldap-dev libmpg123-dev libncurses5-dev libopenal-dev libpng-dev libsm-dev libssl-dev libusb-dev libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxml2-dev libxrandr-dev libxrender-dev libxslt-dev libxt-dev libxxf86vm-dev make libcapi20-dev liblcms-dev libsane-dev libhal-dev libdbus-1-dev valgrind prelink libcups2-dev 

sudo apt-get install lib32v4l-dev lib32ncurses5-dev lib32asound2-dev lib32z-dev ia32-libs-dev

./configure
make
make install

Ако не се чете правилно кирилицата на стартираната през wine програма:

LC_ALL=bg_BG.UTF-8 wine "C:\път_до_програмата\име.exe"  или
LANG=bg_BG.CP1251 wine "C:\път_до_програмата\име.exe"
Претърсва за най-често използваните команди в терминала от юзера, който изпълнява командата:

history | awk {print $2} | sort | uniq -c | sort -nr | head

print $2 - ще изпринти втората колона (първата е номера на командата).
sort - сортира записа, sort -nr - реверсивно сортиране
uniq -c - показва колко пъти е дадена командата
head - първите редове


Проверява за дублирани редове, като премахва следващият дублиран запис:
awk '!x[$0++]' star-fail > novfail