Архив

Статии по ключова дума: ‘Linux’

Параноя ме тресе- Камера която да следи лице X или да ви пази гърба

25 август, 2010 1 коментар

Днес докато си стоях и си мислих как да реша един въпрос ми изникна доста интересно решение. О задачата е да знам във всеки един момент един колега дали си е на работното място. Т.е. искам да знам СЕГА дали е там или не е. Мислих как най- добре да стане това и определено смятам, че реших въпроса. Ще използвам уеб камера. На една машина срещу неговото работно място поставих камера + някакъв уеб сървър(apache) която камера постоянно го наблюдава. При необходимост да видя дали е на работното си място веднага мога да проверява.

Това също е подходящо ако желаете да виждате какво става зад  гърба си без да се обръщате :) . Решението е супер просто и страхотно полезно.

Техническите решения които мога да предложа са:
1. GNU/Linux  -- Stream на камерата със VLC + apache (може и без)
2. Windows- Sascam  Web Cam Server

PS: Всички приложения са напълно свободни и безплатни за ползване.

Инсталиране на Flash плъгин за Firefox без root права

26 май, 2010 2 коментари

Тук идеята става ясна от заглавието- Целта е да се инсталира Flash плъгин без root права. За целта трябва да се направи следното:

mkdir ~/.mozilla/plugins/

Необходимо е да се изтегли архивчето с flash:

wget http://miwi.homeunix.com/install_flash_player_10_linux.tar.gz

И да копирате so файла на flash (install_flash_player_10_linux.tar.gz):

cp install_flash_player_10_linux.tar/flashtemp/libflashplayer.so ~/.mozilla/plugins/

Публикации за GNU/Linux от семинара преди години

26 май, 2010 Няма коментари

Преди 4-5 години с приятели направихме в гр. Добрич GNU/Linux семинар на тема "GNU/Linux? Да той е чудесен за работна станция" и щяхме да публикуваме подготвените материали от нас за семинара, но така и не го направихме. Днес в един форум (уебмастербг) видях един пич които беше заинтересуван и това реално ме проворика да ги издиря и публикувам за да са полезни на него и всички които търсят информация(Надявам се да бъдат полезни. Макар и малко старички някои неща от тях не остаряват като рибите).

Реших да ги публикувам в kakvo.org за да бъдат прочетени от повече хора и надявам се повече хора да мигрират към свободата. Ето ги и материалите:

GNU/Linux -- автор Мартин Петров
GNU/Linux Дистрибуции -- автор Мартин Петров
Умения за инсталиране на Gnu/Linux -- автор Мартин Петров
Основните команди за работа с Гну/Линукс -- автор Мартин Петров
KDE- автор Милен Неделчев
Графични среди под GNU/Linux - автор Георги Георгиев
Примерна инсталация на Fedora Core 4- автор Андон Николов
GNU Движение за Отворен код/ Въведение в свободният софтуер. - автор Георги Георгиев
Положителни и отрицателни черти на Gnu/Linux - автор Мартин Петров
Историята на GNOME - автор Георги Георгиев

Снимки от семинара(реших и тях да публикувам): Снимки от семинара

PS: Ако съм объркал някои като автор Андо, Гоше, Миленски кажете ще го фиксна веднага!.

Прост скрипт за повече доставчици в GNU/Linux

9 февруари, 2010 Няма коментари

Идеята е, че имаме доставчика (в този случай) и искаме да разпределим връзката между тях, чрез iproute. Това решение разбира се, не е особено добро, но за временно решение става. Ето го и решението:

#!/bin/bash
#Create Multiple Uplinks. Written by amri [ www.mpetrov.net ]

#ISP 1
isp0_ip="10.10.10.2";
isp0_gw="10.10.10.1";
isp0_network="10.10.10.0/24";
isp0_iface="eth0";
isp0_netmask="255.255.255.0";

#ISP 2
isp1_ip="192.168.1.2";
isp1_gw="192.168.1.1";
isp1_network="192.168.1.0/24";
isp1_iface="eth0:10";
isp1_netmask="255.255.255.0";

#Create tables
rt_tables="/etc/iproute2/rt_tables";
if [ `grep "ISP0" $rt_tables|grep -v grep|wc -l` -eq 0 ];
then
echo "1 ISP0" >> $rt_tables
fi;

if [ `grep "ISP1" $rt_tables|grep -v grep|wc -l` -eq 0 ];
then
echo "2 ISP1" >> $rt_tables
fi;

#Ifconfig
ifconfig $isp0_iface $isp0_ip netmask $isp0_netmask up
ifconfig $isp1_iface $isp1_ip netmask $isp1_netmask up

#Create routes
ip route add $isp0_network dev $isp0_iface src $isp0_ip table ISP0
ip route add default via $isp0_gw table ISP0
ip route add $isp1_network dev $isp1_iface src $isp1_ip table ISP1
ip route add default via $isp1_gw table ISP1

#Rules
ip rule add from $isp0_ip table ISP0
ip rule add from $isp1_ip table ISP1

#Load balancing
ip route add default scope global nexthop via $isp0_gw dev $isp0_iface weight 1 \
nexthop via $isp1_gw dev $isp1_iface weight 1

Скриптчето може да се изтегли и от тук: create_multipe_uplinks.sh

Да разчистим малко място в нашата *nix машина

3 февруари, 2010 Няма коментари

На всеки се е случвало да няма място на неговата GNU/Linux машина. За да премахнем това което трябва можем да започнем от основните директории, но има и друг вариант които не е за отказване, а именно да намерим всички големи файлове. За да ги намерим ще използваме find или:

find / -type f -size +20000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

След това можем по- лесно да преценим кое да изтрием и кое не. Ако след това мястото отново не стига тогава вече можем да преглеждаме другите директории

Инсталиране на Nvidia драйвери под Debian Lenny

1 февруари, 2010 Няма коментари

В тази публикация мисля да опиша как се инсталират Nvidia драйверите под Debian Lenny.

1. apt-get install build-essential linux-headers-$(uname -r)
2. cd /usr/src
3. ln -s linux-headers-$(uname -r) linux
4. wget  http://us.download.nvidia.com/XFree86/Linux-x86/190.53/NVIDIA-Linux-x86-190.53-pkg1.run
5. /etc/init.d/gdm stop
6. cd /usr/src && sh NVIDIA-Linux-x86-190.53-pkg1.run

След това приеме лиценза на Nvidia и драйверите ще ви се инсталират. Сега ще стартираме нашата графична среда с nvidia драйверите: /etc/init.d/gdm start .Още в началото дори виждаме логото на Nvidia. Ако са необходими повече допълнителни настройки избираме Applications-> System Tools -> NVIDIA X Server Settings

Автоматично SSH логване с PuTTY

22 януари, 2010 Няма коментари

Здравейте казвам се Мартин Петров и съм създал тази демонстрация единствено и само с учебна цел.

В тази видео демонстрация ще обясня как да генерирате и използвате частните и публични двойки ключоче за да се логвате през SSH с PuTTY. PuTTY е SSH клиент които работи на Windows и Linux, но най- често е употребяван за Windows. Идеята на ключово базираните SSH логини е да не се налага да въвеждате всеки път потребителско име и парола, а автоматично да влизате в отдалечената система в която имате достъп .

Хайде да започнем демонстрацията.

1. Преди всичко трябва да имаме SSH достъп до отдалечена GNU/Linux машина в случая при нас това е машина с IP адрес 10.10.10.1, а ние имаме достъп

2. След това трябва да изтеглим необходимите приложения за Windows, които в случая съм изтеглил

2.1 PuTTY (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe)
2.2 PuTTY Gen (http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe)
2.3 PageAgent (http://the.earth.li/~sgtatham/putty/latest/x86/pageant.exe)

След като вече ги имаме сега ще генерираме публичен и частен ключ за съответния логин в машина 10.10.10.1 като използваме приложението puttygen
Стартираме го и поглеждаме в менюто "Keys" за да сме сигурни, че са избрани SSH-2 RSA key

След това натискаме "Generate" за да  генерираме нашият ключ и въвеждаме наша парола на ключовете. За да го генерираме се изисква да местим по- бързо мишката понеже движението се използва за генерирането на ключа.

След като публичния ключ е генериран ще го копираме на отдалечената машина 10.10.10.1.
Трябва да копираме текста от секция "Public key for pasting into OpenSSH authorized_keys file:" и да се логнем в машината. Сега трябва да създадем директория(ако не съществува) .ssh и да поставим предварително копирания текст във файл authorized_keys

След това генерираме личен ключ от PuTTY Key Generator като натиснем бутона "Save Private key" и за тваряме приложението.

Сега отваряме приложението pageant (Search PuTTY SSH authentication Agent) и зареждаме нашият личен ключ като идеята на това приложение е да не се налага запомнянето на ключовите фрази.

След като подготвихме всичко това сега остава да си направим един PuTTY профил.
В Host Name (or IP Address) въвеждеме адреса на машината в която имаме достъп 10.10.10.1, а на порт оставяме подразбиращият се 22. Избираме си и име на сесията или профила "Saved Sessions" autop

В секция "Connection" -> "Data", поле "Auto-login username" трябва да въведем нашето потребителско име, което  в случае е: autop .
Сега трябва да заредим нашият личен ключ в секция "SSH"->"Auth" в "Private key file for authentication"

След всичко това остава да запазим настройките на своя профил като натискаме бутона "Save"

Тук виждаме, че можем да се логваме в машината 10.10.10.1 без да се изисква въвеждането на потребителско име и парола.

Може да гледате видео демонстрацията от Youtube: Автоматично SSH логване с PuTTY
Демонстрация във vbox7: Автоматично SSH логване с PuTTY

Логване в SSH сървър, чрез PuTTY

22 януари, 2010 Няма коментари

Здравейте отново от мен Мартин Петров. Тази видео демонстрация е създадена единствено и само с учебна цел.

Този тази видео демонстрация е част от публикацията "За какво да ползваме PuTTY"  в блога www.mpetrov.net

PuTTY е SSH клиент които се ползва най- много от Windows потребителите. Това видео всъщност е именно за тях. Сега ще демонстрирам как чрез PuTTY може да се логнете в отдалечена машина с пуснат SSH сървър в нашият случай GNU/Linux Debian с пуснат OpenSSH сървър.

Преди всичко трябва да изтеглим PuTTY. Просто пишем в google "PuTTY" и първият резултат ни дава линк от където да го изтег7лим. Аз съм го изтеглил предварително и за целта продължаваме напред към демонстрацията.

Стартираме Putty и в секция "Host name" въвеждаме хостнейм или IP адрес на машината в която искаме да се логнем. В нашият случай е IP адрес 10.10.10.1 . Портът които е сетнат в машината е 22( двадесет и втори) затова оставям този порт. В секция "Saved Sections" записваме името на профила и след това натискаме "Save". Така следващият път вместо да правим тези настройки просто два пъти ще натистнем с мишката върху този името на профила които преди малко написахме.

Може да гледате видео демонстрацията от Youtube: Логване в SSH сървър, чрез PuTTY
Демонстрация във vbox7: Логване в SSH сървър, чрез PuTTY

Компилиране на cmdiag

10 януари, 2010 Няма коментари

Това е инструмент за диагностика на DOCSIS кабелни модеми.
Изтегля информацията от модема в реално време и показва ключови параметри по отношение на мрежата. Инструмента е писан на С++ и работи на Linux и FreeBSD.

Сваляне: http://sourceforge.net/projects/cmdiag/
Официална страница: http://sourceforge.net/projects/cmdiag/
Картинки: http://sourceforge.net/project/screenshots.php?group_id=212972

Лиценз: GPL

Имах проблеми при компилирането на cmdiag версия 0.2

При изпълнение на make получавах следната грешка:

traffic:/tmp/cmdiag-0.2# make
g++ -Wall -O2  -c cmdiag.cpp
cmdiag.cpp:12:21: error: ncurses.h: Няма такъв файл или директория
cmdiag.cpp: In function 'int main(int, char**)':
cmdiag.cpp:28: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:29: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:30: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:31: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:33: error: 'initscr' was not declared in this scope
cmdiag.cpp:34: error: 'cbreak' was not declared in this scope
cmdiag.cpp:35: error: 'noecho' was not declared in this scope
cmdiag.cpp:36: error: 'stdscr' was not declared in this scope
cmdiag.cpp:36: error: 'TRUE' was not declared in this scope
cmdiag.cpp:36: error: 'keypad' was not declared in this scope
cmdiag.cpp:37: error: 'start_color' was not declared in this scope
cmdiag.cpp:38: error: 'curs_set' was not declared in this scope
cmdiag.cpp:40: error: 'A_BOLD' was not declared in this scope
cmdiag.cpp:40: error: 'attron' was not declared in this scope
cmdiag.cpp:41: error: 'mvwaddstr' was not declared in this scope
cmdiag.cpp:42: error: 'attroff' was not declared in this scope
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:115: error: 'refresh' was not declared in this scope
cmdiag.cpp:210: error: 'mvaddnstr' was not declared in this scope
cmdiag.cpp:211: error: 'strstr' was not declared in this scope
cmdiag.cpp:272: error: 'endwin' was not declared in this scope
make: *** [cmdiag.o] Error 1

Проблемът е, че няма ncurses-dev за целта го инсталиране: apt-get install libncurses5-dev и изпълняваме отново "make clean && make"

Отново получаваме грешна, но от друг характер, а именно:

traffic:/tmp/cmdiag-0.2# make clean && make
rm -f *.o
rm -f cmdiag
rm -f *.*~
g++ -Wall -O2  -c cmdiag.cpp
cmdiag.cpp: In function 'int main(int, char**)':
cmdiag.cpp:28: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:29: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:30: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:31: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:45: warning: deprecated conversion from string constant to 'char*'
cmdiag.cpp:211: error: 'strstr' was not declared in this scope
make: *** [cmdiag.o] Error 1

Тази грешка е причинена от това, че във файл cmdiag.cpp липсва хедъра string.h за целта добавяме в cmdiag.cpp  :

#include <string.h>

След това изпълняваме отново  "make clean && make" и всичко се компилира точно и вече имаме cmdiag

Ето снимка на cmdiag:

Linux модул за TP-LINK TL-WN321G

3 януари, 2010 3 коментари

Идеята на този пост е да обясни на начинаещите как да ползват своя wireless usb tplink wn321g под Linux. Модула за TP-LINK TL-WN321G е : rt73usb

За да го заредите изпълнете: modprobe rt73usb

За да видите дали е зареден правилно се изпълнява: iwconfig :)