Category Archives: sadmin

sadmin

Примерен конфигурационен файл за Squid 3

Този конфигурационен файл на Squid 3 кешира файлове от 1KB до 100MB и е прозрачен(transparent), може и да не бъде разбира се :

##### Squid 3 conf by amri #####

# Iptables Rulez
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# iptables -t nat -A POSTROUTING -s 44.44.44.2 -o $EXTIF -j MASQUERADE

################################################
access_log /var/log/squid3/access.log squid
# 150000MB max cache size (default is 100GB):
cache_dir ufs /hdd1/squid3 150000 16  256
coredump_dir /hdd1/squid3
visible_hostname proxy.dcable.net
#mrejata localnet koqto ima access do squid
acl localnet src 0.0.0.0/0.0.0.0
#################################################

http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache

hosts_file /etc/hosts

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 4320000 90% 4320000 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(iso|avi|wva|mpg|wav|mp3|mp4|mpeg|swf|flv|x-flv|pdf)$ 4320000 90% 4320000 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|ppt|doc|tiff)$ 4320000 90% 4320000 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.index.(html|htm)$ 0 1% 10080
refresh_pattern -i \.(html|htm|css|js)$ 10000 1% 40320
refresh_pattern . 0 20% 4320

maximum_object_size 100 MB
minimum_object_size 1 KB

acl QUERY urlpath_regex index \?
no_cache deny QUERY

# Novite wersii sled Squid 3 ne iziskwat da se deklarira "all"
#acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # https, snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost

http_access allow localhost
http_access allow localnet
http_access deny all
http_reply_access allow all
icp_access allow all

always_direct allow all

PS 1: Ако е необходимо конкретно IP въобще да не минава през Squid може да се ползва следното iptables правило:

iptables -t nat -A PREROUTING -i eth4 -p tcp -d ! 111.112.113.114 --dport 80 -j REDIRECT --to-port 3128

PS 2: Ако е необходимо да се забраняват повече IP-та може да се направи верига в iptables и ще си работи, но ако на едно IP отговарят два хоста и е необходимо единия да минават през SQUID, а другия да го прескача то тогава най- добре е да се направи през SQUID цялата операция. Дори и PS1 препоръчвам да се спре през Squid, но на мен само едно им ми трябва да прескача Squid и затова го правя така, ако някои има друго решение може да го сподели.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Update на Windows XP без Internet Explorer + Active X

Идеята тука е да се обнови вашата бозичка(Windows ХР(хъръ)) без да се ползва Internet Explorer и Active X.

Това може да стане като в command prompt се изпълни:

wuauclt /detectnow

Има и друг вариант да се редактират регистрите, но няма смисъл понеже това става с една команда :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Проблем с IPMI Browser Login

Не ми работи IPMI през Browser със Java 1.6.20 JRE update

Решението е:
Да се downgrade до 1.6.19

Може да се изтегли от http://www.oracle.com/technetwork/java/archive-139210.html\

или

http://cds-esd.sun.com/ESD6/JSCDL/jdk/6u19-b04/jre-6u19-windows-i586.exe?AuthParam=1292944146_adb0aa7c2e202b5d18d686c243af2170&TicketId=B%2Fw8kxmERFlMQRdGPV5Skgfq&GroupName=CDS&FilePath=/ESD6/JSCDL/jdk/6u19-b04/jre-6u19-windows-i586.exe&File=jre-6u19-windows-i586.exe
След това си работи под Firefox или Chrome(няма значение Linux/ Windows)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Използване на screen за www-data

Наложи ми се днес да пусна едно приложение в screen обаче не стана(със user www-data :) ):

www-data@mashina:/$ screen sh prilojenie.sh
Cannot open your terminal '/dev/pts/1' -- please check.
Поправих проблема като го пермитнах:

С root access :
chmod a+rw /dev/pts/1
и след това отново се изпълнява с user www-data това приложение през screen и всичко си е наред :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Поправяне на локалите в Debian

На една машинка с Debian се прецакал локала и не може да се пише на UTF дори и като се експортне "export LC_ALL=bg_BG.utf-8". Ето какво ми вади когато искам да го reconf:

mashinka:/# dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en_GB:en",
LC_ALL = "bg_BG.utf-8",
LANG = "bg_BG"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/sbin/dpkg-reconfigure: locales is broken or not fully installed

Ето го и решението:

apt-get update && apt-get --reinstall install locales

И чак сега вече реконф локалите.

dpkg-reconfigure locales

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Измерване на скоростта на твърд дист под GNU/Linux

[] Измерване на Data Transfer Speed чрез hdparm

1. Определяне имената на дисковете

fdisk -l

Резултат:

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0005db54

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       30063   241481016   83  Linux
/dev/sda2           30064       30401     2714985    5  Extended
/dev/sda5           30064       30401     2714953+  82  Linux swap / Solaris

2. Измерване на data transfer speed

hdparm -tT /dev/sda

Резултат:

/dev/sda:
Timing cached reads:   1888 MB in  2.00 seconds = 943.96 MB/sec
Timing buffered disk reads:  176 MB in  3.01 seconds =  58.50 MB/sec

Бележка: Ако харда е sata може да му се види скоростта по следния начин:

hdparm -I /dev/sda | grep -i speed

Резултат:

*    SATA-I signaling speed (1.5Gb/s)

[] Измерване на скоростта чрез dd

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k

Резултат:
262144+0 прочетени блока
262144+0 записани блока
изкопирани са 2147483648 байта (2,1 GB), 51,753 s, 41,5 MB/s

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Преместване на MySQL базите в друга директория или диск

1. Спира се mysql

/etc/init.d/mysql stop

2. Проверява се дали mysql е спрян на 100% :) и ако е спрян вече копираме базите

ps aux|grep mysql

3. Копират се базите на другия хард или директория

cp -r /var/lib/mysql /hdd2/mysql

4. Прави се връзка между /var/lib/mysql -> /hdd2/mysql

ln -s /var/lib/mysql /hdd2/mysql

5. Стартира се MySQL

/etc/init.d/mysql start

Има и друг вариант след точка 2. Вместо да се прави линк между /var/lib/mysql -> /hdd2/mysql се променя datadir в конф файлва на MySQL:

Файла:/etc/my.cnf

Ред: datadir=/hdd2/mysql


Отново се стартира MySQL и готово :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Интересно нещо с zip :)

Гледам днес един скрипт забил на командата(в случая е примерна):

zip -r -test.txt.zip -test.txt

Какво да видя ? Иска да въведа парола което е много странно понеже не съм сложил аргумент -P за целта или нещо от тоя род. Проблемът всъщност идва от името на файла, че има тире. За да се фиксне се добавя просто едно "./" отпред и става:

zip -r "./-test.txt.zip" "./-test.txt"

Поради същата причина не може и да се разархивира и пак трябва да се ползва :

unzip -test.txt.zip

Извод: Под GNU/Linux е желателно да не се ползват имена на файлове започващи с тире.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Колко време ми остава на батерия под Terminal

Тук идеята е, че нямам X , а само терминал и искам да видя колко време ми остава на батерия за да знам как да си разпределя задачите. Ето как може да се визуализира информация за времето което остава докато батерията се изтощи в проценти и минути както и температурата на лаптопа:

ahouse:~# acpi -V
Battery 0: Full, 97%, design capacity 4000 mAh
AC Adapter 0: on-line
Thermal 0: ok, 48.0 degrees C
Thermal 1: ok, 51.0 degrees C
Cooling 0: Processor 0 of 10

Това по- горе извежда информация за всичко.

Ако е необходима информация само за батерията:

ahouse:~# acpi -b
Battery 0: Full, 97%, design capacity 4000 mAh

Или пък само за температурата (излиза и инфо за батерията):

ahouse:~# acpi -t
Battery 0: Full, 97%, design capacity 4000 mAh
Thermal 0: ok, 47.0 degrees C
Thermal 1: ok, 50.0 degrees C

О забравих да кажа, че това е за GNU/Linux-  Debian Lenny :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Свързване към Wireless мрежа WPA под конзола в Debian Lenny

Понеже на тази машина на която искам да пусна wireless картата и да я вържа към конкретна мрежа няма X се налага да го направя през конзола или терминал. Ето как може да се осъществи Wireless връзка под Debian през терминал като в основата на това се ползва "Wpa Supplicant" :

1. apt-get update && apt-get install wpasupplicant

2. vim /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=netdev
ap_scan=1
fast_reauth=1
eapol_version=1
network={
ssid="Ime_na_wireless_mrejata"
psk="Parolata_na_wireless_mrejata"
priority=5
}

3. vim /etc/network/interfaces

allow-hotplug eth1
iface eth1 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

4. /etc/init.d/networking restart

И Хоп свързва се към Wireless мрежата и си взима IP по DHCP

Ако е необходимо да се зададе статичен IP може да се направи по следния начин(Вместо точка 3 се изпълнява това):

3. vim /etc/network/interfaces

auto eth1
iface eth1 inet static
address   192.168.1.254
netmask   255.255.255.0
network   192.168.1.1
broadcast 192.168.1.255
gateway   192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

4. /etc/init.d/networking restart

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)