Линукс
Howto install ati-drivers-8.582, xorg-server-1.5.3-r5 and gentoo-sources-2.6.29
by Илия Няголов on апр..05, 2009, under Линукс
Първо се обновяват пакетите:
emerge –sync
Редактира те файла: „/etc/portage/package.keywords“
sys-kernel/gentoo-sources ~amd64
x11-drivers/ati-drivers ~amd64
x11-base/xorg-server ~amd64
>=x11-apps/xauth-1.0.3
>=x11-libs/libXrender-0.9.4
>=x11-proto/renderproto-0.9.3
>=x11-libs/libXau-1.0.4
>=media-libs/mesa-7.1
>=x11-libs/libdrm-2.4.3
>=x11-proto/dri2proto-1.99.3
>=x11-libs/libXext-1.0.4
>=x11-misc/xkeyboard-config-1.4
>=x11-libs/xtrans-1.2.2
>=x11-apps/rgb-1.0.3
>=x11-libs/libX11-1.1.5
>=x11-apps/xinit-1.0.8-r3
>=x11-libs/libXxf86vm-1.0.2
>=x11-libs/libXfont-1.3.3
>=x11-drivers/xf86-input-evdev-2.1.0
>=x11-proto/xf86driproto-2.0.4
>=x11-proto/xextproto-7.0.3
>=x11-proto/xproto-7.0.13
>=x11-proto/inputproto-1.4.4
>=x11-proto/randrproto-1.2.2
>=x11-drivers/xf86-input-synaptics-0.15.0
След това се инсталира сорса на ядрото, компилира и инсталира.
emerge -av gentoo-sources
#Проверете долния линк дали сочи към новото ядро!
cd /usr/src/linux
make menuconfig
cp ./.config /
genkernel –bootloader=grub –kernel-config=/.config all
#Рестартирате и зареждате новото ядро.
Инсталирате новата версия на „xorg-server“
emerge -av xorg-server
Инсталирате и пачвате „ati-drivers“ пакета.
ebuild /usr/portage/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild unpack
cd /var/tmp/portage/x11-drivers/ati-drivers-8.582
wget http://liquorix.net/patches/FGLRX-2.6.29-9.2-5.diff
ln -s work/ a
patch -p0 < ./FGLRX-2.6.29-9.2-5.diff
ebuild /usr/portage/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild install
ebuild /usr/portage/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild qmerge
Създаване на торент файлове през веб интерфейс. / Create torrent files via web interface.
by Илия Няголов on мар..31, 2009, under Линукс, Мрежата, Програмиране
Първо искам да споделя, пробвах с какви ли не perl модули и всякакви други неща, и все не ставаше като хората. Също така не намерих нищо готово написано и завършено в „нета“ по тази тема. Затова реших да си напиша нещо набързо колкото да ми свърши работа и сега реших да го споделя с останалите.
Абсолютен фен съм на Gentoo, затова ще обясня какво съм инсталирал първоначално под него.
emerge -av net-p2p/ctorren
След това прочетох тук: http://en.gentoo-wiki.com/wiki/Wtorrent и инсталирах wtorrent. Но не ми хареса идеята за lighttpd и го направих с apache. За целта компилирах php със следните екстри 🙂
USE=“mysql sockets apache2 xmlreader xmlrpc xmlwriter simplexml xsl pdo sqlite xpm curl cgi ctype“ emerge -av dev-lang/php
,
редактирах „/etc/apache2/modules.d20_mod_scgi.conf“ по следния начин:
cat 20_mod_scgi.conf
LoadModule scgi_module modules/mod_scgi.so
SCGIMount /RPC2 localhost:5000
Alias /wtorrent /var/www/wtorrent
Deny from all
Allow from 22.14.122.13 22.14.122.14 22.14.121.251 #moite ip adresi za dostap do papkata
и добавих малко права за apache-то:
echo „apache ALL = NOPASSWD: /usr/bin/ctorrent“ >> /etc/sudoers
Ето го и съдържанието на моя скрипт – index.php
(continue reading…)
100% работещи Master и Salve DNS сървъри, изградени с BIND-9 и Gentoo
by Илия Няголов on окт..19, 2008, under Линукс, Мрежата
Преди всичко искам да кажа, че примера ми е доста скромен, но напълно работещ. В него влизат 3 мрежи клас „C“ и един домейн „sharcom.org“ закупен от host.bg.
1. Инсталиране то на BIND-9 в Gentoо е сладко нещо 🙂 .
dns1 ~ # emerge -av bind
These are the packages that would be merged, in order:
Calculating dependencies… done!
[ebuild U ] net-dns/bind-9.4.1_p1 [9.3.4-r3] USE=“berkdb ipv6 ldap mysql postgres ssl -dlz -doc -idn -odbc -resolvconf (-selinux) -threads -urandom%“ 6,193 kBTotal: 1 package (1 upgrade), Size of downloads: 6,193 kB
Would you like to merge these packages? [Yes/No]
2. Master DNS.
След като съм инсталирал BIND-а на master dns и slave dns машините, редактирам „/etc/bind/named.conf“ на master dns машината.
dns1 bind # cat /etc/bind/named.conf
options {
directory „/var/bind“;// uncomment the following lines to turn on DNS forwarding,
// and change the forwarding ip address(es) :
//forward first;
//forwarders {
// 89.215.250.10;
// 217.9.224.2;
// 89.106.96.4;
//};// listen-on-v6 { none; };
listen-on { 127.0.0.1;
212.114.121.19;
};// to allow only specific hosts to use the DNS server:
allow-query {
127.0.0.1;
212.114.121.0/24;
212.114.122.0/24;
212.114.123.0/24;
};// Zabraniava rekursivnite zaiavki, osven vatre6nite.
allow-recursion {
127.0.0.1;
212.114.121.0/24;
212.114.122.0/24;
212.114.123.0/24;
};// if you have problems and are behind a firewall:
//query-source address * port 53;
pid-file „/var/run/named/named.pid“;
};// Briefly, a zone which has been declared delegation-only will be effectively
// limited to containing NS RRs for subdomains, but no actual data beyond its
// own apex (for example, its SOA RR and apex NS RRset). This can be used to
// filter out „wildcard“ or „synthesized“ data from NAT boxes or from
// authoritative name servers whose undelegated (in-zone) data is of no
// interest.
// See http://www.isc.org/products/BIND/delegation-only.html for more info//zone „COM“ { type delegation-only; };
//zone „NET“ { type delegation-only; };zone „.“ IN {
type hint;
file „named.ca“;
};zone „localhost“ IN {
type master;
file „pri/localhost.zone“;
allow-update { none; };
notify no;
};zone „127.in-addr.arpa“ IN {
type master;
file „pri/127.zone“;
allow-update { none; };
notify no;
};zone „sharcom.org“ IN {
type master;
file „pri/sharcom.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};zone „10.168.192.in-addr.arpa“ {
type master;
file „pri/192.zone“;
allow-update { none; };
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify no;
};zone „121.114.212.in-addr.arpa“ {
type master;
file „pri/212.114.121.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; 217.19.224.2; 217.19.224.3; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};zone „122.114.212.in-addr.arpa“ {
type master;
file „pri/212.114.122.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; 217.19.224.2; 217.19.224.3; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};zone „123.114.212.in-addr.arpa“ {
type master;
file „pri/212.114.123.zone“;
allow-update { none; };
allow-transfer { 212.114.121.21; 127.0.0.1; 217.19.224.2; 217.19.224.3; }; //ograni4enie v transfer na zonite
allow-query { any; }; //zashtita ot spufing, zabraniava zaiavkite koito ne sa za nas
notify yes;
};logging{
channel info_log {
file „/var/log/named/bind_info.log“ versions 3 size 5m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
channel warning_log {
file „/var/log/named/bind_warning.log“ versions 3 size 5m;
severity warning;
print-time yes;
print-severity yes;
print-category yes;
};category default{
info_log; warning_log;
};
};
Howto Gentoo Server with Xen Dom0 2.6.21 and DomUs 2.6.25 – part 1
by Илия Няголов on юли.11, 2008, under Линукс, Мрежата
Преди да започна да пиша това howto срешнах доста спънки 🙁 , но в крайна сметка всичко заработи както трябва. Преди да се спра на Xen паравиртуализация пробвах пълна виртуализация с Qemu и KVM. Сториха ми се малко бавнички за моя проект :), както и не ми хареса идеята за VNC връзка към виртуалната машина, накратко много ресурс за нищо.
1. Кратка информация.
За пълната виртуализация самия процесор трябва да поддържа (хардуерна) виртуализация, такива са изискванията на Xen, Qemu и KVM!.
egrep ‘(vmx|svm)’ /proc/cpuinfo
Ако тази команда не ви върне никакъв отговор, следователно трябва да забравите, че с Xen или KVM ще може да подкарате например WindowsXP или нещо различно от линукс!
Накратко за Intel процесори в реда flags: трябва да има „vmx“, а за AMD процесори в реда flags: трябва да има „svm“.
Хардуерът ми е следния:
INTEL-1 src # cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
stepping : 11
cpu MHz : 2400.088
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu de tsc msr pae cx8 apic sep mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc pni ssse3 cx16 lahf_lm
bogomips : 4801.36
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
stepping : 11
cpu MHz : 2400.088
cache size : 4096 KB
physical id : 1
siblings : 1
core id : 0
cpu cores : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu de tsc msr pae cx8 apic sep mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc up pni ssse3 cx16 lahf_lm
bogomips : 4801.36
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
stepping : 11
cpu MHz : 2400.088
cache size : 4096 KB
physical id : 2
siblings : 1
core id : 0
cpu cores : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu de tsc msr pae cx8 apic sep mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc up pni ssse3 cx16 lahf_lm
bogomips : 4801.36
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
stepping : 11
cpu MHz : 2400.088
cache size : 4096 KB
physical id : 3
siblings : 1
core id : 0
cpu cores : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu de tsc msr pae cx8 apic sep mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc up pni ssse3 cx16 lahf_lm
bogomips : 4801.36
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
Една малка забележка: в горните редове никъде във flags: не пише „vmx“, няма и как да пише, защото зареденото ядро е Dom0, а не обикновено ядро без Xen поддръжка! Но нека тогава видим какво поддържа моето Dom0 ядро:
INTEL-1 / # xm dmesg | grep hvm -i
(XEN) HVM: VMX enable
От горния ред веднага се разбира, че Dom0 поддържа HVM (аналогично процесора има vmx) и на DomUs може да се инсталира WindowsXP :).
INTEL-1 src # lspci
00:00.0 Host bridge: Intel Corporation E7230/3000/3010 Memory Controller Hub
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.4 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 (rev 01)
00:1c.5 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 PCI bridge: Intel Corporation 6702PXH PCI Express-to-PCI Bridge A (rev 09)
04:00.0 Ethernet controller: Intel Corporation 82573E Gigabit Ethernet Controller (Copper) (rev 03)
04:00.3 Serial controller: Intel Corporation Active Management Technology – SOL (rev 03)
04:00.4 IPMI SMIC interface: Intel Corporation 82573E KCS (Active Management) (rev 03)
05:01.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
05:04.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)
05:05.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
Маркиране на BG пространството с IPSet и ограничаване на изходящия трафик.
by Илия Няголов on мар..11, 2008, under Линукс, Мрежата
1. Маркиране на BG пространството:
За целта създавам следните скриптове:
#end rc.firewall
IPTABLES=“/sbin/iptables“
IPSET=“/sbin/ipset“#Create empty user defined chains
$IPTABLES -N BG_OUT -t mangle#bgnets – се изтегля от ludost.net
$IPSET -N BG_NETS nethash
for i in `cat /scripts/shaper/bgnets`; do
$IPSET -A BG_NETS $i
done
$IPTABLES -t mangle -I FORWARD 1 -m set –set BG_NETS dst -j BG_OUT
#85.133.83.0 моята мрежа
$IPTABLES -t mangle -A BG_OUT -s 85.133.83.0/24 -j MARK –set-mark 2
$IPTABLES -t mangle -A FORWARD -s 85.133.83.0/24 -j MARK –set-mark 1
$IPTABLES -t mangle -A BG_OUT -j ACCEPT#локален файлов сървър който не бива да бъде шейпван
$IPTABLES -t mangle -I FORWARD 1 -d 21.121.158.15 -j ACCEPT
#!/bin/sh
#rc.firewall-stop
IPTABLES=“/sbin/iptables“
IPSET=“/sbin/ipset“$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z$IPTABLES -F -t mangle
$IPTABLES -X -t mangle
$IPTABLES -Z -t mangle$IPSET -F
$IPSET -X$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT