Category Archives: sadmin

sadmin

Интересни тулки за Windows

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

реших да потърся и подобни тулки за Windows.
Ето от първия сърч намерих две интересни(лесни за писане, но функционални :) )

1. Извежда и изтрива дублиращи файлове
Приложение:
EasyDuplicate Finder
Автор: Egor Chernyshev.
Официален сайт: www.easyduplicatefinder.com
Изтегли: Тук

2. Изтрива празните директории--
Приложение: Remove Empty Directories
Автор: Jonas John
Официален сайт: www.jonasjohn.de/lab/red.htm
Изтегли: Тук

И двете приложения са FreeWare (свободни за ползване) като Remove Empty Directories е Open Source. Потребители на 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)

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

Трябваше да намеря няколко празни директории от ДОСТА и да ги изтрия и реших да ви споделя как го направих. Много е "сложно" разбира се.

Ето още един bash трик:

За листнете празните директории изпълнете това:
find $PWD -depth -type d -empty

За да ги изтриете празните директории изпълнете това:

find $PWD -depth -type d -empty -exec rmdir {} \;

Тук също може да намерите още някои друг трик за bash: Изтриване на много файлове под 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)

Нов лаптоп HP G6050EG

HP G6050EGДнес купих един лаптоп на баща ми, че стария изгоря (Travelmate 2420). Стария лаптоп си работеше страхотно доста години, но както на всяко хубаво нещо в един момент му идва края. Сега трябва да помисля  за какво ще го ползвам това старо желязо (т.е. изгоря му дисплея). Купих му HP G6050EG и се държи страхотно с инсталиран Windows XP. Ето и неговите характеристики(е добавих му 2 G рам, че с тоя 1 G както си беше е за никъде :) ). Сега остава подаръка да се хареса на неговия притежател. Хайде татко да го ползваш със здраве. Наздраве :)

Product Name G6050EG
Product Number GH831EA#ABD
Microprocessor AMD Athlon 64 X2 TK53 Mobile Technology
Microprocessor Cache 512 KB Level 2 cache
Memory 1024 MB (2 x 512 MB)
Memory Max Up to 2 GB DDR2
Video Graphics NVIDIA® GeForce™ Go 6150
Video Memory Up to 287 MB
Hard Drive 120 GB (5400 rpm)
Multimedia Drive Super Multi DVD Writer (+/-R +/-RW) with Double Layer support
Display 15.4” WXGA High Definition BrightView Widescreen (1280 x 800)
Fax/Modem High speed 56K modem
Network Card Ethernet 10/100BT integrated network interface
Wireless Connectivity 802.11b/g WLAN
Sound Altec Lansing® speakers

3D Sound Blaster Pro compatible sound 16 bit integrated

Keyboard 101 key compatible keyboard
Pointing Device Touch Pad with On/Off button and dedicated vertical and horizontal Scroll Up/Down pad, volume control, mute buttons, 1 Quick Launch Button
External Ports
  • 1 VGA port
  • 3 USB 2.0 ports
  • 1 RJ-11 modem connector
  • 1 RJ-45 Ethernet connector
  • S-video TV out
  • 1 Headphone-out, 1 mic-in
Dimensions 35.70 cm (L) x 25.70 cm (W) x 2.54 cm (min H) / 3.96 cm (max H)
Weight 3.10 kg (6.87 lbs)
Power
  • 65 W AC Power Adapter
  • 6-cell Lithium-Ion (Li-Ion) battery
VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Документация за Arris Cornerstone 1500 и Cadant C3

Последно време сравнително често започна да ми се налага да чета документацията на Arris CornerStone 1500 и Arris Cadant C3 . Именно поради тази причина реших тук да добавя всичките документации които имам за тези ариси.

1. Документация за Arris CornerStone 1500
2. Документация за Arris Cadant C3

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

Инсталиране и конфигуриране на tftpd

Тук в тази публикация ще опиша най- основния метод за инсталиране и "конфигуриране" на Trivial FTPD или tftpd .

#apt-get install tftpd

Понеже аз искам tftp директорията да не бъде тази по подразбиране, а друга /tftpboot ще трябва да променим последния аргумент в /etc/inetd.conf

Ето и финалния резултат:

tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /tftpboot

За да рестартираме само inetd ще вземем номера на процеса и ще му изпратим заповед да бъде рестартиран (rofl)

#ps -aux | grep inetd|grep -v grep
root      2904  0.0  0.0   1952   660 ?        Ss   13:42   0:00 /usr/sbin/inetd

#kill -HUP 2904

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

Компилиране на docsis и потенциални проблеми

От години не бях компилирал docsis и днес ми се наложи. Сблъсках се с няколко проблема при компилирането и реших да ги опиша тук.

CFLAGS=-lm ./configure

Проблем:

checking whether we are using the GNU C++ compiler… no
checking whether g++ accepts -g… no
checking dependency style of g++… none
checking how to run the C++ preprocessor… /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.

Решение: apt-get install g++

---
Проблем: checking for m4… /usr/bin/m4
configure: error:  GNU M4 is needed

Решение: Имате инсталиран m4, но уви не го приема. Ето го и решението:

Файл: configure
Заменяме

ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`;

със

ac_is_gnu_m4=`echo $ac_m4_vers | grep -q GNU && echo GNU` ;

Файл: configure.in

Заменяте

ac_is_gnu_m4=`echo $ac_m4_vers | cut -d' ' -f1`;

със

ac_is_gnu_m4=`echo $ac_m4_vers | grep -q GNU && echo GNU` ;

Проблем:
checking for net-snmp-config… /usr/libexec/net-snmp-config
configure: error: You need at least net-snmp 5.0.7, get it at http://www.net-snmp.org

Решение: apt-get install libsnmp

Проблеми при "make"

Проблем:
checking for net-snmp-config… /usr/libexec/net-snmp-config
configure: error: You need at least net-snmp 5.0.7, get it at http://www.net-snmp.org

Решение: apt-get install libsnmp

Остава накрая: make install
и всичко е готово :)

#:/tmp/docsis-0.9.5# which docsis
/usr/local/bin/docsis

#:/tmp/docsis-0.9.5# docsis

DOCSIS Configuration File creator, version 0.9.5
Copyright (c) 1999,2000,2001 Cornel Ciocirlan, [email protected]
Copyright (c) 2002,2003,2004,2005 Evvolve Media SRL, [email protected]

To encode a cable modem configuration file:
docsis -e <modem_cfg_file> <key_file> <output_file>
To encode multiple cable modem configuration files:
docsis -m <modem_cfg_file1> …  <key_file> <new_extension>
To encode a MTA configuration file:
docsis -p <mta_cfg_file> <output_file>
To encode multiple MTA configuration files:
docsis -m -p <mta_file1> …  <new_extension>
To decode a CM or MTA config file:
docsis -d <binary_file>

Where:
<cfg_file>              = name of text (human readable) cable modem or MTA
configuration file
<key_file>              = text file containing the authentication key
(shared secret) to be used for the CMTS MIC
<output_file>           = name of output file where the binary data will
be written to (if it does not exist it is created).
<binary_file>           = name of binary file to be decoded
<new_extension>         = new extension to be used when encoding multiple files

See examples/*.cfg for configuration file format.

Please send bugs or questions to [email protected]

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

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

От както преди няколко години за първи ползвах eAccelerator и останах удивлен от ускорението което предоставя съм решил да го слагам на повечето машини с apache2. Днес ми се наложи да го сложа на още една машина и реших за бъдещото поколение български администраторчета как да се инсталира eAccelerator. За администраторчетата под FreeBSD преди време бях писал пак едно кратко ръководство много подобно на това-> Инсталиране на EAccelerator за Apache 2.x ( 2.2.8 ) и FreeBSD 7.0

wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar xvfj eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3
./configure
make
make install

Edit file: /usr/local/Zend/etc/php.ini

; Eaccelerator added by amri Sun Oct 12 21:13:14 UTC 2006
extension="eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
;eaccelerator.keys     = "shm_and_disk"
;eaccelerator.sessions = "shm_and_disk"
;eaccelerator.content  = "shm_and_disk"

Проблеми които могат да ви възникнат при конфигурирането

./configure: line 3580: php-config: command not found
./configure: line 3581: php-config: command not found
configure: error: Cannot find php-config. Please use --with-php-config=PATH

Решение: apt-get install php5-dev

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 проблем с много отворени таблици- Errcode: 24

Тук проблемът не е в MySQL да поясня отначало, а в това, че базата има много таблици и респективно отваря много файлове,а броя на файловете по подразбиране в MySQL които могат да се отварят не са особено много :).
"Проблемът" е следния: Когато се експортва база с повече таблици от колкото разрешени отворени файлове в my.cnf може да се получи следната грешка:

#mysqldump -uroot -p wordpress_multi > wordpress_multi.sql
mysqldump: Got error: 29: File './wordpress_multi/wp_61_terms.MYD' not found (Errcode: 24) when using LOCK TABLES

Понеже "error code: 24" нищо не ми говори затова използвам perror (За повече информация относно perror, натиснете ТУК) за да разбера какво означава това:

# perror 24
OS error code  24:  Too many open files

Става ясно, че трябва да увеличим максималния брой отворени файлове в mysql. Добавяте следния ред в конф файла на MySQL (/etc/my.cnf), секция [mysqld]:

open-files=2048

Рестартирате mysqld ( /etc/init.d/mysqld restart)

След като може да се отварят повече файлове от 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)

perror и как той ще ни помогне да разрешаваме проблемите в MySQL

perror е конзолно приложение от пакета MySQL което има за цел да извежда грешките по зададен "номер на грешка". На всеки се е случвало в MySQL да получи грешка  и да се чуди какво означава "Got error 29 … (Errcode: 24) …". Повечето хора веднага започват да търся в google какво означава това, но благодарение на perror това не е необходимо. От терминала си просто изпълнете perror с аргумент номера на грешката и ще получите отговор какъв е проблема в MySQL(не в MySQL, а какво не е конфигурирано правилно в MySQL).
Пример за за използване на perror за търсене на грешка с номер 28 :

# perror 28
OS error code  28:  No space left on device

От отговора на perror става ясно къде е проблема. решението ставям на вас ;)

За мое и ваше улеснение ще предоставя номерата на грешките и техните описания според perror:

OS error code   1:  Operation not permitted
OS error code   2:  No such file or directory
OS error code   3:  No such process
OS error code   4:  Interrupted system call
OS error code   5:  Input/output error
OS error code   6:  No such device or address
OS error code   7:  Argument list too long
OS error code   8:  Exec format error
OS error code   9:  Bad file descriptor
OS error code  10:  No child processes
OS error code  11:  Resource temporarily unavailable
OS error code  12:  Cannot allocate memory
OS error code  13:  Permission denied
OS error code  14:  Bad address
OS error code  15:  Block device required
OS error code  16:  Device or resource busy
OS error code  17:  File exists
OS error code  18:  Invalid cross-device link
OS error code  19:  No such device
OS error code  20:  Not a directory
OS error code  21:  Is a directory
OS error code  22:  Invalid argument
OS error code  23:  Too many open files in system
OS error code  24:  Too many open files
OS error code  25:  Inappropriate ioctl for device
OS error code  26:  Text file busy
OS error code  27:  File too large
OS error code  28:  No space left on device
OS error code  29:  Illegal seek
OS error code  30:  Read-only file system
OS error code  31:  Too many links
OS error code  32:  Broken pipe
OS error code  33:  Numerical argument out of domain
OS error code  34:  Numerical result out of range
OS error code  35:  Resource deadlock avoided
OS error code  36:  File name too long
OS error code  37:  No locks available
OS error code  38:  Function not implemented
OS error code  39:  Directory not empty
OS error code  40:  Too many levels of symbolic links
OS error code  42:  No message of desired type
OS error code  43:  Identifier removed
OS error code  44:  Channel number out of range
OS error code  45:  Level 2 not synchronized
OS error code  46:  Level 3 halted
OS error code  47:  Level 3 reset
OS error code  48:  Link number out of range
OS error code  49:  Protocol driver not attached
OS error code  50:  No CSI structure available
OS error code  51:  Level 2 halted
OS error code  52: Invalid exchange
OS error code  53:  Invalid request descriptor
OS error code  54:  Exchange full
OS error code  55:  No anode
OS error code  56:  Invalid request code
OS error code  57:  Invalid slot
OS error code  59:  Bad font file format
OS error code  60:  Device not a stream
OS error code  61:  No data available
OS error code  62:  Timer expired
OS error code  63:  Out of streams resources
OS error code  64:  Machine is not on the network
OS error code  65:  Package not installed
OS error code  66:  Object is remote
OS error code  67:  Link has been severed
OS error code  68:  Advertise error
OS error code  69:  Srmount error
OS error code  70:  Communication error on send
OS error code  71:  Protocol error
OS error code  72:  Multihop attempted
OS error code  73:  RFS specific error
OS error code  74:  Bad message
OS error code  75:  Value too large for defined data type
OS error code  76:  Name not unique on network
OS error code  77:  File descriptor in bad state
OS error code  78:  Remote address changed
OS error code  79:  Can not access a needed shared library
OS error code  80:  Accessing a corrupted shared library
OS error code  81:  .lib section in a.out corrupted
OS error code  82:  Attempting to link in too many shared libraries
OS error code  83:  Cannot exec a shared library directly
OS error code  84:  Invalid or incomplete multibyte or wide character
OS error code  85:  Interrupted system call should be restarted
OS error code  86:  Streams pipe error
OS error code  87:  Too many users
OS error code  88:  Socket operation on non-socket
OS error code  89:  Destination address required
OS error code  90:  Message too long
OS error code  91:  Protocol wrong type for socket
OS error code  92:  Protocol not available
OS error code  93:  Protocol not supported
OS error code  94:  Socket type not supported
OS error code  95:  Operation not supported
OS error code  96:  Protocol family not supported
OS error code  97:  Address family not supported by protocol
OS error code  98:  Address already in use
OS error code  99:  Cannot assign requested address
OS error code 100:  Network is down
OS error code 101:  Network is unreachable
OS error code 102:  Network dropped connection on reset
OS error code 103:  Software caused connection abort
OS error code 104:  Connection reset by peer
OS error code 105:  No buffer space available
OS error code 106:  Transport endpoint is already connected
OS error code 107:  Transport endpoint is not connected
OS error code 108:  Cannot send after transport endpoint shutdown
OS error code 109:  Too many references: cannot splice
OS error code 110:  Connection timed out
OS error code 111:  Connection refused
OS error code 112:  Host is down
OS error code 113:  No route to host
OS error code 114:  Operation already in progress
OS error code 115:  Operation now in progress
OS error code 116:  Stale NFS file handle
OS error code 117:  Structure needs cleaning
OS error code 118:  Not a XENIX named type file
OS error code 119:  No XENIX semaphores available
OS error code 120:  Is a named type file
OS error code 121:  Remote I/O error
OS error code 122:  Disk quota exceeded
OS error code 123:  No medium found
OS error code 124:  Wrong medium type
OS error code 125:  Operation canceled
MySQL error code 126: Index file is crashed
MySQL error code 127: Record-file is crashed
MySQL error code 128: Out of memory
MySQL error code 130: Incorrect file format
MySQL error code 131: Command not supported by database
MySQL error code 132: Old database file
MySQL error code 133: No record read before update
MySQL error code 134: Record was already deleted (or record file crashed)
MySQL error code 135: No more room in record file
MySQL error code 136: No more room in index file
MySQL error code 137: No more records (read after end of file)
MySQL error code 138: Unsupported extension used for table
MySQL error code 139: Too big row
MySQL error code 140: Wrong create options
MySQL error code 141: Duplicate unique key or constraint on write or update
MySQL error code 142: Unknown character set used
MySQL error code 143: Conflicting table definitions in sub-tables of MERGE table
MySQL error code 144: Table is crashed and last repair failed
MySQL error code 145: Table was marked as crashed and should be repaired
MySQL error code 146: Lock timed out; Retry transaction
MySQL error code 147: Lock table is full;  Restart program with a larger locktable
MySQL error code 148: Updates are not allowed under a read only transactions
MySQL error code 149: Lock deadlock; Retry transaction
MySQL error code 150: Foreign key constraint is incorrectly formed
MySQL error code 151: Cannot add a child row
MySQL error code 152: Cannot delete a parent row

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

Сверяване на дата под GNU/Linux

Преди време един приятел имаше проблем с това и му казах да използва ntpdate, но трябвало да търси ntp сървъри и бла бла.

За целта ето решението за всички които трябва да сверят своята дата под GNU/Linux:

apt-get install ntpdate;

ntpdate 0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

Като отговор ще получите това:
31 Oct 21:19:42 ntpdate[9326]: step time server 94.26.2.134 offset -10472.841536 sec

PS: Ако искате да сложите дата и час по ваш избор, то това става по следния метод:

date -s "2009-10-31 16:21:42"

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