debian удаление пакетов
Вот хочу ещё раз попробовать пересесть на debian, а конкретнее Ubuntu. Думаю поставить 4-е кеды. Вопрос только один, а на сколько оно чисто удалится если их захочется снести?
Заранее спасибо!!!
Вот хочу ещё раз попробовать пересесть на debian, а конкретнее Ubuntu. Думаю поставить 4-е кеды. Вопрос только один, а на сколько оно чисто удалится если их захочется снести?
Заранее спасибо!!!
Вот хочу разобраться с SNMP, что бы самому что нибудь наваять для мониторинга и возможно управления. Гуглил долго но так и не нашёл описания структуры пакета протокола (в rfc ничего что могло бы помочь). Может подскажете какую либо самую простую софтину (лучше если она использует только GET) дабы покопаться в исходниках.
Заранее спасибо!!!
Программка считает трафик по netflow, написана на С++.
Заметил что циска так же передаёт информацию о широковещательных
запросах, таких как 192.168.24.255, 172.168.20.255 (но в принципе могут
быть и 192.168.255.255 в других сетях). Как можно вычислить broadcast
запросы (адрес храниться в переменной типа uint32) не имея заданных
параметров сети (т.е. начальный адрес сети, маска и.т.п).
Заранее спасибо!!!
Дистриб Gentoo. Собрал чистую систему. CUPS не даёт добавить usb принтер, т.е. есть ipp, smb и пр. кроме usb. Что не так? [ebuild R ] net-print/cups-1.3.9 USE="X acl dbus jpeg pam perl png ppds python samba ssl tiff -avahi -gnutls -java -kerberos -ldap -php -slp -static -xinetd -zeroconf" LINGUAS="en -de -es -et -fr -he -id -it -ja -pl -sv -zh_TW" 0 kB Заранее спасибо!!!
Написал софтинку, которая считает трафик по netflow. И всё вроде бы хорошо, но есть одно но... Последние несколько потоков имеют странные адреса. Вот пример: time = 1225203441,src = 192.168.27.222, dst = 192.168.27.255, pkt = 3, oct = 234,in = 1, out = 0, first = 1523725680, last = 1523727180 ... time = 1225203441,src = 25.1.0.0, dst = 40.0.0.0, pkt = 524288, oct = 805306368,in = 5376, out = 31, first = 385875968, last = 352321544 time = 1225203441,src = 255.31.0.0, dst = 177.0.0.0, pkt = 234881024, oct = 352327424,in = 18432, out = 0, first = 203882496, last = 2969567232 time = 1225203441,src = 12.39.0.0, dst = 48.0.0.0, pkt = 100663296, oct = 671088640,in = 5376, out = 8, first = 335544320, last = 1157629440 time = 1225203441,src = 14.0.0.0, dst = 21.0.13.0, pkt = 234881024, oct = 1207959552,in = 45312, out = 0, first = 268435456, last = 352324096 time = 1225203441,src = 17.0.0.0, dst = 40.0.0.0, pkt = 4280221696, oct = 2969567232,in = 17664, out = 1792, first = 234881024, last = 1207959552 time = 1225203441,src = 14.0.0.0, dst = 72.0.0.0, pkt = 203882496, oct = 100663296,in = 5376, out = 1, first = 262144, last = 100663296 time = 1225203441,src = 57.0.0.0, dst = 192.168.25.1, pkt = 1346490970, oct = 1346490970,in = 24352, out = 17866, first = 16777216, last = 3589498337 То что адреса и прочие данные высчитываются правильно, я уверен, поскольку первые 20 потоков имеют правильные значения. А особенно меня смущает, особенно в приведённом блоке, так это то что у последнего потокока примера адрес назначения имеет правильное значение равное адресу шлюза (циски). Может кто то сможет разъяснить что это за адреса? Может где я напортачил? Заранее спасибо!!!
Возник такой вопрос, а буферизирует ли пакеты pcap. Т.е. теряются ли пакеты пришедшие на прослушиваемый интерфейс пока я обрабатываю очередной пакет полученный pcap_next?
Заранее спасибо!!!
Дистриб Gentoo, kde 4.1.2 из kde-testing (layman). При запуске выдаёт такое: startkde: Starting up... kdeinit4: preparing to launch /usr/kde/4.1/lib/kde4/libexec/klauncher kdeinit4: preparing to launch /usr/kde/4.1/bin/kded4 kdeinit4: preparing to launch /usr/kde/4.1/bin/kbuildsycoca4 kbuildsycoca4 running... kdeinit4: preparing to launch /usr/kde/4.1/lib/kde4/libexec/kconf_update kdeinit4: preparing to launch /usr/kde/4.1/bin/kcminit_startup kdeinit4: preparing to launch /usr/kde/4.1/bin/ksmserver kdeinit4: preparing to launch /usr/kde/4.1/bin/krunner kdeinit4: preparing to launch /usr/kde/4.1/bin/knotify4 kwin(19516): Couldn't start knotify from knotify4.desktop: "KDEInit could not launch '/usr/kde/4.1/bin/knotify4'." kdeinit4: preparing to launch /usr/kde/4.1/bin/plasma X Error: BadWindow (invalid Window parameter) 3 Major opcode: 18 (X_ChangeProperty) Resource id: 0x1e0000a QLayout: Attempting to add QLayout "" to Plasma::Dialog "", which already has a layout kdeinit4: preparing to launch /usr/kde/4.1/bin/nepomukserver (Soprano::PluginManager) loading all plugins (Soprano::PluginManager) searching plugin file from "/usr/share/soprano/plugins" (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadparser.desktop" (Soprano::PluginManager) plugin has proper version. (Soprano::PluginManager) found parser plugin "nquadparser" (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadserializer.desktop" (Soprano::PluginManager) plugin has proper version. (Soprano::PluginManager) found serializer plugin "nquadserializer" (Soprano::PluginManager) searching plugin file from "/usr/kde/4.1/share/soprano/plugins" (Soprano::PluginManager) searching plugin file from "/usr/share/soprano/plugins" (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadparser.desktop" (Soprano::PluginManager) plugin has proper version. (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadserializer.desktop" (Soprano::PluginManager) plugin has proper version. [/usr/kde/4.1/bin/nepomukservicestub] nepomukservicestub(19528) [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) loading all plugins [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) searching plugin file from "/usr/share/soprano/plugins" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadparser.desktop" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) plugin has proper version. [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) found parser plugin "nquadparser" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadserializer.desktop" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) plugin has proper version. [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) found serializer plugin "nquadserializer" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) searching plugin file from "/usr/kde/4.1/share/soprano/plugins" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) searching plugin file from "/usr/share/soprano/plugins" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadparser.desktop" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) plugin has proper version. [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) found plugin file "/usr/share/soprano/plugins/nquadserializer.desktop" [/usr/kde/4.1/bin/nepomukservicestub] (Soprano::PluginManager) plugin has proper version.
Есть ли софтина...не знаю как правильно обозвать :)...рисующая структуру кода программы. Т.е. от main() и далее по всем вызывам функций и используемым переменым.
Заранее спасибо!!!
Делаю коллектор для netflow, который передаёт всё полученное на сервер (серверная часть, которая непосредственно и пишет в базу). Проблемма такая что если просто тупо писать в базу всё что приходит, то уже через секунду после запуска в базе набирается около 15 тыс. строк. И это только с одной циски. Плюс получается нехилый загруз сервера mysql (по локальному интерфейсу 150-160 метров в секунду) в результате чего он практически перестаёт нормально работать. Вот и встал вопрос, как сформировать базу что бы не плодилось такое количество записей. Может кто то уже делал подобное и может подсказать как лучше это реализовать.
Заранее спасибо!!!
Есть програмка которая обрабатывает netflow поток, работает через
libpcap. Но есть такая проблема, байты в IP адресе перепутаны.
Код такой:
nflw.h:
/* NetFlow Version 5 Record Format */
struct NFv5R {
uint32_t srcaddr; /* Source IP address */
uint32_t dstaddr; /* Destination IP address */
uint32_t nexthop; /* IP address of the next hop router */
....
main.cpp:
...
packet = pcap_next(handle,&header);
nf5h_pos = ETH_H + IP_H + TCP_H;
nf5r_pos = nf5h_pos + sizeof(struct NFv5H);
// 2ка стоит для проверки, а так оно в цикле будет
int r_offset = (sizeof(NFv5H)+sizeof(NFv5R))*2 + sizeof(NFv5H);
nf5r = (struct NFv5R *) (packet + r_offset);
in_addr iadr;
iadr.s_addr = ntohl(nf5r->srcaddr);
printf("Src addr = %s\n",inet_ntoa(iadr));
iadr.s_addr = ntohl(nf5r->dstaddr);
printf("Dst addr = %s\n",inet_ntoa(iadr));
...
Выводится так:
Src addr = 141.213.212.153
Dst addr = 1.0.33.33
У src явно должно быть так:
213.141.212.153
а вот dst вообще непонятно что такое..
Заранее спасибо!!!Как правильно собрать программу со статически собранным mysql? Пробовал добавить libmysqlclient.a: gcc main.o /usr/lib/mysql/libmysqlclient_r.a /usr/lib/mysql/libmysqlclient.a но он ругается: main.o: In function `pbmysql::fini()': main.cpp:(.text+0x75): undefined reference to `mysql_close' main.o: In function `pbmysql::connectdb()': main.cpp:(.text+0xdf): undefined reference to `mysql_real_connect' main.cpp:(.text+0xf3): undefined reference to `mysql_error' main.cpp:(.text+0x131): undefined reference to `mysql_select_db' ...и далее по списку... Заранее спасибо!!!
В цикле выводиться целое число
printf("%i\r", count);
Когда количество выводимых символов у числа меньше 6 то видно как каретки прыгает на начало строки и обратно. Выглядит как то не очень. Когда их 7 и больше, то видно как каретка стоит в начале строки и не дёргается.
Можно ли как это исправить?
Заранее спасибо!!!
Настроил wtorrent + rtorrent. Но есть проблема, при сохранении файлов с русскими именами получаются "кракозябры". Много гуглил, предлогали заюзать опцию rotrrent'a - encoding_list. Сделал так
encoding_list = KOI8-R
но файлы по прежнему сохраняются в utf'е. Локаль koi8-r.
Что делать?
Заранее спасибо!!!
Собсно интересует сабж, желательно что бы не требовал Х-ов, ну или работал как клиент сервер. Знаю что mldonkey может так, но уж слишко перегружен, нужна поддержка только торрента.
Заранее спасибо!!!
Есть рабочий почтовик (exim) с установленным Каспером Антиспамом и антивирем drweb. Но проблема в том что на сервак идёт слишком большой трафик спама. Решили сэкономить. И арендавали сервер на отдельной площадке (там трафик бесплатен). Встала задача сделать пересылку с этого нового сервера письма на старый, но только те что пройдут фильтрацию спама и вирусни. Т.е. базы пользователей на нём не будет. Гуглил по этому поводу но возможно не правильно ставил вопрос. Подскажите, как назвыается данная операция и если можно то в кратце чем это реализовать роуты, транспорты...?
Заранее спасибо!!!
Пишу клиент-сервер. В клиенте есть вызов send. Так вот примерно 1 из 10 запусков програмы, заканчивается тем, что прога вываливается при send. При этом нет никаких ошибок.
Вот часть кода клиента (некоторые переменные определены в классе):
void socket::send_data(char *data_)
{
sd = socket( PF_INET, SOCK_STREAM, 0 );
if (connect(sd, (struct sockaddr*)&addr, sizeof(addr)) == -1)
{
perror("Connect ");
exit(errno);
}else{
char data[2048];
memcpy(data, data_, strlen(data_)+1);
printf("before\n");
if(send(sd, (char *)&data, 2048, 0) == -1){
perror("Send ");
exit(errno);
}
printf("after\n");
close(sd);
}
}
А вот что выводится в консоль при ошибке:
src $ ./client
before
...и всё...
Часть кода сервера:
void socket::recv_data()
{
while(1){
int client;
socklen_t size = sizeof(addr);
printf( "Waiting for connect...\n" );
client = accept(sd, (struct sockaddr*)&addr, &size );
printf("Connected: %s:%d\n", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
recv(client, &buffer, sizeof(buffer), 0);
printf( "data = %s\n", buffer );
close(client);
}
close(sd);
}
У клиента и сервера данный класс (soсket) явлется потомком класса base_thread.
Вот он:
class base_thread {
public :
virtual ~base_thread() {}
// Must be implemented by real client
virtual void *init() = 0;
int start() {
int n = pthread_create(&pth_, 0, real_run, this);
pthread_detach(pth_);
return n;
}
pthread_t id() const {
return pth_;
}
private :
pthread_t pth_;
static void * real_run(void *arg) {
base_thread *t = static_cast<base_thread *>(arg);
return t->init();
}
};
Вот init() socket:
void *socket::init()
{
addr_len = sizeof(addr);
addr.sin_family = AF_INET;
addr.sin_port = htons( port );
inet_aton( host, &addr.sin_addr );
}
Есть ещё класс base:
...
tsocket = new socket(...);
socket->start();
base *obj = new base(..., tsocket);
obj->start();
...
Класс base, так же является потомком base_thread, вот его init():
void* base::init()
{
int n = 0, r = 0, fd_log = 0;
char *buf = new char[0];
char *line = new char[1024];
fd_log = open( path, O_RDONLY );
if (fd_log < 0){
printf("File %s not found!\n", path);
return 0;
}
r = read(fd_log, &buf[0], 1);
while(r > 0){
while(buf[0] != '\n' && r > 0){
r = read(fd_log, &buf[0], 1);
line[n] = buf[0];
n++;
}
r = read(fd_log, &buf[0], 1);
line[n+1] = '\0';
socket->send_data(line);
n = 0;
}
close(fd_log);
}Дистриб gentoo с последними обновлениями. Создаю в KDevelop проект простого приложения Hello world на С/С++. Ничего в нём не меняю. После того как запускаяется компановка (libtool) память начинает отжираться сумасшедшими темпами. Покопавшись, заметил что в процессах начинает плодиться процесс sh в котором запускается sed (причём один один раждует второй, второй третий и т.д. до бесконечности), родителем которого является gmake. Вопрос что делать, эти процессы рождаются до тех пор пока не кончится память :( Вот что говорит gmake с ключём -d: .... Обновление целей, от которых зависит целевой файл `pbcore', завершено. Необходимо пересобрать цель `pbcore'. gmake[2]: Entering directory `../PBCore/debug/src' Помещение потомка 0x08098108 (pbcore) PID 2088 в цепочку активных потомков. Незавершенный потомок 0x08098108 (pbcore) PID 2088 Подбираю удачно завершившегося потомка 0x08098108 PID 2088 /bin/sh ../libtool --tag=CXX --mode=link g++ -O0 -g3 -o pbcore pbcore.o Незавершенный потомок 0x08098108 (pbcore) PID 2089 .... дальше только CTRL+C Куда копать?! Заранее спасибо!!!
Имеется gentoo с последними нвидиевскими дровами и последним xorg'ом.
Видяха на GeForce 7300.
Проблема такая, не получается завести два монитора.
В консоли работают оба, а в иксах либо один, либо второй, а
два одновременно не хотят. Пробовал на разных дровах, результат
один и тот же.
Вот что имеем.
Когда конфиг такой:
Section "Device"
Identifier "nvidia"
Driver "nvidia"
Screen 0
Option "ConnectedMonitor" "CRT-0"
Option "IgnoreDisplayDevice" "CRT-1"
EndSection
Section "Device"
Identifier "nvidia2"
Driver "nvidia"
Screen 1
Option "ConnectedMonitor" "CRT-1"
Option "IgnoreDisplayDevice" "CRT-0"
EndSection
Section "ServerLayout"
Screen 0 "LCD"
Screen 1 "LCD2" rightOf "LCD"
...
EndSection
Работает только crt-0, а если такой, т.е. для Screen 0 ставим CRT-1:
Section "Device"
Identifier "nvidia"
Driver "nvidia"
Screen 0
Option "ConnectedMonitor" "CRT-1"
Option "IgnoreDisplayDevice" "CRT-0"
EndSection
Section "Device"
Identifier "nvidia2"
Driver "nvidia"
Screen 1
Option "ConnectedMonitor" "CRT-0"
Option "IgnoreDisplayDevice" "CRT-1"
EndSection
Section "ServerLayout"
Screen 0 "LCD"
Screen 1 "LCD2" rightOf "LCD"
...
EndSection
работает только второй.
Для LCD и LCD2 такие конфиги:
Section "Screen"
Identifier "LCD"
Device "nvidia"
Monitor "Monitor"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection
Section "Screen"
Identifier "LCD2"
Device "nvidia"
Monitor "Monitor"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection
Если я не задаю ConnectedMonitor, т.е. опции
Option "ConnectedMonitor"
нет , то в логах такое и работает только первый монитор:
(--) NVIDIA(0): Connected display device(s) on GeForce 7300 GT at PCI:2:0:0:
(--) NVIDIA(0): Samsung SyncMaster (CRT-0)
(--) NVIDIA(0): Samsung SyncMaster (CRT-1)
(--) NVIDIA(0): Samsung SyncMaster (CRT-0): 400.0 MHz maximum pixel clock
(--) NVIDIA(0): Samsung SyncMaster (CRT-1): 400.0 MHz maximum pixel clock
(II) NVIDIA(0): Assigned Display Device: CRT-0
Если для Screen 0 задаю "ConnectedMonitor" "CRT-0":
(--) NVIDIA(0): Connected display device(s) on GeForce 7300 GT at PCI:2:0:0:
(--) NVIDIA(0): Samsung SyncMaster (CRT-0)
(--) NVIDIA(0): Samsung SyncMaster (CRT-0): 400.0 MHz maximum pixel clock
(II) NVIDIA(0): Assigned Display Device: CRT-0
Если для Screen 0 задаю "ConnectedMonitor" "CRT-1":
(--) NVIDIA(0): Connected display device(s) on GeForce 7300 GT at PCI:2:0:0:
(--) NVIDIA(0): Samsung SyncMaster (CRT-1)
(--) NVIDIA(0): Samsung SyncMaster (CRT-1): 400.0 MHz maximum pixel clock
(II) NVIDIA(0): Assigned Display Device: CRT-1
т.е. читается только первый по списку Screen, второй он толи не видит,
толи ещё что.
Что делать?!
Заранее спасибо!!!
Стоит debian etch с последними обновлениями, когда пытаюсь подмонтировать шару, то в dmesg тако: smb_fill_super: missing data argument smb_fill_super: missing data argument smb_fill_super: missing data argument Монтирую так: mount -t smbfs //sigma/share$ /mnt/sigma Если добавить параметры пользователя: mount -t smbfs -o username=USER,password=PASS //sigma/share$ /mnt/sigma То в dmesg такое: smbfs: mount_data version 1919251317 is not supported # uname -a Linux noob 2.6.18-6-686-bigmem #1 SMP Sun Feb 10 22:21:07 UTC 2008 i686 GNU/Linux Помогите, что делать?! Заранее спасибо!!!
Есть exim, пользователи хранятся в базе mysql. Вопрос такой, как отправить письма всем пользователям из этой базы?
Заранее спасибо!!!
| ← назад | следующие → |