LINUX.ORG.RU

Сообщения TDrive

 

ноут с двумя видеокартами

всем привет!
решил приобрести ноутбук eMachines E732G-383G32Mikk
в нём видеокарты intel встроенная + ATI radeon внешняя
интересует вопрос как в линуксе\фряхе обстоят дела с переключением видеокарт?
где то читал что у этого ноута в биосе нет возможности выбирать какая карта будет работать, подозреваю что из-за этого настройка линукса превратится в танец с бубном чтобы заставить работать нужную видеокарту, эти подозрения оправданы?

и может кто посоветует ноут ценой 20 000 - 30 000 с экраном 15 дюймов и возможностью переключать видеокарты







TDrive
()

програмимрование для многоядерных процессоров

всем здравствуйте.
сразу говорю яндекс и гугл юзал.
интересует вопрос программирования для процессоров с несколькими ядрами.
из того что нашел в яндексе выяснил что с одной стороны программа должна быть написана для работы с несколькими ядрами (то есть часть вычислений в программе должна выполняться параллельно), с другой стороны ОС сама может распределять нагрузку на ядра(одна программа работает на одном ядре, вторая на другом ядре и они друг другу не мешают).
вопросы:
1) что значит написать программу для работы на нескольких ядрах? например на Перле функция fork() это из этой области или тут что то другое?
2) если программа написана для работы на многоядерном процессоре и ОС регулирует эту работу назначая каждой программе определённое ядро, как эти две вещи работают вместе?
3) как обстоят дела с многоядерными процессорами в FreeBSD и Linux?

помогите разобраться, если где то уже есть ответы на эти вопросы буду признателен за ссылку, заранее спасибо.

TDrive
()

(FreeBSD) Ошибка сегментации(core dumped)

здраствуйте помогите разобратся.
Freebsd 8.0 Рабочая среда Xfce 4.6.2
нужно сделать снимок экрана
установил /usr/ports/x11/xfce4-screenshooter-plugin
после установки ввожу
$xfce4-screenshooter -f
а в ответ «Ошибка сегментации(core dumped)»
первый раз сталкиваюсь с этой ошибкой подскажите как исправляется?
и какими ещё средствами в xfce4 можно сделать снимок экрана?

TDrive
()

pppoe и dhcp

на freebsd настрое интернет
в rc.conf

ifconfig_rl0=«DHCP»

в ppp.conf

eltel:
set device PPPoE:«rl0»
set dial «»
set authname «*****»
set authkey «*****»
set ifaddr 0 0
add default HISADDR

подключаюсь командой ppp -ddial eltel

теперь вопрос:
если из rc.conf убрать строчку
ifconfig_rl0=«DHCP»
и подключиться к интернету то всё работает

вот вывод ifconfig:
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
   options=8<VLAN_MTU>
   ether 00:30:4f:4c:4c:18
   media: Ethernet autoselect (100baseTX <full-duplex>)
   status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
   options=3<RXCSUM,TXCSUM>
   inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
   inet6 ::1 prefixlen 128
   inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
   inet 89.112.97.83 --> 81.9.101.123 netmask 0xffffffff
   Opened by PID 1158

для rl0 никакого ip адреса не присваивается потомучто небыло обращения к DHCP серверу.

получается для pppoe DHCP-сервер не нужен?

TDrive
()

cron настройка

ос Freebsd
решил сделать будильник запуская в определённое время команду
mplayer /usr/home/tdrive/my/b.mp3
b.mp3 музыкальный файл
вариант идеальный пока додумаюсь ввести killall HUP mplayer полюбому проснусь
решил использовать cron и сначало проверить работу поставив время через пару минут
$crontab -e
в редакторе vi ввёл
49 3 * * * mplayer /usr/home/tdrive/my/b.mp3
проверил через $crontab -l
всё правильно подождал 2 минуты ничего не работает(
пробовал и через табуляцию и через пробелы и команду запуска музыки заключать в «» всёравно не работает.
где я ошибся?

TDrive
()

Apache загрузка файлов через cgi

задавал этот вопрос в разделе Web-development
http://www.linux.org.ru/forum/web-development/5177033?lastmod=1280673712041
но там так и не ответили и оказалось вопрос больше подходит к этому разделу.

есть apache 1.3 на Freebsd и cgi скрипт на перле который принимает файлы и сохраняет их на сервере.
интересует сама логика передачи файла.
тоесть юзер выбирает файл в html форме и тыркает отправить, браузер отправляет файл через Post, апачь принимает файл и тут 2 варианта:
1) апачь по кусочкам принимает и передаёт файл скрипту но при таком алгоритме если на сервере стоит таймаут на скрипт в 30 сек а у пользователя плохая скорость интернета то даже файл в 5мб не сможет передаться так как скрипт завершится через 30сек после начала передачи.
2)апачь принимает весь файл а уже потом запускает скрипт для обработки
и передаёт файл скрипту, получается что загрузка на тайм аут не влияет,
но тогда если например передаётся файл в 4 гбайта апачу его гдето нужно сохранить на диске перед отправкой в скрипт както не логично получается тратить 4 гига диска.

какой из вариантов правильный? и если первый то как сделать чтобы время загрузки не влияла на таймаут?

TDrive
()

Apache загрузка файлов через perl скрипт

всем здравствуйте.
есть сервер apache 1.3 на сервере перл скрипт принимает файл через html форму и сохраняет его на диск.
загрузка файла может длиться несколько минут но на сервере стоит ограничение на время работы скрипта 30 секунд.
вопрос:
если файл не успеет загрузиться за 30 секунд загрузка обрывается или нет? и если обрывается как это можно исправить не меняя настройки сервера?

TDrive
()

FreeBSD глюк с Xfce

всем здраствуйте.
FreeBSD 8.0 графическая среда Xfce запускаю через startx
так вот я использую файловый менеджер Tunar
но когда устанавливал из портов File Roller вместе с ним установился Nautilus как зависимость.
после этого момента при загрузке Xfce на рабочем столе сначало появляются значки характерные для гнома (например «мой компьютер»)
а через несколько секунд появляются значки Xfce
(думаю связано с установкой наутилуса)
это конечно не сильно мешает но хочется исправить, посоветуйте что можно сделать? это проблема настроек Xfce или чтото другое?

TDrive
()

freebsd автоматическая установка софта из портов

здраствуйте
при установке софта (какого нибудь глобального как Xorg или gnome2) из портов нужно постоянно сидеть смотреть на монитор и выбирать нужные настройки. можно ли както это дело автоматизировать? зарание записать все нужные настройки которые и будут выбираться при установке, или чтобы всегда выбирались дефолтные настройки, чтобы по 2-3 часа у монитора не сидеть? в какую сторону копать?

TDrive
()

Perl узнать разрешение картинки

всем здраствуйте
подскажите как в перле узнать разрешение картинки
например пока использую такой скрипт:
#!/usr/bin/perl
use strict;
use Image::Magick;
my $image = Image::Magick->new;
$image->Read(«адрес к файлу .jpg»);
my ($x,$y)=$image->Get('base-columns','base-rows');

но я так подозреваю функция Read загружает всю картинку в оперативку причём перед этим переводит её из jpg в bmp (ошибаюсь?) и если картинка большая это сильно забивает оперативку.
как узнать разрешение картинки не загружая её в память?
наверно прочитать какието определённые байты файла картинки но какие?

TDrive
()

FreeBSD и перезагрузка при отключении света:)

здраствуйте лоровцы.
вопрос:
FreeBSD 8.0 при перезагрузке (например отключении света)
когда система загружается она первое время сильно тормозит
думаю она проверяет диски на ошибки но хотелось бы узнать что именно она делает?
и как вообще FreeBSD переживает такие перезагрузки?

TDrive
()

perl DBI mysql вопрос про finish()

всем здраствуте.
вопрос про функчию finish() из модуля DBI;
искал в интернете описание этой функции понял только что $sth->finish() освобождает память выделенную для $sth.(или ошибся?)
например есть код:
my $dbh = DBI->connect();

my $sth = $dbh->prepare();
$sth->execute();
$sth = $dbh->prepare();
$sth->execute();
$sth = $dbh->prepare();
$sth->execute();

$sth->finish();
$dbh->disconnect();

вопрос: $sth->finish() достаточно вызывать в самом конце программы как в примере или её нужно вызывать после каждого $sth->execute() ?
и что если её вообще не вызывать? ведь после завершения программы память и так очищается.

TDrive
()

DBD:mysql ошибка при установке

здраствуйте помогите разобраться ос FreeBSD 8.0 установил apache и mysql55 начал ставить DBD::mysql для перла через cpan выдаёт ошибку:

Test Summary Report ------------------- t/40catalog.t (Wstat: 2304 Tests: 4 Failed: 0) Non-zero exit status: 9 Parse errors: Bad plan. You planned 77 tests but ran 4. Files=39, Tests=754, 17 wallclock secs ( 1.20 usr 0.40 sys + 10.98 cusr 2.23 csys = 14.80 CPU) Result: FAIL Failed 1/39 test programs. 0/754 subtests failed. *** Error code 255

Stop in /root/.cpan/build/DBD-mysql-4.015-BVP9kH. CAPTTOFU/DBD-mysql-4.015.tar.gz /usr/bin/make test — NOT OK //hint// to see the cpan-testers results for installing this module, try: reports CAPTTOFU/DBD-mysql-4.015.tar.gz Warning (usually harmless): 'YAML' not installed, will not store persistent state Running make install make test had returned bad status, won't install without force Failed during this command: CAPTTOFU/DBD-mysql-4.015.tar.gz : make_test NO

что это такое и что с этим делать? или может установить этот модуль другими способами? он в портах есть?

TDrive
()

perl, apach ограничение ресурсов

название топика может не совсем верное но как назвать по другому не придумал)
суть проблемы в том что если на сервере выполняется cgi скрипт например:

#!/usr/bin/perl
print «Content-Type: text/html\n\n»;
print (1..60000000);

то система намертво зависает. понятно что не хватает процессора\оперативки на обработку массива в 60 миллионов ячеек.
но как сделать чтобы ОС не зависала ну хотя бы ошибка выдавалась или что бы скрипт не загружал процессор на 100%?
ещё я постоянно сижу из под root если создать пользователя и заходить с него может система сама будет ограничивать ресурсы?
ОС ubuntu 9.04
сервер apache 2.2.11

TDrive
()

perl в nginx

всем добрый день
ОС - ubuntu 9.04
поставил nginx 0.6.35, ставил через Synaptic.

вопрос как заставить перл работать на nginx? что установить? что настроить? где должны лежать перл файлы? (также как на апаче cgi-bin или как-то по другому?) и как вообще должен выглядеть перл код?
например:
#!/usr/bin/perl
print «Content-Type: text/html\n\n»;
print «Hello world»;
или он должен вставляться в html файлы как php?
хотя бы пните в нужную сторону или ссылку дайте где это всё можно прочитать. заранее спс.

TDrive
()

apache + perl в ubuntu

доброго времени суток. решил поставить на своём компе сервер apache+perl+mysql. ОС ubuntu 9.04 ; для перла установил только DBI ; mysql установил через Synaptic ; apache 2.2.11 тоже через Synaptic поставил; всё норм работает но не могу разобраться как заставить апач работать с cgi скриптами? понимаю что на эту тему куча всего написана но все эти описания либо о какой нибудь авто установке всего что только может понадобится, либо отличаются от того что у меня на компе. например адрес к httpd.conf - /ect/apach2/httpd.conf причём сам этот файл пустой тогда в каких файлах настраивать сервер? и что нужно изменить чтоб перл заработал?

зарание спасибо за помощь.

TDrive
()

perl таймаут

подскажите как сделать таймаут на перле например если есть код:

while(1){ 1.оператор 2.оператор 3.оператор }

нужно чтобы за каждый цикл программа выполняла 1 оператор, потом начинала выполнять 2 и если 2 оператор выполняется слишком долго то переходила сразу к 3 оператору.

TDrive
()

что такое linux cooked capture

увидел в wireshark этот протокол идёт перед протоколом IP . что он делает и зачем он нужен?
TDrive
()

fcntl perl

хотел создать не блокирующий хендлер fcntl( HENDLER, F_SETFL, O_NONBLOCK);

выдаёт ошибку your vendor has not defined Fcntl macro F_SETFL

ошибка явно не синтаксиса а или из за ОС или из за интерпретатора использую winXP и ActivePerl-5.10.0.1005 понимаю что форум по linux но может кто сталкивался помогите разобраться.

TDrive
()

клиент и сервер на Перл

Сразу извинюсь так как я запускаю скрипт на виндах а форум посвящён линуксу. просто на 2 других форумах программистов мне не смогли помочь

вот сервер

#!/usr/bin/perl
use Socket;
use IO::Handle;
socket(SERVER, AF_INET, SOCK_STREAM, getprotobyname('tcp'));
setsockopt(SERVER, SOL_SOCKET, SO_REUSADDR, 1);
bind (SERVER, sockaddr_in( 2000, INADDR_ANY));
listen (SERVER,SOMAXCONN);
warn "waiting for incoming connections... \n";
while(1){
	next unless my $remote_addr = accept(SESSION, SERVER);
	warn "Connection \n";
	if(fork==0){
		SESSION->autoflush(1);
		while(<SESSION>){
			chomp($_);
			print SESSION "(".$_.")\n";	}
		print "Connection finished\n";
		exit 0;}}
close SERVER;

вот клиент

#!/usr/bin/perl
use Socket;
use IO::Handle;
socket(CLIENT, AF_INET, SOCK_STREAM, getprotobyname('tcp'));
connect(CLIENT, sockaddr_in(2000,inet_aton('127.0.0.1')));
CLIENT->autoflush(1);
my $child=fork();
if($child){
	print "main started:\n";
	syswrite(CLIENT,$data) while sysread(STDIN,$data,1024);}
else{
	print "child started:\n";
	syswrite(STDOUT,$data) while sysread(CLIENT,$data,1024);}
close CLIENT;

в кратце логика: сервер висит на 2000 порту, принимает от клиента строчку текста потом отправляет её обратно клиенту. клиент когда подключается к серверу делится на 2 процесса 1 процесс читает с клавиатуры и отправляет серверу 2 процесс слушает сервер и выводит на монитор проблема в том что когда клиент отправляет первую строчку текста он виснет. думаю проблема в том что 2 процесса клиента вместе используют <CLIENT> так как если один процесс отключить 2 нормально работает но в чём именно проблема понять не могу. заранее спс за помощь

TDrive
()