Увеличение выполнения чтений файла открытого текста

Отвечая на это с точки зрения Уоникса 8. Ссылки указывают на исходный код Whonix 8.


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


Брандмауэр Whonix-Workstation здесь не имеет никакого отношения. Это необязательный дополнительный брандмауэр, который отключен по умолчанию. Смотрите страницу man page для более подробного объяснения.

Если бы вы использовали его, следующее правило с принудительным исполнением, что только TCP может уйти.

## The next rule ensures, that only tcp can leave and achieves the desired result from (4).
iptables -A OUTPUT ! -p tcp -j REJECT --reject-with icmp-port-unreachable

Вообще говоря, -p tcp будет означать "только TCP". И ! -p tcp здесь означает все протоколы, кроме TCP.


Обязательным важным элементом здесь является брандмауэр Whonix-Gateway.

Он белым цветом перечисляет трафик UDP на порт 53 (DNS) и перенаправляет его на Tor'овский DnsPort. Найдите в скрипте брандмауэра -p udp --dport 53, чтобы увидеть соответствующие правила. Другой трафик, который он записывает в белые списки и перенаправляет, это TCP. Отдых блокируется благодаря сбросу политики (в качестве страховочной сети) и/или сбросу/отказу по последнему правилу (в зависимости от цепочки).


В зависимости от цепочки.... Перед тем, как кто-то спросит, что я имею в виду.

  • INPUT: dropped
  • FORWARD: rejected
  • OUTPUT: rejected

Full disclosure:
Я сопровождающий Уоникса.

1
17.10.2014, 15:59
2 ответа

Ядро Linux автоматически управляется управлением кэшем. Все, что загружено в оперативную память, остается там, пока другой процесс не нуждается в RAM, и больше нет. Таким образом, в RAM RAM Linux всегда должна быть заполнена. У вас система 128 ГБ ОЗУ, это более чем достаточно для файла 100-1000 МБ.

Чтобы загрузить огромный файл в RAM только CAT : Это:

cat huge_file > /dev/null 2>&1

Все вывод отправляется на / dev / null , но для этого он должен передавать системы RAM. При этом вы можете наблюдать, как кэшируется в / proc / meminfo .

Когда CAT заканчивается, выполняют приложение Ruby. Приложение Ruby теперь читает кэшированную версию огромного файла.

1
27.01.2020, 23:37

Ответ Яна хороший, переменная среды http _ proxy считывается многими программами, например wget . Этот

export http_proxy="http://@${proxyserver}:${port}"

можно добавить в профиль ~/.bash _ . Также работает yum , но вы также можете указать его в /etc/yum.conf .

Аналогичным образом можно настроить и другие программы (например, git в ~/.gitconfig , chrom --proxy-server = host: port ).

Некоторые программы не считывают эту переменную среды, например svn . Необходимо указать прокси . Это работает путем замены общих сетевых библиотек на прокси-версии , которые направляют трафик через прокси. Например, proxchains или tsocks .

Наилучшим источником для каждой программы является открытие руководства и поиск прокси .

btw , причина, по которой ваша попытка не удалась, заключалась в том, что вы не должны использовать космос между http _ proxy и =.. , иначе нельзя объявить эту переменную (bash считает, что это команда, но не находит соответствующую ей в $ PATH .).

-121--186867-

Файл fmpcb.h больше не существует в последней версии Arb. Типы fmprb_t и fmpcb_t в Arb 1.x устарели из-за (более эффективных) типов arb_t и acb_t в Arb 2.x. Последняя версия полностью удалила устаревший тип fmpcb_t.

Вы должны иметь возможность получить код из этого блога, работая путем замены fmprb - > arb и fmpcb - > acb и, возможно, внесения других незначительных корректировок.

Однако лучшим решением является использование примерной программы Keiper-Li, которая включена в Arb:

https://github.com/fredrik-johansson/arb/blob/master/examples/keiper_li.c

Это в основном лучшая версия программы в блоге post. Она быстрее, поддерживает многопоточность, позволяет передавать аргументы в командной строке вместо перекомпиляции, и она должна быть в курсе текущего интерфейса.

Из исходного каталога Arb можно построить и запустить примерную программу следующим образом (при условии, что Arb уже установлен):

cd /home/user/src/arb
make examples
build/examples/keiper_li 100

Можно также построить библиотеку и запустить примерные программы без установки Arb, сообщив компоновщику, что он может найти libarb.so в исходном каталоге:

cd /home/user/src/arb
make
export LD_LIBRARY_PATH=/home/user/src/arb:$LD_LIBRARY_PATH
make examples
build/examples/keiper_li 100

Для получения документации по примерным программам Arb см.: http://fredrikj.net/arb/examples.html

-121--133851-

Используйте dd для чтения раздела файла, не читая все предшествующее. Для примера (чтение байтов от 4 120 000 до 4 120 400) можно использовать

dd  bs=400  skip=10300  count=1  if=your_input_file  of=your_output_file

Это определяет размер логического блока в 400 байт, и затем сообщает dd пропустить первый 10300 «логических блоков» входного файла (, если ). 10300 - это 4,120,000 start400. Затем считывает один блок ( count = 1 ) из 400 байт и записывает его в выходной файл ( из ).Если опустить из спецификации , dd запишет в стандартный вывод, так что вы можете направить его в что-то.

Если начальная точка (смещение) не гарантирована быть целым числом, кратным размеру блока (или даже если оно есть), Вы можете делать более сложные вещи, как

(dd bs=10000 skip=412 count=0;  dd bs=400 count=1 of=your_output_file) < your_input_file

или

(dd bs=4120000 skip=1 count=0;  dd bs=400 count=1 of=your_output_file) < your_input_file

где

  • Опять же, вы можете опустить из спецификации , и это будет запись в стандартный вывод.
  • При выполнении dd без спецификации , если , она считывается из стандартного ввода. Стандартный ввод для всего (dd...; dd...) группа команд поступает из < вашего _ входного файла _ в конце.
  • Первая команда dd не считывает и не записывает данные из-за count = 0 ; он только стремится.
  • Поскольку две команды dd получают стандартный ввод от одного и того же перенаправления ввода-вывода, поиск, выполняемый первым, повлияет на указатель файла, который видит второй.
1
27.01.2020, 23:37

Теги

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