Я решил этот вопрос путем предоставления моих удостоверений пользователя непосредственно.
Строка в /etc/openvpn/client.conf
:
auth-user-pass /etc/openvpn/client.cred
Файл берет формат:
someusername
somepassword
Удостоверьтесь, что Вы смотрите полномочия файла хотя! 600
должен соответствовать.
Работал ifup
и все работало:
ifup companyvpn
Starting virtual private network daemon: company.
tail +1f file
Я тестировал его на Ubuntu с исходным тарболом LibreOffice, пока wget
загружал его:
tail +1f libreoffice-4.2.5.2.tar.xz | tar -tvJf -
Он также работает на Solaris 10, RHEL3, AIX 5 и Busybox 1. 22.1 в моем Android телефоне (используйте tail +1 -f файл
с Busybox).
Проблема в том, что cat
не знает, что файл все еще добавляется. Как только cat
сталкивается с (текущим) концом файла, из которого он выходит.
Чтобы избежать этого, необходимо заставить wget
записать в канал (или FIFO).
wget -O - http://... | tar -xjf -
Чтобы прочитать файл и следовать ему от начала до прерывания:
tail -fn +1 file
Чтобы продемонстрировать это, попробуйте следующее (предполагая, что Bash с GNU Coreutils):
(while true; do printf . >> /tmp/file; sleep 1; done)&
tail -fn +1 /tmp/file # (Ctrl-C to interrupt, of course, or otherwise kill it.)
kill % # Kills the while-loop.
(Примечание: + 1f
, упомянутый другими, интерпретируется как имя файла, по крайней мере, в команде GNU tail
.)
Вышеупомянутое работает для отдельный файл. Объединение нескольких файлов не сможет детерминированно проследить за всеми из них, не зависнув от первого. Чтобы « cat and follow », следуя только за последним файлом, можно использовать замену процесса .Вот еще одна демонстрация:
printf file1 > /tmp/file1; printf file2 > /tmp/file2
(while true; do printf . | tee -a /tmp/file{1,2} > /dev/null; sleep 1; done)&
cat /tmp/file1 <(tail -fn +1 /tmp/file2) # (Interrupt or kill it.)
kill % # Kills the while-loop.