Как проверить отмеченность XML-файла на 4 ГБ?

Вывод last(1) прибывает из традиционного wtmp файл (обычно /var/log/wtmp). Как Вы могли бы предположить, этот файл не является записываемым обычными пользователями (на этом поле, он принадлежит root:wtmp).

Традиционно, getty было ответственно за поддержание wtmp, но в эти дни это - PAM, посредством pam_lastlog.so, который также поддерживает /var/log/lastlog.

Если Вы - суперпользователь компьютера, можно перейти в /etc/pam.d и прокомментируйте pam_lastlog.so строка от того, везде, где это появляется там, как соответствующее. На моей машине это использовало только в login файл. Конечно, если Вы - суперпользователь компьютера, можно также заменить last и lastlog со сценарием обертки, который делает что-то как last.orig | fgrep -v some_user.

Если Вы не суперпользователь компьютера и сайт, Вы находитесь на использовании, эта схема, нет ничего, которое можно делать с этим. И с точки зрения законности и с точки зрения полномочий, Вы не можете мешать системе регистрировать Ваши логины и выходы из системы.

4
22.02.2013, 20:07
4 ответа

Вы хотели бы пробовать dtdgen, программа, которую я записал много лет назад для генерации DTD для документа. Это не только говорит Вам, правильно построен ли большой файл, это также говорит Вам, что находится в нем (я записал это, потому что я хотел знать обоих).

2
27.01.2020, 20:56
xmllint --noout 4GB.xml

Такие работы.

Это выходит из памяти также, но по крайней мере это проверяет что-то, прежде чем это умрет.

2
27.01.2020, 20:56
  • 1
    делает xmlint поставка с большинством дистрибутивов или необходимо ли установить его отдельно? –  amphibient 22.02.2013, 22:39
  • 2
    @amphibient, Если не установленный необходимо установить эмигранта. –  TheodorosPloumis 14.01.2015, 16:40

Не пробуют его самостоятельно, но испытывают это:

xmllint --valid 4GB.xml
0
27.01.2020, 20:56
  • 1
    , который я не хочу пробовать, если это допустимо. Я хочу попробовать, если это правильно построено. –  Karel Bílek 22.02.2013, 20:10
  • 2
    Можно ли разыскать меня различие? –  Gilles Quenot 22.02.2013, 20:15
  • 3
  • 4
    в основном, это не может быть допустимо, если это не имеет DTD. И я не имею, все же записал DTD :) –  Karel Bílek 22.02.2013, 20:18

Это старый вопрос, но, поскольку я еще не видел, что он предложил:

Perl с XML :: Twig может обрабатывать большие файлы XML благодаря имению метода «очистки», который отбрасывает в памяти данных, как вы идете.

use strict;
use warnings;

use XML::Twig;

my $twig = XML::Twig->new(
    twig_handlers => {
        _all_ => sub { $_->purge }
    }
)->parsefile( 'my_xml_file.xml' );

Обработчик _ALL_ _ALL_ запускается каждый элемент веточки и отбрасывает данные памяти. Это важно на файле 4G, потому что след памяти XML составляет около 10x. Но это будет бросать предупреждение и прервать, если XML не сложно сформирован:

mismatched tag at line 12, column 27, byte 274 at C:/Perl/lib/XML/Parser.pm line 187.

(но имейте в виду, потому что он прерваний, он только покажет вам только первым .

все равно работает на моем (намного меньше 4G) данных образца.

0
27.01.2020, 20:56

Теги

Похожие вопросы