1

(2 ответов, оставленных в Linux)

Не большой скриптик в PERL.

#!/usr/bin/perl
use strict;
my $whatWord = 'what_word_you_need_to_exclude';
my $dir = '/home/user/directory';
my @files = `grep -R $whatWord $dir`;
chomp @files;
foreach my $line (@files)
{
 my ($file, $script) = split (':', $line);
 print "\n===> SED in file ".$file."\n";
 `sed -ie 's/$whatWord//g' $file`;
}
#find ./ -name \*.phpe -delete
exit;

2

(2 ответов, оставленных в Linux)

На FreeBSD что то не получилось с флагами.

# sed -ie 's/phpnet_//ig' ./*
sed: 1: "s/phpnet_//ig": bad flag in substitute command: 'i'

Действительно, то что нужно. Спасибо!

4

(9 ответов, оставленных в FreeBSD & BSD)

Хорошо.

Репликация на серверах mysql версии 5.1 (master) и 5.6 (slave)
Появляется ошибка:

[ERROR] Slave SQL: Error 'BIGINT UNSIGNED value is out of range in
160224  9:40:40 [ERROR] Slave SQL: Error 'BIGINT UNSIGNED value is out of range in '(`mbase`.`user_counts`.`count_simple_table` - 1)'' on query. Default database: 'mbase'. Query: 'UPDATE user_counts SET count_simple_table=count_simple_table -1 WHERE count_ident=5742398', Error_code: 1690
160224  9:40:40 [Warning] Slave: BIGINT UNSIGNED value is out of range in '(`mbase`.`market_user_counts`.`count_simple_table` - 1)' Error_code: 1690
160224  9:40:40 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000284' position 29019852

Что с этим делать и как подлечить?

6

(4 ответов, оставленных в FreeBSD & BSD)

Спасибо за сообщение!

7

(1 ответов, оставленных в Иные программы.)

Спасибо за сообщение.

8

(1 ответов, оставленных в Почтовые программы.)

Пока "подлечил" удалением файла. Правда после рестарта даемона # ./sa-spamd restart
файл не создался. Запустил sa-learn. только после этого он появился.

9

(1 ответов, оставленных в Почтовые программы.)

Проблема переросла в переполнение раздела диска. Выяснилось что причина в bayes_toks . Он "подрос" и почти 4Гб на жестком диске. Что делать.

Вывод sa-learn с опцией дебага -D:

#sa-learn -D --sync --force-expire

............
[21068] dbg: replacetags: done replacing tags
[21068] dbg: bayes: tie-ing to DB file R/O /usr/local/etc/mail/spamassassin/bayesdb/bayes_toks
[21068] dbg: bayes: tie-ing to DB file R/O /usr/local/etc/mail/spamassassin/bayesdb/bayes_seen
[21068] dbg: bayes: found bayes db version 3
[21068] dbg: bayes: DB journal sync: last sync: 1449036229
[21068] dbg: config: score set 3 chosen.
[21068] dbg: learn: initializing learner
[21068] dbg: bayes: bayes journal sync starting
[21068] dbg: bayes: bayes journal sync completed
[21068] dbg: bayes: expiry starting
[21068] dbg: locker: safe_lock: created /usr/local/etc/mail/spamassassin/bayesdb/bayes.lock.localhost.21068
[21068] dbg: locker: safe_lock: trying to get lock on /usr/local/etc/mail/spamassassin/bayesdb/bayes with 0 retries
[21068] dbg: locker: safe_lock: link to /usr/local/etc/mail/spamassassin/bayesdb/bayes.lock: link ok
[21068] dbg: bayes: tie-ing to DB file R/W /usr/local/etc/mail/spamassassin/bayesdb/bayes_toks
[21068] dbg: bayes: tie-ing to DB file R/W /usr/local/etc/mail/spamassassin/bayesdb/bayes_seen
[21068] dbg: bayes: found bayes db version 3
[21068] dbg: locker: refresh_lock: refresh /usr/local/etc/mail/spamassassin/bayesdb/bayes.lock
[21068] dbg: bayes: expiry check keep size, 0.75 * max: 112500
[21068] dbg: bayes: token count: 354985, final goal reduction size: 242485
[21068] dbg: bayes: first pass? current: 1449038813, Last: 1449038771, atime: 0, count: 0, newdelta: 0, ratio: 0, period: 43200
[21068] dbg: bayes: can't use estimation method for expiry, unexpected result, calculating optimal atime delta (first pass)
[21068] dbg: bayes: expiry max exponent: 9
[21068] dbg: bayes: atime token reduction
[21068] dbg: bayes: ======== ===============
[21068] dbg: bayes: 43200 354861
[21068] dbg: bayes: 86400 354630
[21068] dbg: bayes: 172800 354333
[21068] dbg: bayes: 345600 353428
[21068] dbg: bayes: 691200 351931
[21068] dbg: bayes: 1382400 351627
[21068] dbg: bayes: 2764800 346411
[21068] dbg: bayes: 5529600 335734
[21068] dbg: bayes: 11059200 327519
[21068] dbg: bayes: 22118400 306208
[21068] dbg: bayes: couldn't find a good delta atime, need more token difference, skipping expire
[21068] dbg: bayes: expiry completed
[21068] dbg: bayes: untie-ing
[21068] dbg: bayes: files locked, now unlocking lock
[21068] dbg: locker: safe_unlock: unlink /usr/local/etc/mail/spamassassin/bayesdb/bayes.lock

Добавлено: 02-12-2015 07:53:10

Настройки из бейса:

use_bayes 1
#use_dcc 0
bayes_auto_learn 0
bayes_auto_expire 1
bayes_path /usr/local/etc/mail/spamassassin/bayesdb/bayes
bayes_expiry_max_db_size 150000
bayes_journal_max_size 102400
bayes_file_mode 0666
bayes_auto_learn_threshold_nonspam 0.5
bayes_auto_learn_threshold_spam 5.0

Добавлено: 02-12-2015 08:01:52

Мне думается проблема где то здесь...

[22327] dbg: bayes: first pass? current: 1449039635, Last: 1449039057, atime: 0, count: 0, newdelta: 0, ratio: 0, period: 43200
[22327] dbg: bayes: can't use estimation method for expiry, unexpected result, calculating optimal atime delta (first pass)

Но что с ней делать?

10

(4 ответов, оставленных в FreeBSD & BSD)

Да, по диску видимо стартует.Либо в биос-е приоритеты загрузчика нужно заменить, либо отмонтировать CD.

Если Вы склонировали с диска на диск Windows Server 8 , и при попытке загрузиться с нового диска выдает

BOOTMGR is missing

загрузитесь с DVD-загрузочного WIN8, далее выбрать "Восстановление" во втором окне и войти в коммандную строку.
Далее определите букву диска (см. выше как это сделать).
Нашли. Набираем

Bcdboot C:\windows
BOOTREC /REBUILDBCD
 

где C это буква Вашего диска. Может быть и D и другой.

Дополнительно

BOOTREC /FIXMBR
BOOTREC /FIXBOOT
BOOTREC /REBUILDBCD
BOOTREC /SCANOS

Если Вы склонировали с диска на диск Windows Server 8 , и при попытке загрузиться с нового диска выдает

BOOTMGR is missing

загрузитесь с DVD-загрузочного WIN8, далее выбрать "Восстановление" во втором окне и войти в коммандную строку.
Далее определите букву диска (см. выше как это сделать).
Нашли. Набираем

Bcdboot C:\windows
BOOTREC /REBUILDBCD
 

где C это буква Вашего диска. Может быть и D и другой.

Дополнительно

BOOTREC /FIXMBR
BOOTREC /FIXBOOT
BOOTREC /REBUILDBCD
BOOTREC /SCANOS

Спасибо. Это нужно было.

14

(6 ответов, оставленных в FreeBSD & BSD)

Все надо делать по порядку. Конкретно один вопрос решать, потом следующий.

Помогите пожалуйста разобраться.

Система FreeBSD 10.1
Пытаюсь подключиться телнетом для тестирования почтовой системы

Для начала что Вы сделали, и что не удалось сделать.

MrKill пишет:

все ваши правила

поаккуратней с дикцией.

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

crash дал понять постом выше, что и как.

16

(4 ответов, оставленных в FreeBSD & BSD)

Еще можно как то так...

ftp ftp.freebsd.org
cd pub/FreeBSD/releases/i386/8.4-RELEASE/src
mget *
a
quit
./install.sh 

Будем внимательны заранее куда скачиваем и т.д..

17

(4 ответов, оставленных в FreeBSD & BSD)

Давно уже не ставил. Какие то сервера стоят еще, их надо обновлять уже.
Решаю проблему пока просто... хотя как посмотреть на нее еще.

Для тех у кого нет возможности вставить CD в привод.

1. Удаляем в первую очередь все файлы из папок /usr/src/* & /usr/obj/*

2. Качаем дистрибутив RELEASE.iso с официального FTP

fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.4/FreeBSD-8.4-RELEASE-amd64-disc1.iso

Потом,

mkdir /mnt/cdrom
mdconfig -f FreeBSD-8.4-RELEASE-amd64-disc1.iso
mount_cd9660 /dev/md0 /mnt/cdrom
sysinstall

выбираем configure - Distributions - src - all
и выходим (X Exit    Exit this menu (returning to previous) и еще раз <<< X Exit     Exit this menu (returning to previous))
появится меню выбора источника установки.
Выбираем 8 File System  Install from an existing filesystem
И в поле ввода указываем /mnt/cdrom/src

Установщик скопирует файлы в системную/рабочую папку /usr/src
и далее по старинке:

cd /usr/src
make -s buildworld
make -s buildkernel
make -s installkernel
mergemaster -p
make -s installworld
make delete-old (удаляет старые файлы)
mergemaster 
reboot
make delete-old-libs

Внимание! комманда make delete-old-libs удаляет нужные программам файлы. Поэтому  сесли у Вас установлены программки, будьте готовы что они не запустятся. Нужно будет установить порт  misc/compat7x и потом обновлять все по собственным усмотрениям софт по отдельности.

Примечания?
Чтобы отключить изошник:

umount /mnt/cdrom
mdconfig -d -u 0

Дополнительно читаем Makefile

#  1.  `cd /usr/src'       (or to the directory containing your source tree).
#  2.  `make buildworld'
#  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
#  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
#       [steps 3. & 4. can be combined by using the "kernel" target]
#  5.  `reboot'        (in single user mode: boot -s from the loader prompt).
#  6.  `mergemaster -p'
#  7.  `make installworld'
#  8.  `make delete-old'
#  9.  `mergemaster'            (you may wish to use -i, along with -U or -F).
# 10.  `reboot'
# 11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)
#

18

(4 ответов, оставленных в FreeBSD & BSD)

ankor пишет:

У вас

orbital пишет:

FreeBSD 7.3-STABLE

в man  freebsd-update

Team only builds updates for
     releases shipped in binary form by the FreeBSD Release Engineering Team,
     e.g., FreeBSD 7.3-RELEASE and FreeBSD 8.0-RELEASE, but not FreeBSD
     6.3-STABLE or FreeBSD 9.0-CURRENT.

Вам на релиз в начале перейти надо, или руками с исходников обновлять.

Нашел у нас в ответах от ankor
Спасибо!

19

(4 ответов, оставленных в FreeBSD & BSD)

freebsd-update -r 8.0-RELEASE fetch
Looking up update.FreeBSD.org mirrors... 5 mirrors found.
Fetching public key from update5.freebsd.org... failed.
Fetching public key from update2.freebsd.org... failed.
Fetching public key from update4.freebsd.org... failed.
Fetching public key from update6.freebsd.org... failed.
Fetching public key from update3.freebsd.org... failed.
No mirrors remaining, giving up.

В чем может быть проблема?

20

(0 ответов, оставленных в FreeBSD & BSD)

Проблема в следующем. Потребовалось установить /usr/ports/archivers/libarchive
Предистория упускается.

Итак при установке libarchive появляется ошибка.

CCLD   libarchive.la
libtool: link: `libarchive/filter_fork_posix.lo' is not a valid libtool object
*** Error code 1
1 error
*** Error code 2
1 error
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop in /usr/ports/archivers/libarchive.
*** Error code 1
Stop in /usr/ports/archivers/libarchive.

Причина: в системе FreeBSD 7 нет файла spawn.h
Копировать и добавить из 8-й ветки результата не дает.
Решение проблемы в следующем.

Нужно октрыть файл ./configure в папке work и удалить запись о нем.
Код чуть ниже.

#cd work/libarchive-3.1.2
#ee +12954 ./configure

ищем строки
for ac_header in locale.h paths.h poll.h pwd.h signal.h spawn.h
do :

и меняем на
for ac_header in locale.h paths.h poll.h pwd.h signal.h
do :

Закрываем с  сохранением. Переходим обратно в папку порта
#cd /usr/ports/archivers/libarchive

И запускаем снова make install

Проблема решена.

21

(1 ответов, оставленных в Linux)

Спасибо!

22

(2 ответов, оставленных в Linux)

Песочница, это в линуксе что именно, chroot или что иное?
Какой линукс у Вас и вообще, действительно, детали вопроса в студию бы smile

Краткая заметка для тех, кто столкнулся с проблемами на HTTPS-серверах, или кто хотел бы сверить настройки сервера на защищенность против атак.

1. Проверка на vulnerability
Переходим, вводим имя домена где крутится HTTPS-проект и смотрим вывод.

2. Сверяем настройки
Конфигуратор быстро укажет настройки, которые желательно установить для актуального на Вашем сервере ПО.

3. Скрипт для генерации Self signed Certificate
Создает сертификат для сервера Apache1.x/2.x

24

(0 ответов, оставленных в PHP)

Получаем такой вывод.

phpQueryObject Object
(
    [documentID] => aba6d378e1d371570313f2b063e3b948
    [document] => DOMDocument Object
        (
            [doctype] => (object value omitted)
            [implementation] => (object value omitted)
            [documentElement] => (object value omitted)
            [actualEncoding] => UTF-8
            [encoding] => UTF-8
            [xmlEncoding] => UTF-8
            [standalone] => 1
            [xmlStandalone] => 1
            [version] =>
            [xmlVersion] =>
            [strictErrorChecking] => 1
            [documentURI] =>
            [config] =>
            [formatOutput] => 1
            [validateOnParse] =>
            [resolveExternals] =>
            [preserveWhiteSpace] => 1
            [recover] =>
            [substituteEntities] =>
            [nodeName] => #document
            [nodeValue] =>
            [nodeType] => 13
            [parentNode] =>
            [childNodes] => (object value omitted)
            [firstChild] => (object value omitted)
            [lastChild] => (object value omitted)
            [previousSibling] =>
            [attributes] =>
            [ownerDocument] =>
            [namespaceURI] =>
            [prefix] =>
            [localName] =>
            [baseURI] =>
            [textContent] => текст.
................ итд

Сам код:

$link = 'http://...........link';
$page = phpQuery::newDocument(file_get_contents($link));
$ranks = $upage->find('.ranking');
print_r($ranks);
/*
foreach($ranks as $s)
{
  $x++;
  echo "\n";
  //print_r($s);
  if ($x == 1) break;
}
echo "\n";
*/
exit;

Проход по массиву выдает вообще пустое. Если распечатывать как написано, то выдает именно то что я указал выше.
Как найти данные в массиве?

Добавлено: 04-12-2014 11:57:32

Вопрос закрыт. Проблему нашли. Класс находится в DOM , но не в phpQuery

25

(8 ответов, оставленных в Cisco, Linksys)

Прячь ссылку!
А то расстреляют smile