Linux Problems db

Съдъжание
  • За какво става дума и за кого е предназначена тая страница
  • Защо log-а не ми върви на 12 конзола???
  • Защо мишката ми не върви под X (slackware)???
  • Как да кирилизираме конзолата
  • Как да кирилизираме X
  • А как да кирилизираме Netscape Communicator 4.XX за Linux
  • Ако имате проблеми с POP3 сървъра на Slackware
  • Samba & Windows 98/NT4sp3
  • "Голем" проблем с линкера на GCC
  • Проблем с Apache Web Server
  • "Отизтриване" на текстов файл от ext2fs
  • Аз знам как да реша "некой" подобен проблем и искам да го опиша в тази страница. Аз имам подобен проблем и не знам как да го реша. Искам да изкажа мнение по тия въпроси
  • Проблем с програмки писани за Inetd
За какво става дума и за кого е предназначена тая страница:
Става дума за Linux (Ама естествено:))). По точно за "некой" проблеми, чийто решения са доста прости, но неочаквани, и които не могат да се намерят лесно (поне от мене:))). Така че след като след 4 месеца разбрах защо лог-а не ми върви на 12 конзола, а в работата ми и навсякъде където съм слагал Linux - върви, се замислих за направата на тая страничка...

Ако тая страница ви заинтересува, то тогава тя е направена специално за ВАС, ако не - върнете се във вашия windows и не се връщайте повече тука :)))

Windows: How you want to crash today?
Защо log-а не ми върви на 12 конзола???
Файла "/etc/syslog.conf" съдържа информация за log-а на системата. Със следната линия вие можете да пренасочите всички логове на 12 конзола:
*.*         /dev/tty12

Да де, ама в тоя файл, никога не ползувайте коментари, защото ако напишете следното:

*.*         /dev/tty12       #All logs on tty12

То няма да работи.

Защо мишката ми не върви под X (slackware)???

GPM е хубава програмка, ама не е хубаво да се пуска с опция "-R", както това се прави по подразбиране във Slackware. Като начало Kill-нете GPM-то и си пуснете X, окончателното решение е да се редактира файла, зареждащ GPM (най-често някой в директория /etc/rc.d/ )

Този проблем не се наблюдава ако мишката ви е PS/2.

Как да кирилизираме конзолата?
Как да кирилизираме X?
А как да кирилизираме Netscape Communicator 4.XX за Linux?
Описано е в отделна страничка:
www.nmmm.nu/linux
Ако имате проблеми с POP3 сървъра на Slackware:
И аз не знам защо понякога тоя POP3 сървър (in.pop3d) не работи, но в инсталацията на Slackware има една програмка - PINE. Та тя има свой (алтернативен) POP3 (и IMAP !!!!!!!!) сървъри. Ползувайте тях!
Samba & Windows 98/NT4sp3:
Windows 98 праща по мрежата "енкриптнати" пароли. Това е и проблема. В конфигурацията на Samba сървъра (smb.conf) трябва да се укаже:
encrypt passwords = yes

Тогава обаче всички компутори с Windows 95/NT3/NT4 няма да работят. Затова е доста препоръчително да си направите "separated configs" (вижте smb.conf-sample). Ако ползувате само Win98 (като мене) - това решава проблемите ви.

Не забравяйте да направите и файл с "енкриптнати" пароли (smbpasswd -h)

"Голем" проблем с линкера на GCC:
Описание:
  • Има три-четири "библиотеки" или 'ar' архиви: xx1.a, xx2.a, xx3.a
  • Пробваме да ги свържеме с:
    gcc -o a.out xx3.a xx1.a xx2.а ...
  • Получава се грешка: Няма я функция 'yyyy()'. Обаче ние си знаеме че тя си е там в някой от библиотеките...

Решение:

Незнам точно защо, може би заради линкер-оптимизатора, но ако xx1.a ползува функции в xx2.a, а xx2.a ползува функции в xx3.a трябва да им се разменят местата:

gcc -o a.out xx1.a xx2.a xx.3 ...

т.е. тези които ползуват функции от друг архив, трябва да са написани преди него, а тези които не ползуват функции от друг архив, най отзад...

Забележка:

Незнам дали съм го обяснил добре, ама ако ви се случи, ще разберете... :)))

Допълнение (13.Ноември.1999):

Един приятел се е натъкнал на подобен поблем при компилирането на Oracle модул за PHP под HP/UX. Той е решил проблема чрез неколкократно линкване на модула, т.е.

cc -o a.out xx3.a xx1.a xx2.а xx3 ...

Проблем с Apache Web Server
Описание:

В един щастлив момент, след смяна на правата на дадена директория с "drw-r--r--". Web servera спира да я access-ва, въпреки, че Apache се "пуска" на root права...

Решение:

То е същото (може би в този случай намирането на причината беше по-трудно:))).

Сменете правата с ("drwxr-xr-x"). Това предполагам, че е направено заради security-то, въпреки, че според мене няма логика...

Допълнение (няколко месеца по-късно:):

Всъщност сървъра се пуска на root права, но не и отговарящата на заявките част. Тя се "пуска" на правата на потребителя, който е посочен във конфигурацията, най-често nobody или web.

Допълнение (Feedback) 21.сеп.2000:

za apache problema
problema wsyshtnost e che useryt nobody ili tozi za kojto se misli apache-to (primerno www-data) ne moje da listne direktoriqta, da searchne w neq ili kakto iskash mu wikaj.

shtoto x flaga za direktorii ne oznachawa execute a search. predstawqsh li si da znacheshe execute, kak trqbwa da se razbira towa :)

--
Boyan Krosnov (http://www.nat.bg/~bkrosnov)
Network Administrator
Lirex BG Ltd.

 

Отизтриване" на текстов файл от ext2fs
Описание:

Изтриваме текстов файл.

Решение:

Пускаме mc, отиваме и отваряме (F3) файла /dev/hda1 (или този който трябва). Търсим текст от файла. Чакаме доста дълго време (10-20 min). Copy-Paste и готово.

Допълнение:

  • Това се прави като root.
  • Преди започване на работа се мисли 10-20 min.
  • Описаните неща ги правите на ВАША отговорност.

Допълнение (13.Ноември.1999):

По въпроса има написано HOWTO, което се отнася за възтановяването на binary файлове. Също са посочени някой методики, които предпазват от изтриване на файлове (витуални "кошчета", hardlinks и т.н.)

Проблем с програмки писани за Inetd
Ако програма писана за Inetd (имам пед вид от вас), се държи странно (демек не работи), не забравяйте (или имайте пред вид), че "тръбата" (pipe), която идва от порта (на сокета), процесва и добавя '\r' (Cr) към всеки '\n' (NewLine).

Понеже обяснението ми се струва сложно, нека разгледаме следният пример:

#!/bin/sh

read X
if [ "$X" = "nmmm" ]; then
   echo "Hello My Master!"
fi

Е идеята е че този скрипт никога няма да проработи, вместо него използувайте този или подобен метод:

#!/bin/sh

read X
$X=`echo "$X" | tr -d "\r"`
if [ "$X" = "nmmm" ]; then
   echo "Hello My Master!"
fi

Подсказка:
tr -d "\r"
трие всички Cr-ове.

Аз знам как да реша "некой" подобен проблем и искам да го опиша в тази страница. Аз имам подобен проблем и не знам как да го реша. Искам да изкажа мнение по тия въпроси:
OK, просто ми пратете e-mail: nmmm@nmmm.nu
край
© 04.1999
Nikolay Mihaylov Mihaylov