chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:12:17 +08:00
commit cf8edb9f21
44281 changed files with 1655134 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
---- Changes since 1.000 ----
Add support for viewing all system logs files, including systemd-journald
+46
View File
@@ -0,0 +1,46 @@
require 'logviewer-lib.pl';
# acl_security_form(&options)
# Output HTML for editing security options for the syslog module
sub acl_security_form
{
# Can enter arbitrary filename
print &ui_table_row($text{'acl_any'},
&ui_yesno_radio("any", int($_[0]->{'any'})));
# Can view syslog logs and logs from other modules
print &ui_table_row($text{'acl_syslog'},
&ui_yesno_radio("syslog", int($_[0]->{'syslog'})));
print &ui_table_row($text{'acl_others'},
&ui_yesno_radio("others", int($_[0]->{'others'})));
# Allowed directories
print &ui_table_row($text{'acl_logs'},
&ui_radio("logs_def", $_[0]->{'logs'} ? 0 : 1,
[ [ 1, $text{'acl_all'} ], [ 0, $text{'acl_sel'} ] ]).
"<br>\n".
&ui_textarea("logs", join("\n", split(/\t+/, $_[0]->{'logs'})),
5, 50), 3);
# Extra per-user log files
print &ui_table_row($text{'acl_extra'},
&ui_textarea("extras", join("\n", split(/\t+/, $_[0]->{'extras'})),
5, 50), 3);
}
# acl_security_save(&options)
# Parse the form for security options for the syslog module
sub acl_security_save
{
$_[0]->{'any'} = $in{'any'};
$_[0]->{'syslog'} = $in{'syslog'};
$_[0]->{'others'} = $in{'others'};
$in{'logs'} =~ s/\r//g;
$_[0]->{'logs'} = $in{'logs_def'} ? undef :
join("\t", split(/\n/, $in{'logs'}));
$_[0]->{'extras'} = join("\t", split(/\n/, $in{'extras'}));
}
+40
View File
@@ -0,0 +1,40 @@
do 'logviewer-lib.pl';
# backup_config_files()
# Returns files and directories that can be backed up
sub backup_config_files
{
return undef
}
# pre_backup(&files)
# Called before the files are actually read
sub pre_backup
{
return undef;
}
# post_backup(&files)
# Called after the files are actually read
sub post_backup
{
return undef;
}
# pre_restore(&files)
# Called before the files are restored from a backup
sub pre_restore
{
return undef;
}
# post_restore(&files)
# Called after the files are restored from a backup
sub post_restore
{
return undef;
}
1;
+7
View File
@@ -0,0 +1,7 @@
skip_index=1
lines=100
include_context=0
others=1
reverse=1
log_any=0
compressed=1
+9
View File
@@ -0,0 +1,9 @@
skip_index=Open log view on module load?,1,1-Yes,0-No
lines=Default number of lines to display,0,6
include_context=Context lines around each match,3,None
compressed=Include compressed logs in searches?,1,1-Yes,0-No
refresh=Seconds between log view refreshes,3,Never
others=Show logs from other modules?,1,1-Yes,0-No
extras=Extra log files to show,9,50,4,\t
reverse=Log display order,1,1-Newest lines at top,0-Newest lines at bottom
log_any=Can view any file as a log?,1,1-Yes,0-No
+6
View File
@@ -0,0 +1,6 @@
line1=Настраиваемые параметры,11
lines=Количество отображаемых строк по умолчанию,0,6
refresh=Интервал обновлениями просмотра журнала (сек.),3,Никогда
others=Показать логи других модулей?,1,1-Да,0-Нет
extras=Дополнительные файлы журналов для отображения,9,50,4,\t
reverse=Порядок отображения журнала,1,1-Самые новые вверху,0-Самые новые внизу
+3
View File
@@ -0,0 +1,3 @@
any=1
syslog=1
others=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

+175
View File
@@ -0,0 +1,175 @@
#!/usr/local/bin/perl
# index.cgi
# Display syslog rules
require './logviewer-lib.pl';
# Display syslog rules
my @col0;
my @col1;
my @col2;
my @col3;
my @lnks;
if ($access{'syslog'}) {
my @systemctl_cmds = &get_systemctl_cmds();
foreach $o (@systemctl_cmds) {
local @cols;
push(@cols, &text('index_cmd', "<tt>".
&cleanup_destination($o->{'cmd'})."</tt>"));
my $icon = $o->{'id'} =~ /journal-(a|x)/ ? "&#x25E6;&nbsp; " : "";
push(@cols, $icon.&cleanup_description($o->{'desc'}));
push(@cols, &ui_link("view_log.cgi?idx=$o->{'id'}&view=1",
$text{'index_view'}) );
push(@lnks, "view_log.cgi?idx=$o->{'id'}&view=1");
push(@col0, \@cols);
}
# System logs from other modules
my @foreign_syslogs;
if (&foreign_available('syslog') &&
&foreign_installed('syslog')) {
&foreign_require('syslog');
my $conf = &syslog::get_config();
foreach $c (@$conf) {
next if ($c->{'tag'});
next if (!&can_edit_log($c));
local @cols;
local $name;
if ($c->{'file'}) {
$name = &text('index_file',
"<tt>".&html_escape($c->{'file'})."</tt>");
}
if ($c->{'file'} && -f $c->{'file'}) {
push(@cols, $name);
push(@cols, join("&nbsp;;&nbsp;",
map { &html_escape($_) } @{$c->{'sel'}}));
push(@cols, &ui_link("view_log.cgi?idx=syslog-".
$c->{'index'}."&"."view=1", $text{'index_view'}) );
push(@lnks, "view_log.cgi?idx=syslog-".
$c->{'index'}."&"."view=1");
push(@col1, \@cols);
push(@foreign_syslogs, $c->{'file'});
}
}
}
if (&foreign_available('syslog-ng') &&
&foreign_installed('syslog-ng')) {
&foreign_require('syslog-ng');
my $conf = &syslog_ng::get_config();
my @dests = &syslog_ng::find("destination", $conf);
foreach my $dest (@dests) {
my $file = &syslog_ng::find_value("file", $dest->{'members'});
my ($type, $typeid) = &syslog_ng::nice_destination_type($dest);
next if (grep(/^$file$/, @foreign_syslogs));
next if ($file !~ /^\//);
if ($typeid == 0 && -f $file) {
my @cols;
if ($file && -f $file) {
next if (!&can_edit_log({'file' => $file}));
push(@cols, &text('index_file',
"<tt>".&html_escape($file)."</tt>"));
push(@cols, "&nbsp;;&nbsp;$dest->{'value'}");
push(@cols, &ui_link(
"view_log.cgi?idx=syslog-ng-".
$dest->{'index'}."&"."view=1",
$text{'index_view'}) );
push(@lnks, "view_log.cgi?idx=syslog-ng-".
$dest->{'index'}."&"."view=1");
@cols = sort { $a->[2] cmp $b->[2] } @cols;
push(@col1, \@cols);
}
}
}
}
}
# Display logs from other modules
if ($config{'others'} && $access{'others'}) {
@others = &get_other_module_logs();
if (@others) {
foreach $o (@others) {
local @cols;
if ($o->{'file'}) {
push(@cols, &text('index_file',
"<tt>".&html_escape($o->{'file'})."</tt>"));
}
else {
push(@cols, &text('index_cmd',
"<tt>".&html_escape($o->{'cmd'})."</tt>"));
}
push(@cols, $o->{'desc'} ? &html_escape($o->{'desc'}) : "");
push(@cols, &ui_link("view_log.cgi?oidx=$o->{'mindex'}".
"&omod=$o->{'mod'}&view=1", $text{'index_view'}) );
push(@lnks, "view_log.cgi?oidx=$o->{'mindex'}".
"&omod=$o->{'mod'}&view=1");
@cols = sort { $a->[2] cmp $b->[2] } @cols;
push(@col2, \@cols);
}
}
}
# Display extra log files
foreach $e (&extra_log_files()) {
local @cols;
if ($e->{'file'}) {
push(@cols, &text('index_file',
"<tt>".&html_escape($e->{'file'})."</tt>"));
}
else {
push(@cols, &text('index_cmd',
"<tt>".&html_escape($e->{'cmd'})."</tt>"));
}
push(@cols, $e->{'desc'} ? &html_escape($e->{'desc'}) : "");
push(@cols, &ui_link("view_log.cgi?extra=".&urlize($e->{'file'} || $e->{'cmd'})."&view=1", $text{'index_view'}) );
push(@lnks, "view_log.cgi?extra=".&urlize($e->{'file'} || $e->{'cmd'})."&view=1");
@cols = sort { $a->[2] cmp $b->[2] } @cols;
push(@col3, \@cols);
}
# Print sorted table with logs files and commands
my @acols = (@col0, @col1, @col2, @col3);
my $print_header = sub {
# Print the header
&ui_print_header($text{'index_subtitle'}, $text{'index_title'}, "", undef, 1, 1, 0,
&help_search_link("systemd-journal journalctl", "man", "doc"));
};
# If no logs are available just show the message
if (!@acols) {
$print_header->();
&ui_print_endpage($text{'index_elogs'});
}
# If we jump directly to logs just redirect
if ($config{'skip_index'} == 1 && $lnks[0]) {
&redirect($lnks[0]);
return;
}
# Print the header
$print_header->();
print &ui_columns_start( @acols ? [
$text{'index_to'},
$text{'index_rule'}, "" ] : [ ], 100);
foreach my $col (@acols) {
print &ui_columns_row($col);
}
print &ui_columns_end();
print "<p>\n";
if ($access{'any'} && $config{'log_any'} == 1) {
# Can view any log (under allowed dirs)
print &ui_form_start("view_log.cgi");
print &ui_hidden("view", 1),"\n";
print "$text{'index_viewfile'}&nbsp;&nbsp;\n",
&ui_textbox("file", undef, 50),"\n",
&file_chooser_button("file", 0, 1),"\n",
&ui_submit($text{'index_viewok'}),"\n";
print &ui_form_end();
}
&ui_print_footer("/", $text{'index'});
+13
View File
@@ -0,0 +1,13 @@
# install_check.pl
do 'logviewer-lib.pl';
# is_installed(mode)
# For mode 1, returns 2 if the server is installed and configured for use by
# Webmin, 1 if installed but not configured, or 0 otherwise.
# For mode 0, returns 1 if installed, 0 if not
sub is_installed
{
return $_[0] ? 2 : 1;
}
+58
View File
@@ -0,0 +1,58 @@
index_title=عارض سجلات النظام
index_elogs=لم يتم العثور على سجلات للعرض
index_to=وجهة السجل
index_rule=تم تحديد الرسائل
index_file=ملف$1
index_cmd=إخراج من$1
index_return=عارض سجلات النظام
index_view=رأي..
index_viewfile=عرض ملف السجل:
index_viewok=رأي
journal_journalctl=جميع الرسائل
journal_expla_journalctl=جميع الرسائل مع الشروحات
journal_journalctl_dmesg=رسائل Kernel
journal_journalctl_debug_info=رسائل التصحيح والمعلومات
journal_journalctl_notice_warning=رسائل التنبيه والتحذير
journal_journalctl_err_crit=رسائل الخطأ والحرجة
journal_journalctl_alert_emerg=رسائل التنبيه والطوارئ
journal_journalctl_unit=رسائل لوحدة محددة
journal_since0=أحدث ما هو متاح
journal_since1=متابعة في الوقت الحقيقي
journal_since2=التمهيد الحالي
journal_since3=منذ 7 أيام
journal_since4=منذ 24 ساعة
journal_since5=منذ 8 ساعات
journal_since6=منذ ساعة واحدة
journal_since7=منذ 30 دقيقة
journal_since8=منذ 10 دقائق
journal_since9=منذ 3 دقائق
journal_since10=منذ دقيقة واحدة
journal_sincefollow=في
journal_since=منذ
view_title=مشاهدة ملف السجل
view_titlejournal=عرض المجلة
view_header=آخر$1 سطر من$2
view_header2=آخر $1 سطر
view_header3=خطوط $1
view_empty=ملف السجل فارغ
view_loading=جاري مراقبة ملف السجل.. لا توجد أسطر جديدة حتى الآن.
view_filter=تصفية الأسطر بالنص$1
view_filter_btn=فلتر
save_efile="$1" ليس اسم ملف صالحًا :$2
save_ecannot2=لا يسمح لك لعرض هذا السجل
save_ecannot3=خطأ: لا يُسمح لك بعرض هذا السجل
save_ecannot4=خطأ: تعذر فتح '$1'
save_ecannot6=لا يسمح لك لعرض السجلات التعسفية
save_ecannot7=لا يسمح لك لعرض هذا السجل الإضافي
save_emissing=ملف السجل مفقود لعرضه
acl_any=يمكن عرض أي ملف كسجل؟
acl_logs=يمكن عرض وتكوين ملفات السجل
acl_all=كل السجلات
acl_sel=فقط الملفات المدرجة وتلك الموجودة ضمن الأدلة المدرجة ..
acl_extra=ملفات تسجيل إضافية لهذا المستخدم
acl_syslog=هل يمكن عرض السجلات من سجل النظام؟
acl_others=هل يمكن عرض السجلات من وحدات أخرى؟
+58
View File
@@ -0,0 +1,58 @@
index_title=Преглед на системни регистрационни файлове
index_elogs=Не бяха намерени регистрационни файлове за показване
index_to=Дестинация на регистрационния файл
index_rule=Избрани съобщения
index_file=Файл $1
index_cmd=Изход от $1
index_return=преглед на системни журнали
index_view=Преглед..
index_viewfile=Преглед на регистрационния файл:
index_viewok=Преглед
journal_journalctl=Всички съобщения
journal_expla_journalctl=Всички съобщения с обяснения
journal_journalctl_dmesg=Съобщения на ядрото
journal_journalctl_debug_info=Съобщения за отстраняване на грешки и информация
journal_journalctl_notice_warning=Известия и предупредителни съобщения
journal_journalctl_err_crit=Грешки и критични съобщения
journal_journalctl_alert_emerg=Предупредителни и спешни съобщения
journal_journalctl_unit=Съобщения за конкретна единица
journal_since0=Последни налични
journal_since1=Следете в реално време
journal_since2=Текущо зареждане
journal_since3=преди 7 дни
journal_since4=преди 24 часа
journal_since5=преди 8 часа
journal_since6=преди 1 час
journal_since7=преди 30 минути
journal_since8=преди 10 минути
journal_since9=преди 3 минути
journal_since10=преди 1 минута
journal_sincefollow=в
journal_since=тъй като
view_title=Преглед на регистрационния файл
view_titlejournal=Преглед на дневника
view_header=Последни $1 редове от $2
view_header2=Последни $1 реда
view_header3=Редове на $1
view_empty=Лог файлът е празен
view_loading=Лог файлът се наблюдава.. Все още няма нови редове.
view_filter=Филтриране на редове с текст $1
view_filter_btn=Филтър
save_efile='$1' не е валидно име на файл : $2
save_ecannot2=Нямате право да преглеждате този дневник
save_ecannot3=Грешка: Нямате право да видите този дневник
save_ecannot4=Грешка: „$1“ не може да се отвори
save_ecannot6=Нямате право да преглеждате произволни регистрационни файлове
save_ecannot7=Нямате право да преглеждате този допълнителен дневник
save_emissing=Липсва регистрационен файл за преглед
acl_any=Може ли да разглежда всеки файл като дневник?
acl_logs=Може да преглежда и конфигурира лог файлове
acl_all=Всички трупи
acl_sel=Само изброени файлове и тези под изброените директории ..
acl_extra=Допълнителни регистрационни файлове за този потребител
acl_syslog=Може ли да преглежда регистрационни файлове от syslog?
acl_others=Може ли да преглежда регистрационни файлове от други модули?
+58
View File
@@ -0,0 +1,58 @@
index_title=Visualitzador de registres del sistema
index_elogs=No s'han trobat registres per mostrar
index_to=Destinació del registre
index_rule=Missatges seleccionats
index_file=Fitxer $1
index_cmd=Sortida de $1
index_return=visor de registres del sistema
index_view=Veure...
index_viewfile=Veure fitxer de registre:
index_viewok=Veure
journal_journalctl=Tots els missatges
journal_expla_journalctl=Tots els missatges amb explicacions
journal_journalctl_dmesg=Missatges del nucli
journal_journalctl_debug_info=Missatges de depuració i informació
journal_journalctl_notice_warning=Missatges d'avís i advertència
journal_journalctl_err_crit=Missatges d'error i crítics
journal_journalctl_alert_emerg=Missatges d'alerta i emergència
journal_journalctl_unit=Missatges per a unitats específiques
journal_since0=Últims disponibles
journal_since1=Seguiment en temps real
journal_since2=Arrencada actual
journal_since3=fa 7 dies
journal_since4=fa 24 hores
journal_since5=fa 8 hores
journal_since6=fa 1 hora
journal_since7=fa 30 minuts
journal_since8=fa 10 minuts
journal_since9=fa 3 minuts
journal_since10=fa 1 minut
journal_sincefollow=en
journal_since=des que
view_title=Veure fitxer de registre
view_titlejournal=Veure el diari
view_header=Les darreres $1 línies de $2
view_header2=Últimes $1 línies
view_header3=Línies de $1
view_empty=El fitxer de registre està buit
view_loading=S'està mirant el fitxer de registre.. Encara no hi ha cap línia nova.
view_filter=Filtra les línies amb el text $1
view_filter_btn=Filtre
save_efile='$1' no és un nom de fitxer vàlid : $2
save_ecannot2=No teniu permís per veure aquest registre
save_ecannot3=Error: no teniu permís per veure aquest registre
save_ecannot4=Error: no s'ha pogut obrir "$1"
save_ecannot6=No teniu permís per veure els registres arbitraris
save_ecannot7=No teniu permís per veure aquest registre addicional
save_emissing=Falta el fitxer de registre per veure'l
acl_any=Pot veure qualsevol fitxer com a registre?
acl_logs=Pot veure i configurar fitxers de registre
acl_all=Tots els registres
acl_sel=Només els fitxers llistats i els que hi ha a directoris llistats ..
acl_extra=Fitxers de registre addicionals per a aquest usuari
acl_syslog=Es poden veure els registres de Syslog?
acl_others=Es poden veure els registres d'altres mòduls?
+58
View File
@@ -0,0 +1,58 @@
index_title=Prohlížeč systémových protokolů
index_elogs=Nebyly nalezeny žádné protokoly k zobrazení
index_to=Cíl protokolu
index_rule=Zprávy vybrány
index_file=Soubor $1
index_cmd=Výstup z $1
index_return=prohlížeč systémových protokolů
index_view=Pohled..
index_viewfile=Zobrazit soubor protokolu:
index_viewok=Pohled
journal_journalctl=Všechny zprávy
journal_expla_journalctl=Všechny zprávy s vysvětlením
journal_journalctl_dmesg=Zprávy jádra
journal_journalctl_debug_info=Ladicí a informační zprávy
journal_journalctl_notice_warning=Upozornění a varovné zprávy
journal_journalctl_err_crit=Chybové a kritické zprávy
journal_journalctl_alert_emerg=Výstražné a nouzové zprávy
journal_journalctl_unit=Zprávy pro konkrétní jednotku
journal_since0=Nejnovější dostupné
journal_since1=Sledování v reálném čase
journal_since2=Aktuální boot
journal_since3=před 7 dny
journal_since4=před 24 hodinami
journal_since5=před 8 hodinami
journal_since6=před 1 hodinou
journal_since7=před 30 minutami
journal_since8=před 10 minutami
journal_since9=před 3 minutami
journal_since10=před 1 minutou
journal_sincefollow=v
journal_since=od
view_title=Zobrazit soubor protokolu
view_titlejournal=Zobrazit deník
view_header=Poslední řádky $1 z $2
view_header2=Posledních $1 řádků
view_header3=Řádky $1
view_empty=Soubor protokolu je prázdný
view_loading=Soubor protokolu je sledován.. Zatím žádné nové řádky.
view_filter=Filtrovat řádky s textem $1
view_filter_btn=Filtr
save_efile='$1' není platný název souboru : $2
save_ecannot2=Nemáte oprávnění prohlížet tento protokol
save_ecannot3=Chyba: Nemáte oprávnění prohlížet tento protokol
save_ecannot4=Chyba: Nelze otevřít „$1“
save_ecannot6=Nemáte povoleno prohlížet libovolné protokoly
save_ecannot7=Nemáte oprávnění prohlížet tento extra protokol
save_emissing=Chybí soubor protokolu k zobrazení
acl_any=Lze zobrazit jakýkoli soubor jako protokol?
acl_logs=Může prohlížet a konfigurovat soubory protokolu
acl_all=Všechny protokoly
acl_sel=Pouze uvedené soubory a soubory v uvedených adresářích ..
acl_extra=Extra soubory protokolu pro tohoto uživatele
acl_syslog=Lze zobrazit protokoly ze syslogu?
acl_others=Lze prohlížet protokoly z jiných modulů?
+58
View File
@@ -0,0 +1,58 @@
index_title=System Log Viewer
index_elogs=Der blev ikke fundet nogen logfiler at vise
index_to=Log destination
index_rule=Beskeder valgt
index_file=Fil $1
index_cmd=Output fra $1
index_return=systemlogfremviser
index_view=Udsigt..
index_viewfile=Se logfil:
index_viewok=Udsigt
journal_journalctl=Alle beskeder
journal_expla_journalctl=Alle beskeder med forklaringer
journal_journalctl_dmesg=Kernel beskeder
journal_journalctl_debug_info=Fejlretnings- og infomeddelelser
journal_journalctl_notice_warning=Meddelelser og advarsler
journal_journalctl_err_crit=Fejl og kritiske meddelelser
journal_journalctl_alert_emerg=Alarm- og nødbeskeder
journal_journalctl_unit=Meddelelser for specifik enhed
journal_since0=Senest tilgængelige
journal_since1=Følg i realtid
journal_since2=Nuværende støvle
journal_since3=7 dage siden
journal_since4=24 timer siden
journal_since5=8 timer siden
journal_since6=1 time siden
journal_since7=30 minutter siden
journal_since8=10 minutter siden
journal_since9=3 minutter siden
journal_since10=1 minut siden
journal_sincefollow=i
journal_since=siden
view_title=Se logfil
view_titlejournal=Se Journal
view_header=Sidste $1 linjer af $2
view_header2=Sidste $1 linjer
view_header3=Linjer af $1
view_empty=Logfilen er tom
view_loading=Logfilen bliver overvåget.. Ingen nye linjer endnu.
view_filter=Filtrer linjer med tekst $1
view_filter_btn=Filter
save_efile='$1' er ikke et gyldigt filnavn : $2
save_ecannot2=Du har ikke tilladelse til at se denne log
save_ecannot3=Fejl: Du har ikke tilladelse til at se denne log
save_ecannot4=Fejl: Kunne ikke åbne '$1'
save_ecannot6=Du har ikke tilladelse til at se vilkårlige logfiler
save_ecannot7=Du har ikke tilladelse til at se denne ekstra log
save_emissing=Manglende logfil at se
acl_any=Kan du se enhver fil som en log?
acl_logs=Kan se og konfigurere logfiler
acl_all=Alle logs
acl_sel=Kun listede filer og dem under listede mapper ..
acl_extra=Ekstra logfiler til denne bruger
acl_syslog=Kan du se logfiler fra syslog?
acl_others=Kan du se logfiler fra andre moduler?
+58
View File
@@ -0,0 +1,58 @@
index_title=System Logs
index_elogs=Der <tt>journalctl</tt>-Befehl ist auf Ihrem System nicht verfügbar, und andere Protokolle sind so konfiguriert, dass sie in der Modulkonfiguration nicht angezeigt werden.
index_to=Protokoll
index_rule=Beschreibung
index_file=Datei $1
index_cmd=Ausgabe von $1
index_return=Systemprotokolle
index_view=Ansehen..
index_viewfile=Protokolldatei ansehen:
index_viewok=Ansehen
journal_journalctl=Alle Nachrichten
journal_expla_journalctl=Alle Nachrichten mit Erklärungen
journal_journalctl_dmesg=Kernel-Nachrichten
journal_journalctl_debug_info=Debug- und Informationsnachrichten
journal_journalctl_notice_warning=Hinweis- und Warnmeldungen
journal_journalctl_err_crit=Fehler- und kritische Nachrichten
journal_journalctl_alert_emerg=Alarm- und Notfallmeldungen
journal_journalctl_unit=Nachrichten für eine bestimmte Einheit
journal_since0=Neueste verfügbar
journal_since1=Echtzeit verfolgen
journal_since2=Aktueller Boot
journal_since3=Vor 7 Tagen
journal_since4=Vor 24 Stunden
journal_since5=Vor 8 Stunden
journal_since6=Vor 1 Stunde
journal_since7=Vor 30 Minuten
journal_since8=Vor 10 Minuten
journal_since9=Vor 3 Minuten
journal_since10=Vor 1 Minute
journal_sincefollow=seit
journal_since=seit
view_title=Protokolldatei ansehen
view_titlejournal=Journal ansehen
view_header=Letzte $1 Zeilen von $2
view_header2=Letzte $1 Zeilen
view_header3=Zeilen von $1
view_empty=Protokolldatei ist leer
view_loading=Protokolldatei wird überwacht .. Keine neuen Zeilen bisher.
view_filter=Zeilen mit dem Text $1 filtern
view_filter_btn=Filtern
save_efile='$1' ist kein gültiger Dateiname : $2
save_ecannot2=Sie dürfen dieses Protokoll nicht ansehen
save_ecannot3=Fehler: Sie dürfen dieses Protokoll nicht ansehen
save_ecannot4=Fehler: Konnte '$1' nicht öffnen
save_ecannot6=Sie dürfen keine beliebigen Protokolle ansehen
save_ecannot7=Sie dürfen dieses zusätzliche Protokoll nicht ansehen
save_emissing=Fehlende Protokolldatei zum Anzeigen
acl_any=Kann beliebige Datei als Protokoll anzeigen?
acl_logs=Kann Protokolldateien anzeigen und konfigurieren
acl_all=Alle Protokolle
acl_sel=Nur aufgeführte Dateien und die unter den aufgeführten Verzeichnissen ..
acl_extra=Zusätzliche Protokolldateien für diesen Benutzer
acl_syslog=Kann Protokolle aus syslog anzeigen?
acl_others=Kann Protokolle aus anderen Modulen anzeigen?
+58
View File
@@ -0,0 +1,58 @@
index_title=Προβολή αρχείων καταγραφής συστήματος
index_elogs=Δεν βρέθηκαν αρχεία καταγραφής για εμφάνιση
index_to=Προορισμός καταγραφής
index_rule=Επιλέχθηκαν μηνύματα
index_file=Αρχείο $1
index_cmd=Έξοδος από $1
index_return=πρόγραμμα προβολής αρχείων καταγραφής συστήματος
index_view=Θέα..
index_viewfile=Προβολή αρχείου καταγραφής:
index_viewok=Θέα
journal_journalctl=Όλα τα μηνύματα
journal_expla_journalctl=Όλα τα μηνύματα με εξηγήσεις
journal_journalctl_dmesg=Μηνύματα πυρήνα
journal_journalctl_debug_info=Εντοπισμός σφαλμάτων και μηνύματα πληροφοριών
journal_journalctl_notice_warning=Ειδοποιήσεις και προειδοποιητικά μηνύματα
journal_journalctl_err_crit=Σφάλματα και κρίσιμα μηνύματα
journal_journalctl_alert_emerg=Μηνύματα ειδοποίησης και έκτακτης ανάγκης
journal_journalctl_unit=Μηνύματα για συγκεκριμένη μονάδα
journal_since0=Τελευταία διαθέσιμη
journal_since1=Ακολουθήστε σε πραγματικό χρόνο
journal_since2=Τρέχουσα μπότα
journal_since3=7 μέρες πριν
journal_since4=πριν από 24 ώρες
journal_since5=πριν 8 ώρες
journal_since6=πριν 1 ώρα
journal_since7=πριν 30 λεπτά
journal_since8=πριν 10 λεπτά
journal_since9=πριν 3 λεπτά
journal_since10=πριν 1 λεπτό
journal_sincefollow=σε
journal_since=από
view_title=Προβολή αρχείου καταγραφής
view_titlejournal=Προβολή περιοδικού
view_header=Τελευταίες $1 γραμμές του $2
view_header2=Τελευταίες $1 γραμμές
view_header3=Γραμμές του $1
view_empty=Το αρχείο καταγραφής είναι κενό
view_loading=Το αρχείο καταγραφής παρακολουθείται.. Δεν υπάρχουν ακόμα νέες γραμμές.
view_filter=Φιλτράρισμα γραμμών με κείμενο $1
view_filter_btn=Φίλτρο
save_efile=Το '$1' δεν είναι έγκυρο όνομα αρχείου : $2
save_ecannot2=Δεν επιτρέπεται να δείτε αυτό το αρχείο καταγραφής
save_ecannot3=Σφάλμα: Δεν επιτρέπεται να δείτε αυτό το αρχείο καταγραφής
save_ecannot4=Σφάλμα: Δεν ήταν δυνατό το άνοιγμα του '$1'
save_ecannot6=Δεν επιτρέπεται η προβολή αυθαίρετων αρχείων καταγραφής
save_ecannot7=Δεν επιτρέπεται να δείτε αυτό το επιπλέον αρχείο καταγραφής
save_emissing=Λείπει το αρχείο καταγραφής για προβολή
acl_any=Μπορείτε να δείτε οποιοδήποτε αρχείο ως αρχείο καταγραφής;
acl_logs=Μπορεί να προβάλει και να διαμορφώσει αρχεία καταγραφής
acl_all=Όλα τα κούτσουρα
acl_sel=Μόνο τα αρχεία που παρατίθενται και αυτά που βρίσκονται κάτω από τους καταλόγους που παρατίθενται ..
acl_extra=Επιπλέον αρχεία καταγραφής για αυτόν τον χρήστη
acl_syslog=Μπορείτε να δείτε αρχεία καταγραφής από το syslog;
acl_others=Μπορείτε να δείτε αρχεία καταγραφής από άλλες μονάδες;
+64
View File
@@ -0,0 +1,64 @@
index_title=System Logs
index_elogs=The <tt>journalctl</tt> command is not available on your system, and other logs are configured not to be displayed in the module configuration.
index_to=Log
index_rule=Description
index_file=File $1
index_cmd=Output from $1
index_return=system logs
index_view=View..
index_viewfile=View log file:
index_viewok=View
journal_journalctl=All messages
journal_expla_journalctl=All messages with explanations
journal_journalctl_dmesg=Kernel messages
journal_journalctl_debug_info=Debug and info messages
journal_journalctl_notice_warning=Notice and warning messages
journal_journalctl_err_crit=Error and critical messages
journal_journalctl_alert_emerg=Alert and emergency messages
journal_journalctl_unit=Messages for specific unit
journal_since0=Latest available
journal_since1=Real-time follow
journal_since2=Current boot
journal_since2-1=Last boot
journal_since30=30 days ago
journal_since3=7 days ago
journal_since4=24 hours ago
journal_since5=8 hours ago
journal_since6=1 hour ago
journal_since7=30 minutes ago
journal_since8=10 minutes ago
journal_since9=3 minutes ago
journal_since10=1 minute ago
journal_sincefollow=in
journal_since=since
view_title=View Logfile
view_titlejournal=View Journal
view_header=Last $1 lines of $2
view_header2=Last $1 lines
view_header3=Lines of $1
view_empty=Log file is empty
view_loading=Log file is being watched .. No new lines yet.
view_filter=Filter lines with text $1
view_filter_surround=With context
view_filter_regex=Use regex
view_filter_btn=Filter
save_efile='$1' is not a valid filename : $2
save_ecannot2=You are not allowed to view this log
save_ecannot3=Error: You are not allowed to view this log
save_ecannot4=Error: Could not open '$1'
save_ecannot6=You are not allowed to view arbitrary logs
save_ecannot7=You are not allowed to view this extra log
save_emissing=Missing log file to view
acl_any=Can view any file as a log?
acl_logs=Can view and configure log files
acl_all=All logs
acl_sel=Only listed files and those under listed directories ..
acl_extra=Extra log files for this user
acl_syslog=Can view logs from syslog?
acl_others=Can view logs from other modules?
__norefs=1
+58
View File
@@ -0,0 +1,58 @@
index_title=Visor de registros del sistema
index_elogs=No se encontraron registros para mostrar
index_to=Destino de registro
index_rule=Mensajes seleccionados
index_file=Archivo $1
index_cmd=Salida de $1
index_return=visor de registros del sistema
index_view=Vista..
index_viewfile=Ver archivo de registro:
index_viewok=Vista
journal_journalctl=Todos los mensajes
journal_expla_journalctl=Todos los mensajes con explicaciones
journal_journalctl_dmesg=Mensajes del núcleo
journal_journalctl_debug_info=Mensajes de depuración e información
journal_journalctl_notice_warning=Avisos y mensajes de advertencia
journal_journalctl_err_crit=Mensajes de error y críticos
journal_journalctl_alert_emerg=Mensajes de alerta y emergencia
journal_journalctl_unit=Mensajes para una unidad específica
journal_since0=Último disponible
journal_since1=Seguimiento en tiempo real
journal_since2=Arranque actual
journal_since3=Hace 7 días
journal_since4=Hace 24 horas
journal_since5=Hace 8 horas
journal_since6=Hace 1 hora
journal_since7=Hace 30 minutos
journal_since8=Hace 10 minutos
journal_since9=Hace 3 minutos
journal_since10=Hace 1 minuto
journal_sincefollow=en
journal_since=desde
view_title=Ver archivo de registro
view_titlejournal=Ver diario
view_header=Últimas $1 líneas de $2
view_header2=Últimas $1 líneas
view_header3=Líneas de $1
view_empty=El archivo de registro está vacío
view_loading=Se está observando el archivo de registro. No hay líneas nuevas todavía.
view_filter=Filtrar líneas con texto $1
view_filter_btn=Filtrar
save_efile='$1' no es un nombre de archivo válido : $2
save_ecannot2=No tienes permiso para ver este registro
save_ecannot3=Error: No tienes permiso para ver este registro
save_ecannot4=Error: No se pudo abrir '$1'
save_ecannot6=No tienes permiso para ver registros arbitrarios
save_ecannot7=No tienes permiso para ver este registro adicional
save_emissing=Falta el archivo de registro para ver
acl_any=¿Puede ver cualquier archivo como un registro?
acl_logs=Puede ver y configurar archivos de registro
acl_all=Todos los registros
acl_sel=Solo los archivos enumerados y los que se encuentran en los directorios enumerados ..
acl_extra=Archivos de registro adicionales para este usuario
acl_syslog=¿Puede ver los registros de syslog?
acl_others=¿Puede ver los registros de otros módulos?
+58
View File
@@ -0,0 +1,58 @@
index_title=Sistemaren erregistroen ikuslea
index_elogs=Ez da aurkitu erregistrorik bistaratzeko
index_to=Erregistroaren helmuga
index_rule=Mezuak hautatuta
index_file=$1 fitxategia
index_cmd=Irteera $1-tik
index_return=sistemaren erregistroen ikuslea
index_view=Ikusi..
index_viewfile=Ikusi erregistro-fitxategia:
index_viewok=Ikusi
journal_journalctl=Mezu guztiak
journal_expla_journalctl=Mezu guztiak azalpenekin
journal_journalctl_dmesg=Kernel mezuak
journal_journalctl_debug_info=Araztu eta informazio mezuak
journal_journalctl_notice_warning=Oharra eta abisu mezuak
journal_journalctl_err_crit=Errore eta mezu kritikoak
journal_journalctl_alert_emerg=Alerta eta larrialdi mezuak
journal_journalctl_unit=Unitate jakin baterako mezuak
journal_since0=Eskuragarri dagoen azkena
journal_since1=Jarraipena denbora errealean
journal_since2=Oraingo abioa
journal_since3=duela 7 egun
journal_since4=duela 24 ordu
journal_since5=duela 8 ordu
journal_since6=Duela ordu bat
journal_since7=Duela 30 minutu
journal_since8=Duela 10 minutu
journal_since9=Duela 3 minutu
journal_since10=Duela minutu bat
journal_sincefollow=urtean
journal_since=geroztik
view_title=Ikusi erregistro-fitxategia
view_titlejournal=Ikusi Aldizkaria
view_header=$2ren azken $1 lerroak
view_header2=Azken $1 lerroak
view_header3=$1eko lerroak
view_empty=Erregistro fitxategia hutsik dago
view_loading=Erregistro fitxategia ikusten ari da.. Ez dago lerro berririk oraindik.
view_filter=Iragazi lerroak $1 testuarekin
view_filter_btn=Iragazkia
save_efile='$1' ez da baliozko fitxategi-izen bat : $2
save_ecannot2=Ez duzu erregistro hau ikusteko baimenik
save_ecannot3=Errorea: ez duzu erregistro hau ikusteko baimenik
save_ecannot4=Errorea: ezin izan da '$1' ireki
save_ecannot6=Ez duzu erregistro arbitrarioak ikusteko baimenik
save_ecannot7=Ez duzu erregistro gehigarri hau ikusteko baimenik
save_emissing=Ikusteko erregistro-fitxategia falta da
acl_any=Edozein fitxategi ikus al daiteke erregistro gisa?
acl_logs=Erregistro fitxategiak ikusi eta konfigura ditzake
acl_all=Erregistro guztiak
acl_sel=Zerrendatutako fitxategiak eta zerrendatutako direktorioen azpian daudenak bakarrik ..
acl_extra=Erabiltzaile honen erregistro-fitxategi gehigarriak
acl_syslog=Syslog-eko erregistroak ikus al daitezke?
acl_others=Ikus al daitezke beste moduluetako erregistroak?
+58
View File
@@ -0,0 +1,58 @@
index_title=نمایشگر گزارش های سیستم
index_elogs=هیچ گزارشی برای نمایش یافت نشد
index_to=مقصد ورود به سیستم
index_rule=توضیحات
index_file=پرونده $1
index_cmd=خروجی از $1
index_return=نمایشگر لاگ های سیستم
index_view=چشم انداز..
index_viewfile=مشاهده فایل گزارش:
index_viewok=چشم انداز
journal_journalctl=همه پیام ها
journal_expla_journalctl=همه پیام ها همراه با توضیحات
journal_journalctl_dmesg=پیام های هسته
journal_journalctl_debug_info=اشکال زدایی و پیام های اطلاعاتی
journal_journalctl_notice_warning=پیام های اخطار و اخطار
journal_journalctl_err_crit=خطا و پیام های مهم
journal_journalctl_alert_emerg=پیام های هشدار و اضطراری
journal_journalctl_unit=پیام برای واحد خاص
journal_since0=آخرین موجود
journal_since1=در زمان واقعی دنبال کنید
journal_since2=بوت فعلی
journal_since3=7 روز پیش
journal_since4=24 ساعت پیش
journal_since5=8 ساعت پیش
journal_since6=1 ساعت پیش
journal_since7=30 دقیقه پیش
journal_since8=10 دقیقه پیش
journal_since9=3 دقیقه پیش
journal_since10=1 دقیقه پیش
journal_sincefollow=در
journal_since=از آنجایی که
view_title=مشاهده Logfile
view_titlejournal=مشاهده مجله
view_header=آخرین $1 خط $2
view_header2=آخرین $1 خط
view_header3=خطوط $1
view_empty=فایل گزارش خالی است
view_loading=فایل گزارش در حال مشاهده است.. هنوز خط جدیدی وجود ندارد.
view_filter=خطوط با متن $1 را فیلتر کنید
view_filter_btn=فیلتر کنید
save_efile='$1' یک نام فایل معتبر نیست : $2
save_ecannot2=شما اجازه دیدن این گزارش را ندارید
save_ecannot3=خطا: شما اجازه دیدن این گزارش را ندارید
save_ecannot4=خطا: "$1" باز نشد
save_ecannot6=شما اجازه دیدن گزارش های دلخواه را ندارید
save_ecannot7=شما مجاز به مشاهده این گزارش اضافی نیستید
save_emissing=فایل گزارش برای مشاهده وجود ندارد
acl_any=آیا می توانید هر فایلی را به عنوان یک گزارش مشاهده کنید؟
acl_logs=می تواند فایل های گزارش را مشاهده و پیکربندی کند
acl_all=همه سیاههها
acl_sel=فقط فایل های فهرست شده و آنهایی که در فهرست فهرست شده اند ..
acl_extra=فایل های گزارش اضافی برای این کاربر
acl_syslog=آیا می توانید گزارش ها را از syslog مشاهده کنید؟
acl_others=آیا می توانید گزارش ها را از ماژول های دیگر مشاهده کنید؟
+58
View File
@@ -0,0 +1,58 @@
index_title=Järjestelmälokien katseluohjelma
index_elogs=Näytettäviä lokeja ei löytynyt
index_to=Loki kohde
index_rule=Viestit valittu
index_file=Tiedosto $1
index_cmd=Tulostus kohteesta $1
index_return=järjestelmälokien katseluohjelma
index_view=Näytä...
index_viewfile=Näytä lokitiedosto:
index_viewok=Näytä
journal_journalctl=Kaikki viestit
journal_expla_journalctl=Kaikki viestit selityksineen
journal_journalctl_dmesg=Ytimen viestit
journal_journalctl_debug_info=Virheenkorjaus ja infoviestit
journal_journalctl_notice_warning=Varoitus- ja varoitusviestit
journal_journalctl_err_crit=Virheet ja kriittiset viestit
journal_journalctl_alert_emerg=Hälytys- ja hätäviestit
journal_journalctl_unit=Viestit tietylle yksikölle
journal_since0=Viimeisin saatavilla
journal_since1=Reaaliaikainen seuranta
journal_since2=Nykyinen käynnistys
journal_since3=7 päivää sitten
journal_since4=24 tuntia sitten
journal_since5=8 tuntia sitten
journal_since6=1 tunti sitten
journal_since7=30 minuuttia sitten
journal_since8=10 minuuttia sitten
journal_since9=3 minuuttia sitten
journal_since10=1 minuutti sitten
journal_sincefollow=sisään
journal_since=koska
view_title=Näytä lokitiedosto
view_titlejournal=Näytä päiväkirja
view_header=Viimeiset $1 riviä $2:sta
view_header2=Viimeiset $1 riviä
view_header3=Rivit $1
view_empty=Lokitiedosto on tyhjä
view_loading=Lokitiedostoa katsotaan.. Ei vielä uusia rivejä.
view_filter=Suodata rivit tekstillä $1
view_filter_btn=Suodattaa
save_efile='$1' ei ole kelvollinen tiedostonimi : $2
save_ecannot2=Sinulla ei ole lupaa tarkastella tätä lokia
save_ecannot3=Virhe: Sinulla ei ole lupaa tarkastella tätä lokia
save_ecannot4=Virhe: '$1' ei voitu avata
save_ecannot6=Sinulla ei ole oikeutta tarkastella mielivaltaisia lokeja
save_ecannot7=Sinulla ei ole lupaa tarkastella tätä ylimääräistä lokia
save_emissing=Katselutiedosto puuttuu
acl_any=Voiko mitä tahansa tiedostoa tarkastella lokina?
acl_logs=Voi tarkastella ja määrittää lokitiedostoja
acl_all=Kaikki lokit
acl_sel=Vain luetellut tiedostot ja luetteloiduissa hakemistoissa olevat tiedostot ..
acl_extra=Ylimääräiset lokitiedostot tälle käyttäjälle
acl_syslog=Voiko lokeja tarkastella syslogista?
acl_others=Voiko muiden moduulien lokeja tarkastella?
+58
View File
@@ -0,0 +1,58 @@
index_title=Visionneuse de journaux système
index_elogs=Aucun journal n'a été trouvé à afficher
index_to=Destination du journal
index_rule=Messages sélectionnés
index_file=Fichier $1
index_cmd=Sortie de $1
index_return=visionneuse de journaux système
index_view=Voir..
index_viewfile=Afficher le fichier journal :
index_viewok=Voir
journal_journalctl=Tous les messages
journal_expla_journalctl=Tous les messages avec explications
journal_journalctl_dmesg=Messages du noyau
journal_journalctl_debug_info=Messages de débogage et d'information
journal_journalctl_notice_warning=Avis et messages d'avertissement
journal_journalctl_err_crit=Messages d'erreur et critiques
journal_journalctl_alert_emerg=Messages d'alerte et d'urgence
journal_journalctl_unit=Messages pour une unité spécifique
journal_since0=Dernières nouveautés disponibles
journal_since1=Suivi en temps réel
journal_since2=Démarrage actuel
journal_since3=Il y a 7 jours
journal_since4=Il y a 24 heures
journal_since5=Il y a 8 heures
journal_since6=il y a 1 heure
journal_since7=Il y a 30 minutes
journal_since8=Il y a 10 minutes
journal_since9=Il y a 3 minutes
journal_since10=Il y a 1 minute
journal_sincefollow=dans
journal_since=depuis
view_title=Afficher le fichier journal
view_titlejournal=Voir le journal
view_header=Dernières $1 lignes de $2
view_header2=Dernières $1 lignes
view_header3=Lignes de $1
view_empty=Le fichier journal est vide
view_loading=Le fichier journal est surveillé... Pas encore de nouvelles lignes.
view_filter=Filtrer les lignes avec le texte $1
view_filter_btn=Filtre
save_efile='$1' n'est pas un nom de fichier valide : $2
save_ecannot2=Vous n'êtes pas autorisé à afficher ce journal
save_ecannot3=Erreur : vous n'êtes pas autorisé à voir ce journal
save_ecannot4=Erreur : impossible d'ouvrir « $1 »
save_ecannot6=Vous n'êtes pas autorisé à afficher des journaux arbitraires
save_ecannot7=Vous n'êtes pas autorisé à afficher ce journal supplémentaire
save_emissing=Fichier journal manquant à afficher
acl_any=Peut afficher n'importe quel fichier sous forme de journal ?
acl_logs=Peut afficher et configurer les fichiers journaux
acl_all=Tous les journaux
acl_sel=Uniquement les fichiers listés et ceux sous les répertoires listés ..
acl_extra=Fichiers journaux supplémentaires pour cet utilisateur
acl_syslog=Peut afficher les journaux de syslog ?
acl_others=Peut afficher les journaux d'autres modules ?
+58
View File
@@ -0,0 +1,58 @@
index_title=Preglednik zapisnika sustava
index_elogs=Nije pronađen nijedan zapisnik za prikaz
index_to=Odredište zapisnika
index_rule=Poruke odabrane
index_file=Datoteka $1
index_cmd=Izlaz iz $1
index_return=preglednik zapisnika sustava
index_view=Pogled..
index_viewfile=Pogledaj datoteku dnevnika:
index_viewok=Pogled
journal_journalctl=Sve poruke
journal_expla_journalctl=Sve poruke sa objašnjenjima
journal_journalctl_dmesg=Poruke jezgre
journal_journalctl_debug_info=Debug i info poruke
journal_journalctl_notice_warning=Poruke obavijesti i upozorenja
journal_journalctl_err_crit=Pogreške i kritične poruke
journal_journalctl_alert_emerg=Poruke za upozorenja i hitne slučajeve
journal_journalctl_unit=Poruke za određenu jedinicu
journal_since0=Najnovije dostupno
journal_since1=Pratite u stvarnom vremenu
journal_since2=Trenutno pokretanje
journal_since3=prije 7 dana
journal_since4=prije 24 sata
journal_since5=prije 8 sati
journal_since6=prije 1 sat
journal_since7=prije 30 minuta
journal_since8=prije 10 minuta
journal_since9=prije 3 minute
journal_since10=Prije 1 minute
journal_sincefollow=u
journal_since=od
view_title=Pogledaj datoteku dnevnika
view_titlejournal=Pogledaj Dnevnik
view_header=Zadnjih $1 redaka $2
view_header2=Zadnjih $1 redaka
view_header3=Linije $1
view_empty=Dnevnik je prazan
view_loading=Dnevnik se promatra.. Još nema novih redaka.
view_filter=Filtrirajte retke s tekstom $1
view_filter_btn=Filter
save_efile='$1' nije valjan naziv datoteke : $2
save_ecannot2=Nemate dopuštenje za pregled ovog dnevnika
save_ecannot3=Greška: Nije vam dopušteno vidjeti ovaj dnevnik
save_ecannot4=Pogreška: nije moguće otvoriti '$1'
save_ecannot6=Nije vam dopušten pregled proizvoljnih zapisa
save_ecannot7=Nije vam dopušteno vidjeti ovaj dodatni dnevnik
save_emissing=Nedostaje datoteka zapisnika za prikaz
acl_any=Može li se bilo koja datoteka vidjeti kao zapisnik?
acl_logs=Može pregledavati i konfigurirati datoteke dnevnika
acl_all=Svi dnevnici
acl_sel=Samo navedene datoteke i one ispod navedenih direktorija ..
acl_extra=Dodatne datoteke dnevnika za ovog korisnika
acl_syslog=Mogu li vidjeti zapisnike iz syslog-a?
acl_others=Mogu li vidjeti zapisnike iz drugih modula?
+58
View File
@@ -0,0 +1,58 @@
index_title=Rendszernaplók Viewer
index_elogs=Nem található megjeleníthető napló
index_to=Napló célhely
index_rule=Üzenetek kiválasztva
index_file=Fájl $1
index_cmd=Kimenet innen: $1
index_return=rendszernapló-nézegető
index_view=Kilátás..
index_viewfile=Naplófájl megtekintése:
index_viewok=Kilátás
journal_journalctl=Minden üzenet
journal_expla_journalctl=Minden üzenet magyarázattal
journal_journalctl_dmesg=Kernel üzenetek
journal_journalctl_debug_info=Hibakeresési és információs üzenetek
journal_journalctl_notice_warning=Figyelmeztető és figyelmeztető üzenetek
journal_journalctl_err_crit=Hiba és kritikus üzenetek
journal_journalctl_alert_emerg=Figyelmeztető és vészhelyzeti üzenetek
journal_journalctl_unit=Üzenetek adott egységhez
journal_since0=A legújabb elérhető
journal_since1=Valós idejű követés
journal_since2=Jelenlegi rendszerindítás
journal_since3=7 napja
journal_since4=24 órája
journal_since5=8 órája
journal_since6=1 órája
journal_since7=30 perce
journal_since8=10 perce
journal_since9=3 perce
journal_since10=1 perce
journal_sincefollow=be
journal_since=mivel
view_title=Naplófájl megtekintése
view_titlejournal=Napló megtekintése
view_header=$2 utolsó $1 sora
view_header2=Utolsó $1 sor
view_header3=$1 sorai
view_empty=A naplófájl üres
view_loading=A naplófájlt figyelik.. Még nincsenek új sorok.
view_filter=Szűrő sorok szöveggel $1
view_filter_btn=Szűrő
save_efile=A '$1' nem érvényes fájlnév : $2
save_ecannot2=Nem tekintheti meg ezt a naplót
save_ecannot3=Hiba: Ön nem tekintheti meg ezt a naplót
save_ecannot4=Hiba: Nem sikerült megnyitni a következőt: '$1'
save_ecannot6=Nem tekinthet meg tetszőleges naplókat
save_ecannot7=Nem tekintheti meg ezt az extra naplót
save_emissing=Hiányzó naplófájl a megtekintéshez
acl_any=Megtekinthet bármilyen fájlt naplóként?
acl_logs=Megtekintheti és konfigurálhatja a naplófájlokat
acl_all=Minden napló
acl_sel=Csak a felsorolt fájlok és a felsorolt könyvtárak alatt lévők ..
acl_extra=További naplófájlok ehhez a felhasználóhoz
acl_syslog=Megtekinthetők a naplók a syslogból?
acl_others=Megtekinthetők a naplók más modulokból?
+58
View File
@@ -0,0 +1,58 @@
index_title=Visualizzatore dei registri di sistema
index_elogs=Nessun registro trovato da visualizzare
index_to=Registra destinazione
index_rule=Messaggi selezionati
index_file=File $1
index_cmd=Uscita da $1
index_return=visualizzatore dei registri di sistema
index_view=Visualizzazione..
index_viewfile=Visualizza file di registro:
index_viewok=Visualizzazione
journal_journalctl=Tutti i messaggi
journal_expla_journalctl=Tutti i messaggi con le spiegazioni
journal_journalctl_dmesg=Messaggi del kernel
journal_journalctl_debug_info=Messaggi di debug e informazioni
journal_journalctl_notice_warning=Avviso e messaggi di avviso
journal_journalctl_err_crit=Errori e messaggi critici
journal_journalctl_alert_emerg=Messaggi di allerta e di emergenza
journal_journalctl_unit=Messaggi per unità specifica
journal_since0=Ultimo disponibile
journal_since1=Segui in tempo reale
journal_since2=Avvio corrente
journal_since3=7 giorni fa
journal_since4=24 ore fa
journal_since5=8 ore fa
journal_since6=1 ora fa
journal_since7=30 minuti fa
journal_since8=10 minuti fa
journal_since9=3 minuti fa
journal_since10=1 minuto fa
journal_sincefollow=In
journal_since=Da
view_title=Visualizza file di registro
view_titlejournal=Visualizza il diario
view_header=Ultime $1 righe di $2
view_header2=Ultime $1 righe
view_header3=Righe di $1
view_empty=Il file di registro è vuoto
view_loading=Il file di registro è in fase di monitoraggio. Ancora nessuna nuova riga.
view_filter=Filtra le righe con testo $1
view_filter_btn=Filtro
save_efile='$1' non è un nome file valido : $2
save_ecannot2=Non sei autorizzato a visualizzare questo registro
save_ecannot3=Errore: non ti è consentito visualizzare questo registro
save_ecannot4=Errore: Impossibile aprire '$1'
save_ecannot6=Non è consentito visualizzare registri arbitrari
save_ecannot7=Non sei autorizzato a visualizzare questo registro aggiuntivo
save_emissing=File di registro mancante da visualizzare
acl_any=È possibile visualizzare qualsiasi file come registro?
acl_logs=Può visualizzare e configurare i file di registro
acl_all=Tutti i registri
acl_sel=Solo i file elencati e quelli nelle directory elencate ..
acl_extra=File di registro aggiuntivi per questo utente
acl_syslog=È possibile visualizzare i registri da syslog?
acl_others=È possibile visualizzare i registri da altri moduli?
+58
View File
@@ -0,0 +1,58 @@
index_title=システム ログ ビューア
index_elogs=表示するログが見つかりませんでした
index_to=ログの宛先
index_rule=メッセージが選択されました
index_file=ファイル $1
index_cmd=$1 からの出力
index_return=システム ログ ビューア
index_view=意見..
index_viewfile=ログファイルを表示:
index_viewok=意見
journal_journalctl=すべてのメッセージ
journal_expla_journalctl=説明付きのすべてのメッセージ
journal_journalctl_dmesg=カーネル メッセージ
journal_journalctl_debug_info=デバッグおよび情報メッセージ
journal_journalctl_notice_warning=通知および警告メッセージ
journal_journalctl_err_crit=エラーと重大なメッセージ
journal_journalctl_alert_emerg=アラートと緊急メッセージ
journal_journalctl_unit=特定のユニットへのメッセージ
journal_since0=最新の入手可能な
journal_since1=リアルタイムフォロー
journal_since2=現在のブート
journal_since3=7日前
journal_since4=24時間前
journal_since5=8時間前
journal_since6=1時間前
journal_since7=30分前
journal_since8=10分前
journal_since9=3分前
journal_since10=1分前
journal_sincefollow=で
journal_since=以来
view_title=ログファイルを表示
view_titlejournal=ジャーナルを見る
view_header=$2 の最後の $1 行
view_header2=最後の $1 行
view_header3=$1 行
view_empty=ログファイルが空です
view_loading=ログ ファイルを監視中です。まだ新しい行はありません。
view_filter=テキスト $1 で行をフィルタ
view_filter_btn=フィルター
save_efile='$1' は有効なファイル名ではありません : $2
save_ecannot2=このログの表示は許可されていません
save_ecannot3=エラー: このログを表示する権限がありません
save_ecannot4=エラー: '$1' を開けませんでした
save_ecannot6=任意のログを表示することは許可されていません
save_ecannot7=この追加ログの表示は許可されていません
save_emissing=表示するログ ファイルがありません
acl_any=任意のファイルをログとして表示できますか?
acl_logs=ログファイルを表示および構成できます
acl_all=すべてのログ
acl_sel=リストされたファイルとリストされたディレクトリの下にあるファイルのみ ..
acl_extra=このユーザーの追加のログ ファイル
acl_syslog=syslog からログを表示できますか?
acl_others=他のモジュールからのログを表示できますか?
+58
View File
@@ -0,0 +1,58 @@
index_title=시스템 로그 뷰어
index_elogs=표시할 로그가 없습니다
index_to=로그 대상
index_rule=선택한 메시지
index_file=파일 $1
index_cmd=$1의 출력
index_return=시스템 로그 뷰어
index_view=보다..
index_viewfile=로그 파일 보기:
index_viewok=보다
journal_journalctl=모든 메시지
journal_expla_journalctl=설명이 포함된 모든 메시지
journal_journalctl_dmesg=커널 메시지
journal_journalctl_debug_info=디버그 및 정보 메시지
journal_journalctl_notice_warning=알림 및 경고 메시지
journal_journalctl_err_crit=오류 및 중요한 메시지
journal_journalctl_alert_emerg=경고 및 비상 메시지
journal_journalctl_unit=특정 단위에 대한 메시지
journal_since0=최신 사용 가능
journal_since1=실시간 팔로우
journal_since2=현재 부팅
journal_since3=7일 전
journal_since4=24시간 전
journal_since5=8시간 전
journal_since6=1시간 전
journal_since7=30분 전
journal_since8=10분 전
journal_since9=3분 전
journal_since10=1분 전
journal_sincefollow=~에
journal_since=~부터
view_title=로그 파일 보기
view_titlejournal=저널 보기
view_header=$2의 마지막 $1줄
view_header2=마지막 $1줄
view_header3=$1의 줄
view_empty=로그 파일이 비어 있습니다
view_loading=로그 파일을 감시하고 있습니다. 아직 새로운 줄이 없습니다.
view_filter=텍스트 $1 이있는줄필터링
view_filter_btn=필터
save_efile='$1'은(는) 유효한 파일 이름이 아닙니다 : $2
save_ecannot2=이 로그를 볼 수 없습니다
save_ecannot3=오류: 이 로그를 볼 수 있는 권한이 없습니다
save_ecannot4=오류: '$1'을 열 수 없습니다
save_ecannot6=임의의 로그를 볼 수 없습니다
save_ecannot7=이 추가 로그를 볼 수 없습니다
save_emissing=볼 로그 파일이 없습니다
acl_any=모든 파일을 로그로 볼 수 있습니까?
acl_logs=로그 파일을 보고 구성할 수 있습니다
acl_all=모든 로그
acl_sel=나열된 파일과 나열된 디렉토리 아래에 있는 파일만 ..
acl_extra=이 사용자에 대한 추가 로그 파일
acl_syslog=syslog에서 로그를 볼 수 있습니까?
acl_others=다른 모듈의 로그를 볼 수 있습니까?
+58
View File
@@ -0,0 +1,58 @@
index_title=Pemapar Log Sistem
index_elogs=Tiada log ditemui untuk dipaparkan
index_to=Log destinasi
index_rule=Mesej dipilih
index_file=Fail $1
index_cmd=Output daripada $1
index_return=pemapar log sistem
index_view=Lihat..
index_viewfile=Lihat fail log:
index_viewok=Lihat
journal_journalctl=Semua mesej
journal_expla_journalctl=Semua mesej dengan penjelasan
journal_journalctl_dmesg=Mesej kernel
journal_journalctl_debug_info=Nyahpepijat dan mesej maklumat
journal_journalctl_notice_warning=Notis dan mesej amaran
journal_journalctl_err_crit=Ralat dan mesej kritikal
journal_journalctl_alert_emerg=Makluman dan mesej kecemasan
journal_journalctl_unit=Mesej untuk unit tertentu
journal_since0=Terkini tersedia
journal_since1=Ikuti masa nyata
journal_since2=But semasa
journal_since3=7 hari lepas
journal_since4=24 jam yang lalu
journal_since5=8 jam yang lalu
journal_since6=1 jam yang lalu
journal_since7=30 minit yang lalu
journal_since8=10 minit yang lalu
journal_since9=3 minit lepas
journal_since10=1 minit yang lalu
journal_sincefollow=dalam
journal_since=sejak
view_title=Lihat Fail Log
view_titlejournal=Lihat Jurnal
view_header=$1 baris terakhir $2
view_header2=$1 baris terakhir
view_header3=Barisan $1
view_empty=Fail log kosong
view_loading=Fail log sedang diperhatikan.. Tiada baris baru lagi.
view_filter=Tapis baris dengan teks $1
view_filter_btn=Penapis
save_efile='$1' bukan nama fail yang sah : $2
save_ecannot2=Anda tidak dibenarkan melihat log ini
save_ecannot3=Ralat: Anda tidak dibenarkan melihat log ini
save_ecannot4=Ralat: Tidak dapat membuka '$1'
save_ecannot6=Anda tidak dibenarkan melihat log sewenang-wenangnya
save_ecannot7=Anda tidak dibenarkan melihat log tambahan ini
save_emissing=Fail log tiada untuk dilihat
acl_any=Bolehkah melihat mana-mana fail sebagai log?
acl_logs=Boleh melihat dan mengkonfigurasi fail log
acl_all=Semua log
acl_sel=Hanya fail tersenarai dan yang berada di bawah direktori tersenarai ..
acl_extra=Fail log tambahan untuk pengguna ini
acl_syslog=Bolehkah melihat log dari syslog?
acl_others=Bolehkah melihat log dari modul lain?
+58
View File
@@ -0,0 +1,58 @@
index_title=Systeemlogboeken-viewer
index_elogs=Er zijn geen logboeken gevonden om weer te geven
index_to=Log bestemming
index_rule=Berichten geselecteerd
index_file=Bestand $1
index_cmd=Uitvoer van $1
index_return=systeemlogboeken kijker
index_view=Visie..
index_viewfile=Logbestand bekijken:
index_viewok=Visie
journal_journalctl=Alle berichten
journal_expla_journalctl=Alle berichten met uitleg
journal_journalctl_dmesg=Kernelberichten
journal_journalctl_debug_info=Foutopsporing en infoberichten
journal_journalctl_notice_warning=Kennisgevingen en waarschuwingsberichten
journal_journalctl_err_crit=Foutmeldingen en kritieke berichten
journal_journalctl_alert_emerg=Waarschuwings- en noodberichten
journal_journalctl_unit=Berichten voor specifieke eenheid
journal_since0=Laatste beschikbare
journal_since1=Realtime volgen
journal_since2=Huidige boot
journal_since3=7 dagen geleden
journal_since4=24 uur geleden
journal_since5=8 uur geleden
journal_since6=1 uur geleden
journal_since7=30 minuten geleden
journal_since8=10 minuten geleden
journal_since9=3 minuten geleden
journal_since10=1 minuut geleden
journal_sincefollow=in
journal_since=sinds
view_title=Logbestand bekijken
view_titlejournal=Bekijk dagboek
view_header=Laatste $1 regels van $2
view_header2=Laatste $1 regels
view_header3=Regels van $1
view_empty=Logbestand is leeg
view_loading=Het logbestand wordt bewaakt. Er zijn nog geen nieuwe regels.
view_filter=Filterregels met tekst $1
view_filter_btn=Filter
save_efile='$1' is geen geldige bestandsnaam : $2
save_ecannot2=U mag dit logboek niet bekijken
save_ecannot3=Fout: U mag dit logboek niet bekijken
save_ecannot4=Fout: kon '$1' niet openen
save_ecannot6=Je mag geen willekeurige logs bekijken
save_ecannot7=U mag dit extra logboek niet bekijken
save_emissing=Ontbrekend logbestand om te bekijken
acl_any=Kan elk bestand als een logboek worden bekeken?
acl_logs=Kan logbestanden bekijken en configureren
acl_all=Alle logboeken
acl_sel=Alleen bestanden in de lijst en die onder vermelde mappen ..
acl_extra=Extra logbestanden voor deze gebruiker
acl_syslog=Kan logboeken van syslog bekijken?
acl_others=Kan logs van andere modules bekijken?
+58
View File
@@ -0,0 +1,58 @@
index_title=Visning av systemlogger
index_elogs=Ingen logger ble funnet å vise
index_to=Loggdestinasjon
index_rule=Meldinger er valgt
index_file=Fil $1
index_cmd=Utdata fra $1
index_return=systemloggvisning
index_view=Utsikt..
index_viewfile=Vis loggfil:
index_viewok=Utsikt
journal_journalctl=Alle meldinger
journal_expla_journalctl=Alle meldinger med forklaringer
journal_journalctl_dmesg=Kjernemeldinger
journal_journalctl_debug_info=Feilsøkings- og infomeldinger
journal_journalctl_notice_warning=Varsel- og advarselsmeldinger
journal_journalctl_err_crit=Feil og kritiske meldinger
journal_journalctl_alert_emerg=Alarm- og nødmeldinger
journal_journalctl_unit=Meldinger for spesifikk enhet
journal_since0=Siste tilgjengelig
journal_since1=Følg i sanntid
journal_since2=Nåværende støvel
journal_since3=7 dager siden
journal_since4=24 timer siden
journal_since5=8 timer siden
journal_since6=1 time siden
journal_since7=30 minutter siden
journal_since8=10 minutter siden
journal_since9=3 minutter siden
journal_since10=1 minutt siden
journal_sincefollow=i
journal_since=siden
view_title=Vis loggfil
view_titlejournal=Se Journal
view_header=Siste $1 linjer av $2
view_header2=Siste $1 linjer
view_header3=Linjer på $1
view_empty=Loggfilen er tom
view_loading=Loggfilen blir overvåket.. Ingen nye linjer ennå.
view_filter=Filtrer linjer med tekst $1
view_filter_btn=Filter
save_efile='$1' er ikke et gyldig filnavn : $2
save_ecannot2=Du har ikke lov til å se denne loggen
save_ecannot3=Feil: Du har ikke lov til å se denne loggen
save_ecannot4=Feil: Kunne ikke åpne '$1'
save_ecannot6=Du har ikke lov til å se vilkårlige logger
save_ecannot7=Du har ikke lov til å se denne ekstra loggen
save_emissing=Mangler loggfil å vise
acl_any=Kan du se hvilken som helst fil som en logg?
acl_logs=Kan vise og konfigurere loggfiler
acl_all=Alle logger
acl_sel=Bare listede filer og de under listede kataloger ..
acl_extra=Ekstra loggfiler for denne brukeren
acl_syslog=Kan du se logger fra syslog?
acl_others=Kan du se logger fra andre moduler?
+58
View File
@@ -0,0 +1,58 @@
index_title=Dzienniki Systemowe
index_elogs=Komenda <tt>journalctl</tt> nie jest dostępna na twoim systemie, a inne dzienniki są skonfigurowane tak, aby nie były wyświetlane w konfiguracji modułu.
index_to=Dziennik
index_rule=Opis
index_file=Plik $1
index_cmd=Wynik z $1
index_return=dzienniki systemowe
index_view=Zobacz..
index_viewfile=Zobacz plik dziennika:
index_viewok=Zobacz
journal_journalctl=Wszystkie komunikaty
journal_expla_journalctl=Wszystkie komunikaty z wyjaśnieniami
journal_journalctl_dmesg=Komunikaty jądra
journal_journalctl_debug_info=Komunikaty debugowania i informacyjne
journal_journalctl_notice_warning=Komunikaty uwagi i ostrzeżeń
journal_journalctl_err_crit=Komunikaty błędów i krytyczne
journal_journalctl_alert_emerg=Komunikaty alarmowe i awaryjne
journal_journalctl_unit=Komunikaty dla określonej jednostki
journal_since0=Ostatnie dostępne
journal_since1=Śledzenie w czasie rzeczywistym
journal_since2=Bieżące uruchomienie
journal_since3=7 dni temu
journal_since4=24 godziny temu
journal_since5=8 godzin temu
journal_since6=1 godzina temu
journal_since7=30 minut temu
journal_since8=10 minut temu
journal_since9=3 minuty temu
journal_since10=1 minuta temu
journal_sincefollow=w
journal_since=od
view_title=Podgląd Pliku Dziennika
view_titlejournal=Podgląd Dziennika
view_header=Ostatnie $1 linie z $2
view_header2=Ostatnie $1 linie
view_header3=Linie z $1
view_empty=Plik dziennika jest pusty
view_loading=Plik dziennika jest obserwowany .. Brak nowych linii.
view_filter=Filtruj linie z tekstem $1
view_filter_btn=Filtruj
save_efile='$1' nie jest prawidłową nazwą pliku : $2
save_ecannot2=Nie masz uprawnień do przeglądania tego dziennika
save_ecannot3=Błąd: Nie masz uprawnień do przeglądania tego dziennika
save_ecannot4=Błąd: Nie można otworzyć '$1'
save_ecannot6=Nie masz uprawnień do przeglądania dowolnych dzienników
save_ecannot7=Nie masz uprawnień do przeglądania tego dodatkowego dziennika
save_emissing=Brak pliku dziennika do przeglądania
acl_any=Może przeglądać dowolny plik jako dziennik?
acl_logs=Może przeglądać i konfigurować pliki dzienników
acl_all=Wszystkie dzienniki
acl_sel=Tylko wymienione pliki i te znajdujące się w wymienionych katalogach ..
acl_extra=Dodatkowe pliki dzienników dla tego użytkownika
acl_syslog=Może przeglądać dzienniki z syslog?
acl_others=Może przeglądać dzienniki z innych modułów?
+58
View File
@@ -0,0 +1,58 @@
index_title=Visualizador de registros do sistema
index_elogs=Não foram encontrados registros para exibição
index_to=Destino do registro
index_rule=Mensagens selecionadas
index_file=Arquivo $1
index_cmd=Saída de $1
index_return=visualizador de logs do sistema
index_view=Visão..
index_viewfile=Visualizar arquivo de registro:
index_viewok=Visão
journal_journalctl=Todas as mensagens
journal_expla_journalctl=Todas as mensagens com explicações
journal_journalctl_dmesg=Mensagens do kernel
journal_journalctl_debug_info=Mensagens de depuração e informações
journal_journalctl_notice_warning=Avisos e mensagens de aviso
journal_journalctl_err_crit=Mensagens de erro e críticas
journal_journalctl_alert_emerg=Mensagens de alerta e emergência
journal_journalctl_unit=Mensagens para unidade específica
journal_since0=Último disponível
journal_since1=Acompanhamento em tempo real
journal_since2=Inicialização atual
journal_since3=7 dias atrás
journal_since4=24 horas atrás
journal_since5=8 horas atrás
journal_since6=1 hora atrás
journal_since7=30 minutos atrás
journal_since8=10 minutos atrás
journal_since9=3 minutos atrás
journal_since10=1 minuto atrás
journal_sincefollow=em
journal_since=desde
view_title=Ver arquivo de registro
view_titlejournal=Ver diário
view_header=Últimas $1 linhas de $2
view_header2=Últimas $1 linhas
view_header3=Linhas de $1
view_empty=O arquivo de log está vazio
view_loading=O arquivo de log está sendo monitorado. Nenhuma linha nova ainda.
view_filter=Filtrar linhas com texto $1
view_filter_btn=Filtro
save_efile='$1' não é um nome de arquivo válido : $2
save_ecannot2=Você não tem permissão para ver este registro
save_ecannot3=Erro: Você não tem permissão para visualizar este log
save_ecannot4=Erro: Não foi possível abrir '$1'
save_ecannot6=Você não tem permissão para visualizar logs arbitrários
save_ecannot7=Você não tem permissão para ver este log extra
save_emissing=Arquivo de log ausente para visualizar
acl_any=Pode visualizar qualquer arquivo como um log?
acl_logs=Pode visualizar e configurar arquivos de log
acl_all=Todos os registros
acl_sel=Somente arquivos listados e aqueles sob diretórios listados ..
acl_extra=Arquivos de log extras para este usuário
acl_syslog=Pode visualizar logs do syslog?
acl_others=Pode visualizar logs de outros módulos?
+58
View File
@@ -0,0 +1,58 @@
index_title=Visualizador de registros do sistema
index_elogs=Não foram encontrados registros para exibição
index_to=Destino do registro
index_rule=Mensagens selecionadas
index_file=Arquivo $1
index_cmd=Saída de $1
index_return=visualizador de logs do sistema
index_view=Visão..
index_viewfile=Visualizar arquivo de registro:
index_viewok=Visão
journal_journalctl=Todas as mensagens
journal_expla_journalctl=Todas as mensagens com explicações
journal_journalctl_dmesg=Mensagens do kernel
journal_journalctl_debug_info=Mensagens de depuração e informações
journal_journalctl_notice_warning=Avisos e mensagens de aviso
journal_journalctl_err_crit=Mensagens de erro e críticas
journal_journalctl_alert_emerg=Mensagens de alerta e emergência
journal_journalctl_unit=Mensagens para unidade específica
journal_since0=Último disponível
journal_since1=Acompanhamento em tempo real
journal_since2=Inicialização atual
journal_since3=7 dias atrás
journal_since4=24 horas atrás
journal_since5=8 horas atrás
journal_since6=1 hora atrás
journal_since7=30 minutos atrás
journal_since8=10 minutos atrás
journal_since9=3 minutos atrás
journal_since10=1 minuto atrás
journal_sincefollow=em
journal_since=desde
view_title=Ver arquivo de registro
view_titlejournal=Ver diário
view_header=Últimas $1 linhas de $2
view_header2=Últimas $1 linhas
view_header3=Linhas de $1
view_empty=O arquivo de log está vazio
view_loading=O arquivo de log está sendo monitorado. Nenhuma linha nova ainda.
view_filter=Filtrar linhas com texto $1
view_filter_btn=Filtro
save_efile='$1' não é um nome de arquivo válido : $2
save_ecannot2=Você não tem permissão para ver este registro
save_ecannot3=Erro: Você não tem permissão para visualizar este log
save_ecannot4=Erro: Não foi possível abrir '$1'
save_ecannot6=Você não tem permissão para visualizar logs arbitrários
save_ecannot7=Você não tem permissão para ver este log extra
save_emissing=Arquivo de log ausente para visualizar
acl_any=Pode visualizar qualquer arquivo como um log?
acl_logs=Pode visualizar e configurar arquivos de log
acl_all=Todos os registros
acl_sel=Somente arquivos listados e aqueles sob diretórios listados ..
acl_extra=Arquivos de log extras para este usuário
acl_syslog=Pode visualizar logs do syslog?
acl_others=Pode visualizar logs de outros módulos?
+37
View File
@@ -0,0 +1,37 @@
index_title=Просмотр системных журналов
index_elogs=Журналы для отображения не найдены
index_to=Журнал
index_rule=Описание
index_file=Файл $1
index_cmd=Вывод из $1
index_return=списку журналов
index_view=Просмотр..
index_viewfile=Просмотреть файл журнала:
index_viewok=Просмотр
journal_journalctl=Все сообщения
journal_expla_journalctl=Все сообщения с пояснениями
journal_journalctl_dmesg=Сообщения ядра
journal_journalctl_debug_info=Отладочные и информационные сообщения
journal_journalctl_notice_warning=Уведомления и предупреждающие сообщения
journal_journalctl_err_crit=Ошибки и критические сообщения
journal_journalctl_alert_emerg=Оповещения и экстренные сообщения
view_title=Просмотр файла журнала
view_header=Последние $1 строк из $2
view_empty=Пустой журнал
view_filter=Фильтровать строки с текстом $1
save_efile='$1' не является допустимым именем файла : $2
save_ecannot2=Вам не разрешено просматривать этот журнал
save_ecannot6=Вам не разрешено просматривать произвольные журналы
save_ecannot7=Вам не разрешено просматривать этот дополнительный журнал
save_emissing=Отсутствует файл журнала для просмотра
acl_any=Можно ли просмотреть любой файл как журнал?
acl_logs=Может просматривать и настраивать файлы журналов
acl_all=Все журналы
acl_sel=Только перечисленные файлы и файлы, находящиеся в перечисленных каталогах ..
acl_extra=Дополнительные файлы журналов для этого пользователя
acl_syslog=Можно ли просматривать журналы syslog?
acl_others=Можно ли просматривать логи других модулей?
+23
View File
@@ -0,0 +1,23 @@
journal_journalctl_unit=Сообщения для конкретного подразделения
journal_since0=Последние доступные
journal_since1=Следите в реальном времени
journal_since2=Текущая загрузка
journal_since3=7 дней назад
journal_since4=24 часа назад
journal_since5=8 часов назад
journal_since6=1 час назад
journal_since7=30 минут назад
journal_since8=10 минут назад
journal_since9=3 минуты назад
journal_since10=1 минуту назад
journal_sincefollow=в
journal_since=с
view_titlejournal=Просмотреть журнал
view_header2=Последние $1 строк
view_header3=Строки $1
view_loading=Файл журнала просматривается. Новых строк пока нет.
view_filter_btn=Фильтр
save_ecannot3=Ошибка: Вам не разрешено просматривать этот журнал
save_ecannot4=Ошибка: Не удалось открыть «$1»
+58
View File
@@ -0,0 +1,58 @@
index_title=Prehliadač systémových protokolov
index_elogs=Nenašli sa žiadne záznamy na zobrazenie
index_to=Cieľ denníka
index_rule=Vybraté správy
index_file=Súbor $1
index_cmd=Výstup z $1
index_return=prehliadač systémových protokolov
index_view=Vyhliadka..
index_viewfile=Zobraziť súbor denníka:
index_viewok=vyhliadka
journal_journalctl=Všetky správy
journal_expla_journalctl=Všetky správy s vysvetleniami
journal_journalctl_dmesg=Správy jadra
journal_journalctl_debug_info=Ladiace a informačné správy
journal_journalctl_notice_warning=Oznamovacie a varovné správy
journal_journalctl_err_crit=Chybové a kritické správy
journal_journalctl_alert_emerg=Výstražné a núdzové správy
journal_journalctl_unit=Správy pre konkrétnu jednotku
journal_since0=Najnovšie dostupné
journal_since1=Sledovanie v reálnom čase
journal_since2=Aktuálne spustenie
journal_since3=pred 7 dňami
journal_since4=pred 24 hodinami
journal_since5=pred 8 hodinami
journal_since6=pred 1 hodinou
journal_since7=pred 30 minútami
journal_since8=pred 10 minútami
journal_since9=pred 3 minútami
journal_since10=pred 1 minútou
journal_sincefollow=v
journal_since=odkedy
view_title=Zobraziť Logfile
view_titlejournal=Zobraziť denník
view_header=Posledných $1 riadkov z $2
view_header2=Posledných $1 riadkov
view_header3=Riadky $1
view_empty=Súbor denníka je prázdny
view_loading=Súbor denníka je sledovaný. Zatiaľ žiadne nové riadky.
view_filter=Filtrujte riadky s textom $1
view_filter_btn=Filter
save_efile='$1' nie je platný názov súboru : $2
save_ecannot2=Nemáte povolenie na zobrazenie tohto denníka
save_ecannot3=Chyba: Nemáte povolenie na zobrazenie tohto denníka
save_ecannot4=Chyba: Nepodarilo sa otvoriť „$1“
save_ecannot6=Nemáte povolené prezerať ľubovoľné protokoly
save_ecannot7=Nemáte povolenie prezerať si tento extra denník
save_emissing=Chýba súbor denníka na zobrazenie
acl_any=Môžete zobraziť akýkoľvek súbor ako denník?
acl_logs=Môže prezerať a konfigurovať protokolové súbory
acl_all=Všetky denníky
acl_sel=Iba uvedené súbory a súbory v uvedených adresároch ..
acl_extra=Extra súbory denníka pre tohto používateľa
acl_syslog=Je možné zobraziť protokoly zo syslogu?
acl_others=Je možné zobraziť protokoly z iných modulov?
+58
View File
@@ -0,0 +1,58 @@
index_title=Viewer för systemloggar
index_elogs=Inga loggar hittades att visa
index_to=Loggdestination
index_rule=Meddelanden valda
index_file=Fil $1
index_cmd=Utdata från $1
index_return=systemloggvisare
index_view=Se..
index_viewfile=Visa loggfil:
index_viewok=Se
journal_journalctl=Alla meddelanden
journal_expla_journalctl=Alla meddelanden med förklaringar
journal_journalctl_dmesg=Kärnmeddelanden
journal_journalctl_debug_info=Felsökning och informationsmeddelanden
journal_journalctl_notice_warning=Meddelande och varningsmeddelanden
journal_journalctl_err_crit=Fel och kritiska meddelanden
journal_journalctl_alert_emerg=Varnings- och nödmeddelanden
journal_journalctl_unit=Meddelanden för specifik enhet
journal_since0=Senast tillgängliga
journal_since1=Följ i realtid
journal_since2=Nuvarande start
journal_since3=7 dagar sedan
journal_since4=24 timmar sedan
journal_since5=8 timmar sedan
journal_since6=1 timme sedan
journal_since7=30 minuter sedan
journal_since8=10 minuter sedan
journal_since9=3 minuter sedan
journal_since10=1 minut sedan
journal_sincefollow=i
journal_since=sedan
view_title=Visa loggfil
view_titlejournal=Visa Journal
view_header=Sista $1 raderna av $2
view_header2=Sista $1 raderna
view_header3=Rader av $1
view_empty=Loggfilen är tom
view_loading=Loggfilen bevakas.. Inga nya rader ännu.
view_filter=Filtrera rader med texten $1
view_filter_btn=Filtrera
save_efile='$1' är inte ett giltigt filnamn : $2
save_ecannot2=Du får inte se denna logg
save_ecannot3=Fel: Du får inte se den här loggen
save_ecannot4=Fel: Kunde inte öppna '$1'
save_ecannot6=Du får inte se godtyckliga loggar
save_ecannot7=Du får inte se denna extra logg
save_emissing=Saknar loggfil att visa
acl_any=Kan du se vilken fil som helst som en logg?
acl_logs=Kan visa och konfigurera loggfiler
acl_all=Alla loggar
acl_sel=Endast listade filer och de under listade kataloger ..
acl_extra=Extra loggfiler för denna användare
acl_syslog=Kan du se loggar från syslog?
acl_others=Kan du se loggar från andra moduler?
+58
View File
@@ -0,0 +1,58 @@
index_title=Sistem Günlükleri Görüntüleyici
index_elogs=Görüntülenecek günlük bulunamadı
index_to=Günlük hedefi
index_rule=Mesajlar seçildi
index_file=$1 dosyası
index_cmd=$1'den çıktı
index_return=sistem günlükleri görüntüleyici
index_view=Görüş..
index_viewfile=Günlük dosyasını görüntüle:
index_viewok=görüş
journal_journalctl=Tüm mesajlar
journal_expla_journalctl=Açıklamalı tüm mesajlar
journal_journalctl_dmesg=Çekirdek mesajları
journal_journalctl_debug_info=Hata ayıklama ve bilgi mesajları
journal_journalctl_notice_warning=Uyarı ve uyarı mesajları
journal_journalctl_err_crit=Hata ve kritik mesajlar
journal_journalctl_alert_emerg=Uyarı ve acil durum mesajları
journal_journalctl_unit=Belirli birime yönelik mesajlar
journal_since0=En son mevcut
journal_since1=Gerçek zamanlı takip
journal_since2=Mevcut önyükleme
journal_since3=7 gün önce
journal_since4=24 saat önce
journal_since5=8 saat önce
journal_since6=1 saat önce
journal_since7=30 dakika önce
journal_since8=10 dakika önce
journal_since9=3 dakika önce
journal_since10=1 dakika önce
journal_sincefollow=içinde
journal_since=o zamandan beri
view_title=Günlük Dosyasını Görüntüle
view_titlejournal=Dergiyi Görüntüle
view_header=$2'nin son $1 satırı
view_header2=Son $1 satır
view_header3=$1 satırları
view_empty=Günlük dosyası boş
view_loading=Log dosyası izleniyor.. Henüz yeni satır yok.
view_filter=$1 metinli satırları filtrele
view_filter_btn=Filtre
save_efile='$1' geçerli bir dosya adı değil : $2
save_ecannot2=Bu günlüğü görüntüleme izniniz yok
save_ecannot3=Hata: Bu günlüğü görüntülemenize izin verilmiyor
save_ecannot4=Hata: '$1' açılamadı
save_ecannot6=Rastgele günlükleri görüntüleme izniniz yok
save_ecannot7=Bu ekstra günlüğü görüntüleme izniniz yok
save_emissing=Görüntülenecek günlük dosyası eksik
acl_any=Herhangi bir dosyayı günlük olarak görüntüleyebilir mi?
acl_logs=Günlük dosyalarını görüntüleyebilir ve yapılandırabilir
acl_all=Tüm günlükler
acl_sel=Yalnızca listelenen dosyalar ve listelenen dizinlerin altındakiler ..
acl_extra=Bu kullanıcı için ekstra günlük dosyaları
acl_syslog=Sistem günlüğünden günlükleri görüntüleyebilir mi?
acl_others=Diğer modüllerdeki günlükleri görüntüleyebilir mi?
+58
View File
@@ -0,0 +1,58 @@
index_title=Переглядач системних журналів
index_elogs=Не знайдено журналів для відображення
index_to=Призначення журналу
index_rule=Повідомлення вибрано
index_file=Файл $1
index_cmd=Вихід із $1
index_return=Переглядач системних журналів
index_view=Переглянути..
index_viewfile=Переглянути файл журналу:
index_viewok=Переглянути
journal_journalctl=Всі повідомлення
journal_expla_journalctl=Всі повідомлення з поясненнями
journal_journalctl_dmesg=Повідомлення ядра
journal_journalctl_debug_info=Налагодження та інформаційні повідомлення
journal_journalctl_notice_warning=Повідомлення та попередження
journal_journalctl_err_crit=Помилки та критичні повідомлення
journal_journalctl_alert_emerg=Оповіщення та екстрені повідомлення
journal_journalctl_unit=Повідомлення для конкретного блоку
journal_since0=Останній доступний
journal_since1=Стежити в режимі реального часу
journal_since2=Поточне завантаження
journal_since3=7 днів тому
journal_since4=24 години тому
journal_since5=8 годин тому
journal_since6=1 годину тому
journal_since7=30 хвилин тому
journal_since8=10 хвилин тому
journal_since9=3 хвилини тому
journal_since10=1 хвилину тому
journal_sincefollow=в
journal_since=оскільки
view_title=Переглянути файл журналу
view_titlejournal=Переглянути журнал
view_header=Останні $1 рядки $2
view_header2=Останні $1 рядків
view_header3=Рядки $1
view_empty=Файл журналу порожній
view_loading=Файл журналу переглядається.. Нових рядків ще немає.
view_filter=Фільтрувати рядки з текстом $1
view_filter_btn=фільтр
save_efile='$1' не є правильною назвою файлу : $2
save_ecannot2=Вам заборонено переглядати цей журнал
save_ecannot3=Помилка: Вам не дозволено переглядати цей журнал
save_ecannot4=Помилка: не вдалося відкрити '$1'
save_ecannot6=Вам заборонено переглядати довільні журнали
save_ecannot7=Вам заборонено переглядати цей додатковий журнал
save_emissing=Відсутній файл журналу для перегляду
acl_any=Чи можна переглядати будь-який файл як журнал?
acl_logs=Може переглядати та налаштовувати файли журналів
acl_all=Всі колоди
acl_sel=Лише перелічені файли та файли в перелічених каталога ..
acl_extra=Додаткові файли журналу для цього користувача
acl_syslog=Чи можна переглядати журнали з системного журналу?
acl_others=Чи можна переглядати журнали з інших модулів?
+57
View File
@@ -0,0 +1,57 @@
index_title=系统日志
index_elogs=命令 <tt>journalctl</tt> 在您的系统上不可用,并且其他日志被配置为不在模块配置中显示。
index_to=日志
index_rule=描述
index_file=文件 $1
index_cmd=从 $1 输出
index_return=系统日志
index_view=查看..
index_viewfile=查看日志文件:
index_viewok=查看
journal_journalctl=全部信息
journal_expla_journalctl=全部详细信息
journal_journalctl_dmesg=Kernel 内核信息
journal_journalctl_debug_info=调试详细信息
journal_journalctl_notice_warning=通知和警告消息
journal_journalctl_alert_emerg=警报和紧急消息
journal_journalctl_unit=特定单元的消息
journal_since0=最新可用
journal_since1=实时追踪
journal_since2=当前启动信息
journal_since3=7 天前
journal_since4=24 小时前
journal_since5=8 小时前
journal_since6=1 小时前
journal_since7=30 分钟前
journal_since8=10 分钟前
journal_since9=3 分钟前
journal_since10=1 分钟前
journal_sincefollow=在
journal_since=之前
view_title=查看日志文件
view_titlejournal=查看日志
view_header=最新 $1 共 $2
view_header2=最新 $1 行
view_header3=每 $1 行
view_empty=空空如也
view_loading=正在监视日志文件。。还没有新的消息。
view_filter=筛选文本为 $1 行
view_filter_btn=筛选
save_efile='$1' 不是有效的文件名 : $2
save_ecannot2=不允许查看此日志
save_ecannot3=错误:不允许查看此日志
save_ecannot4=错误:无法打开 '$1'
save_ecannot6=不允许查看任意日志
save_ecannot7=不允许查看此额外日志
save_emissing=M缺少要查看的日志文件
acl_any=可以将任何文件作为日志查看吗?
acl_logs=可以查看和配置日志文件
acl_all=全部日志
acl_sel=仅列出文件和列出目录下的文件 ..
acl_extra=此用户的额外日志文件
acl_syslog=可以从syslog查看日志吗?
acl_others=可以查看其他模块的日志吗?
+1
View File
@@ -0,0 +1 @@
journal_journalctl_err_crit=错误和关键消息
+58
View File
@@ -0,0 +1,58 @@
index_title=系統日誌查看器
index_elogs=沒有找到要顯示的日誌
index_to=日誌目的地
index_rule=已選擇消息
index_file=文件 $1
index_cmd=來自 $1 的輸出
index_return=系統日誌查看器
index_view=看法..
index_viewfile=查看日誌文件:
index_viewok=看法
journal_journalctl=所有消息
journal_expla_journalctl=所有帶有解釋的消息
journal_journalctl_dmesg=內核消息
journal_journalctl_debug_info=調試和信息消息
journal_journalctl_notice_warning=通知和警告信息
journal_journalctl_err_crit=錯誤和關鍵消息
journal_journalctl_alert_emerg=警報和緊急消息
journal_journalctl_unit=特定單位的訊息
journal_since0=最新可用
journal_since1=即時關注
journal_since2=目前啟動
journal_since3=7 天前
journal_since4=24 小時前
journal_since5=8 小時前
journal_since6=1 小時前
journal_since7=30 分鐘前
journal_since8=10 分鐘前
journal_since9=3 分鐘前
journal_since10=1 分鐘前
journal_sincefollow=在
journal_since=自從
view_title=查看日誌文件
view_titlejournal=檢視期刊
view_header=$2 的最後 $1 行
view_header2=最後 $1 行
view_header3=$1 行
view_empty=日誌文件為空
view_loading=正在監視日誌檔..還沒有新行。
view_filter=過濾帶有文本 $1 的行
view_filter_btn=篩選
save_efile=“$1”不是有效的文件名 : $2
save_ecannot2=您無權查看此日誌
save_ecannot3=錯誤:您無權查看此日誌
save_ecannot4=錯誤:無法開啟“$1”
save_ecannot6=不允許查看任意日誌
save_ecannot7=您無權查看此額外日誌
save_emissing=缺少要查看的日誌文件
acl_any=可以查看任何文件作為日誌嗎?
acl_logs=可以查看和配置日誌文件
acl_all=所有日誌
acl_sel=僅列出的文件和列出的目錄下的文件 ..
acl_extra=此用戶的額外日誌文件
acl_syslog=可以從 syslog 查看日誌嗎?
acl_others=可以查看其他模塊的日誌嗎?
+301
View File
@@ -0,0 +1,301 @@
# logviewer-lib.pl
# Functions for the syslog module
BEGIN { push(@INC, ".."); };
use WebminCore;
&init_config();
%access = &get_module_acl();
# can_edit_log(&log|file)
# Returns 1 if some log can be viewed/edited, 0 if not
sub can_edit_log
{
return 1 if (!$access{'logs'});
local @files = split(/\s+/, $access{'logs'});
local $lf;
if (ref($_[0])) {
$lf = $_[0]->{'file'} || $_[0]->{'pipe'} || $_[0]->{'host'} ||
$_[0]->{'socket'} || $_[0]->{'cmd'} ||
($_[0]->{'all'} ? "*" : "users");
}
else {
$lf = $_[0];
}
foreach $f (@files) {
return 1 if ($f eq $lf || &is_under_directory($f, $lf));
}
return 0;
}
# get_journal_since
# Returns a list of journalctl since commands
sub get_journal_since
{
return [
{ "" => $text{'journal_since0'} },
{ "--follow" => $text{'journal_since1'} },
{ "--boot" => $text{'journal_since2'} },
{ "--boot -1" => $text{'journal_since2-1'} },
{ "--since '30 days ago'" => $text{'journal_since30'} },
{ "--since '7 days ago'" => $text{'journal_since3'} },
{ "--since '24 hours ago'" => $text{'journal_since4'} },
{ "--since '8 hours ago'" => $text{'journal_since5'} },
{ "--since '1 hour ago'" => $text{'journal_since6'} },
{ "--since '30 minutes ago'" => $text{'journal_since7'} },
{ "--since '10 minutes ago'" => $text{'journal_since8'} },
{ "--since '3 minutes ago'" => $text{'journal_since9'} },
{ "--since '1 minute ago'" => $text{'journal_since10'} },
];
}
# get_systemctl_cmds([force-select])
# Returns logs for journalctl
sub get_systemctl_cmds
{
my $fselect = shift;
my $lines = $in{'lines'} ? int($in{'lines'}) : int($config{'lines'}) || 1000;
my $journalctl_cmd = &has_command('journalctl');
return () if (!$journalctl_cmd);
my $systemctl_cmd = &has_command('systemctl') || 'systemctl';
my $eflags = "";
$eflags = " --reverse" if ($config{'reverse'});
my $jver = &get_journalctl_version();
$eflags .= " --no-hostname" if (!$config{'showhost'} && $jver && $jver >= 239);
$journalctl_cmd = "journalctl$eflags";
my @rs = (
{ 'cmd' => "$journalctl_cmd --lines $lines",
'desc' => $text{'journal_journalctl'},
'id' => "journal-1", },
{ 'cmd' => "$journalctl_cmd --lines $lines --catalog ",
'desc' => $text{'journal_expla_journalctl'},
'id' => "journal-2", },
{ 'cmd' => "$journalctl_cmd --lines $lines --priority alert..emerg",
'desc' => $text{'journal_journalctl_alert_emerg'},
'id' => "journal-3", },
{ 'cmd' => "$journalctl_cmd --lines $lines --priority err..crit",
'desc' => $text{'journal_journalctl_err_crit'},
'id' => "journal-4", },
{ 'cmd' => "$journalctl_cmd --lines $lines --priority notice..warning",
'desc' => $text{'journal_journalctl_notice_warning'},
'id' => "journal-5", },
{ 'cmd' => "$journalctl_cmd --lines $lines --priority debug..info",
'desc' => $text{'journal_journalctl_debug_info'},
'id' => "journal-6", },
{ 'cmd' => "$journalctl_cmd --lines $lines --dmesg ",
'desc' => $text{'journal_journalctl_dmesg'},
'id' => "journal-7", } );
# Add more units from config if exists on the system
my (%ucache, %uread);
my $units_cache = "$module_config_directory/units.cache";
&read_file($units_cache, \%ucache);
if (!%ucache) {
my $out = &backquote_command(quotemeta($systemctl_cmd).
" list-units --all --no-legend --no-pager");
foreach my $line (split(/\r?\n/, $out)) {
$line =~ s/^[^a-z0-9\-\_\.]+//i;
my ($unit, $desc) = (split(/\s+/, $line, 5))[0, 4];
$uread{$unit} = $desc;
}
}
# All units
%ucache = %uread if (%uread);
# If forced to select, return full list
if ($fselect) {
my %units = %uread ? %uread : %ucache;
foreach my $u (sort keys %units) {
my $uname = $u;
my $qu = quotemeta($u);
$uname =~ s/\\x([0-9A-Fa-f]{2})/pack('H2', $1)/eg;
push(@rs, { 'cmd' => "$journalctl_cmd --lines ".
"$lines --unit $qu",
'desc' => $uname,
'id' => "journal-a-$u", });
}
}
# Otherwise, return only the pointer
# element for the index page
else {
push(@rs,
{ 'cmd' => "$journalctl_cmd --lines $lines --unit",
'desc' => $text{'journal_journalctl_unit'},
'id' => "journal-u" });
}
# Save cache
if (%uread) {
&lock_file($units_cache);
&write_file($units_cache, \%ucache);
&unlock_file($units_cache);
}
return @rs;
}
# clear_systemctl_cache()
# Clear the cache of systemctl units
sub clear_systemctl_cache
{
unlink("$module_config_directory/units.cache");
}
# cleanup_destination(cmd)
# Returns a destination of some command cleaned up for display
sub cleanup_destination
{
my $cmd = shift;
$cmd =~ s/-n\s+\d+\s*//;
$cmd =~ s/\.service$//;
return $cmd;
}
# cleanup_description(desc)
# Returns a description cleaned up for display
sub cleanup_description
{
my $desc = shift;
$desc =~ s/\s+\(Virtualmin\)//;
return $desc;
}
# fix_clashing_description(description, service)
# Returns known clashing descriptions fixed
sub fix_clashing_description
{
my ($desc, $serv) = @_;
# EL systems name for PHP FastCGI Process Manager is repeated
if ($serv =~ /php(\d+)-php-fpm/) {
my $php_version = $1;
$php_version = join(".", split(//, $php_version));
$desc =~ s/PHP/PHP $php_version/;
}
return $desc;
}
# all_log_files(file)
# Given a filename, returns all rotated versions, ordered by oldest first
sub all_log_files
{
$_[0] =~ /^(.*)\/([^\/]+)$/;
local $dir = $1;
local $base = $2;
local ($f, @rv);
opendir(DIR, &translate_filename($dir));
foreach $f (readdir(DIR)) {
local $trans = &translate_filename("$dir/$f");
if ($f =~ /^\Q$base\E/ && -f $trans && $f !~ /\.offset$/) {
push(@rv, "$dir/$f");
$mtime{"$dir/$f"} = [ stat($trans) ];
}
}
closedir(DIR);
return sort { $mtime{$a}->[9] <=> $mtime{$b}->[9] } @rv;
}
# get_other_module_logs([module])
# Returns a list of logs supplied by other modules
sub get_other_module_logs
{
local ($mod) = @_;
local @rv;
local %done;
foreach my $minfo (&get_all_module_infos()) {
next if ($mod && $minfo->{'dir'} ne $mod);
next if (!$minfo->{'syslog'});
next if ($minfo->{'dir'} =~ /^(init|proc)$/);
next if (!&foreign_installed($minfo->{'dir'}));
local $mdir = &module_root_directory($minfo->{'dir'});
next if (!-r "$mdir/syslog_logs.pl");
&foreign_require($minfo->{'dir'}, "syslog_logs.pl");
local $j = 0;
foreach my $l (&foreign_call($minfo->{'dir'}, "syslog_getlogs")) {
local $fc = $l->{'file'} || $l->{'cmd'};
next if ($done{$fc}++);
$l->{'minfo'} = $minfo;
$l->{'mod'} = $minfo->{'dir'};
$l->{'mindex'} = $j++;
push(@rv, $l);
}
}
@rv = sort { $a->{'minfo'}->{'desc'} cmp $b->{'minfo'}->{'desc'} } @rv;
local $i = 0;
foreach my $l (@rv) {
$l->{'index'} = $i++;
}
return @rv;
}
# extra_log_files()
# Returns a list of extra log files available to the current Webmin user. No filtering
# based on allowed directory is done though!
sub extra_log_files
{
local @rv;
foreach my $fd (split(/\t+/, $config{'extras'}), split(/\t+/, $access{'extras'})) {
if ($fd =~ /^"(\S+)"\s+"(\S.*)"$/) {
push(@rv, { 'file' => $1, 'desc' => $2 });
}
elsif ($fd =~ /^"(\S+)"$/) {
push(@rv, { 'file' => $1 });
}
elsif ($fd =~ /^(\S+)\s+(\S.*)$/) {
push(@rv, { 'file' => $1, 'desc' => $2 });
}
else {
push(@rv, { 'file' => $fd });
}
}
foreach my $f (@rv) {
if ($f->{'file'} =~ /^(.*)\s*\|$/) {
delete($f->{'file'});
$f->{'cmd'} = $1;
}
}
return @rv;
}
# config_post_save
# Called after the module's configuration has been saved
sub config_post_save
{
&clear_systemctl_cache();
}
# catter_command(file)
# Given a file that may be compressed, returns the command to output it in
# plain text, or undef if impossible
sub catter_command
{
local ($l) = @_;
local $q = quotemeta($l);
if ($l =~ /\.gz$/i) {
return &has_command("gunzip") ? "gunzip -c $q" : undef;
}
elsif ($l =~ /\.Z$/i) {
return &has_command("uncompress") ? "uncompress -c $q" : undef;
}
elsif ($l =~ /\.bz2$/i) {
return &has_command("bunzip2") ? "bunzip2 -c $q" : undef;
}
elsif ($l =~ /\.xz$/i) {
return &has_command("xz") ? "xz -d -c $q" : undef;
}
else {
return "cat $q";
}
}
# get_journalctl_version()
# Returns the version of journalctl
sub get_journalctl_version
{
my $bin = &has_command('journalctl');
return undef if (!$bin);
my $out = &backquote_command(quotemeta($bin)." --version 2>&1");
if ($out =~ /systemd\s+([0-9]+(?:\.[0-9A-Za-z\-\+]+)*)/) {
return $1;
}
return undef;
}
1;
+7
View File
@@ -0,0 +1,7 @@
name=logviewer
category=system
os_support=*-linux
desc=System Logs
depends=proc
longdesc=View and search all logs available on system
readonly=1
+2
View File
@@ -0,0 +1,2 @@
longdesc_pl=Przeglądaj i przeszukuj wszystkie dzienniki dostępne w systemie
desc_pl=Dzienniki systemowe
+3
View File
@@ -0,0 +1,3 @@
longdesc_ru=Просмотр и поиск всех журналов, доступных в системе
name_ru=Системные журналы
desc_ru=Cистемные журналы
+21
View File
@@ -0,0 +1,21 @@
require 'logviewer-lib.pl';
# If other logs to view were defined in the syslog module but it isn't usable on this system,
# move them over
sub module_install
{
if (&foreign_check("syslog") && !&foreign_installed("syslog")) {
&foreign_require("syslog");
if ($syslog::config{'extras'} && !$config{'extras'}) {
$config{'extras'} = $syslog::config{'extras'};
delete($syslog::config{'extras'});
&lock_file($module_config_file);
&save_module_config();
&unlock_file($module_config_file);
&lock_file($syslog::module_config_file);
&save_module_config(\%syslog::config, "syslog");
&unlock_file($syslog::module_config_file);
}
}
}
+1
View File
@@ -0,0 +1 @@
allowed=lines,refresh_def,refresh,others,reverse
+3
View File
@@ -0,0 +1,3 @@
any=0
syslog=1
others=1
+458
View File
@@ -0,0 +1,458 @@
#!/usr/local/bin/perl
# view_log.cgi
# Save, create, delete or view a log
require './logviewer-lib.pl';
&ReadParse();
&foreign_require("proc", "proc-lib.pl");
# Viewing a log file
my @extras = &extra_log_files();
if ($in{'idx'} =~ /^\//) {
# The drop-down selector on this page has chosen a file
if (&indexof($in{'idx'}, (map { $_->{'file'} } @extras)) >= 0) {
$in{'extra'} = $in{'idx'};
delete($in{'file'});
}
else {
$in{'file'} = $in{'idx'};
delete($in{'extra'});
}
delete($in{'idx'});
delete($in{'oidx'});
}
my $journal_since = &get_journal_since();
if ($in{'idx'} ne '') {
# From systemctl commands
if ($in{'idx'} =~ /^journal-/) {
my @systemctl_cmds = &get_systemctl_cmds(1);
my ($log);
if ($in{'idx'} eq 'journal-u') {
($log) = grep { $_->{'cmd'} =~ /--unit\s+\S+/ }
@systemctl_cmds;
$in{'idx'} = $log->{'id'};
}
else {
($log) = grep { $_->{'id'} eq $in{'idx'} }
@systemctl_cmds;
}
# If reverse is set, add it to the command
if ($reverse) {
$log->{'cmd'} .= " --reverse";
}
# If since is set and allowed, add it to the command
if ($in{'since'} &&
grep { $_ eq $in{'since'} }
map { keys %$_ } @$journal_since) {
$log->{'cmd'} .= " $in{'since'}";
}
&can_edit_log($log) && $access{'syslog'} ||
&error($text{'save_ecannot2'});
$cmd = $log->{'cmd'};
}
# System logs from other modules
elsif ($in{'idx'} =~ /^syslog-ng-/) {
if (&foreign_available('syslog-ng') &&
&foreign_installed('syslog-ng')) {
&foreign_require('syslog-ng');
my $conf = &syslog_ng::get_config();
my @dests = &syslog_ng::find("destination", $conf);
my $iid = $in{'idx'};
$iid =~ s/^syslog-ng-//;
my $log = $conf->[$iid];
my $dfile = &syslog_ng::find_value("file", $log->{'members'});
&can_edit_log({'file' => $dfile}) && $access{'syslog'} ||
&error($text{'save_ecannot2'});
$file = $dfile;
}
}
elsif ($in{'idx'} =~ /^syslog-/) {
if (&foreign_available('syslog') &&
&foreign_installed('syslog')) {
&foreign_require('syslog');
my $conf = &syslog::get_config();
my $iid = $in{'idx'};
$iid =~ s/^syslog-//;
my $log = $conf->[$iid];
&can_edit_log($log) && $access{'syslog'} ||
&error($text{'save_ecannot2'});
$file = $log->{'file'};
}
}
}
elsif ($in{'oidx'} ne '') {
# From another module
@others = &get_other_module_logs($in{'omod'});
($other) = grep { $_->{'mindex'} == $in{'oidx'} } @others;
&can_edit_log($other) && $access{'others'} ||
&error($text{'save_ecannot2'});
if ($other->{'file'}) {
$file = $other->{'file'};
}
else {
$cmd = $other->{'cmd'};
}
}
elsif ($in{'extra'}) {
# Extra log file
($extra) = grep { $_->{'file'} eq $in{'extra'} ||
$_->{'cmd'} eq $in{'extra'} } @extras;
$extra || &error($text{'save_ecannot7'});
&can_edit_log($extra) || &error($text{'save_ecannot2'});
$file = $extra->{'file'};
$cmd = $extra->{'cmd'};
}
elsif ($in{'file'}) {
# Explicitly named file
$access{'any'} || &error($text{'save_ecannot6'});
$file = $in{'file'};
&can_edit_log($file) || &error($text{'save_ecannot2'});
}
else {
&error($text{'save_emissing'});
}
print "Refresh: $config{'refresh'}\r\n"
if ($config{'refresh'});
my $lines = $in{'lines'} ? int($in{'lines'}) : int($config{'lines'});
my $jfilter = $in{'filter'} ? $in{'filter'} : "";
my $filter = $jfilter ? quotemeta($jfilter) : "";
my $include_surrounding = $in{'surrounding'} ? 1 : 0;
my $context_lines = $config{'include_context'} =~ /^\d+$/
? int($config{'include_context'}) : 0;
my $has_context = $include_surrounding && $context_lines > 0;
my $use_regex = $in{'regex'} ? 1 : 0;
my $reverse = $config{'reverse'} ? 1 : 0;
my $follow = $in{'since'} eq '--follow' ? 1 : 0;
my $no_navlinks = $in{'nonavlinks'} == 1 ? 1 : undef;
my $skip_index = $config{'skip_index'} == 1 ? 1 : undef;
my $help_link = (!$no_navlinks && $skip_index) ?
&help_search_link("systemd-journal journalctl", "man", "doc") : undef;
my $no_links = $no_navlinks || $skip_index;
my $cmd_unpacked = $cmd;
$cmd_unpacked =~ s/\\x([0-9A-Fa-f]{2})/pack('H2', $1)/eg;
$cmd_unpacked =~ s/\s+\-\-reverse// if ($follow);
$cmd_unpacked =~ s/\s+\-\-lines\s+\d+// if ($follow);
$cmd_unpacked .= " --grep \"@{[&html_escape($jfilter)]}\"" if ($filter);
my $view_title = $in{'idx'} =~ /^journal/ ?
$text{'view_titlejournal'} : $text{'view_title'};
&ui_print_header("<tt>".&html_escape($file || $cmd_unpacked)."</tt>",
$in{'linktitle'} || $view_title, "", undef,
!$no_navlinks && $skip_index,
($no_navlinks || $skip_index) ? 1 : undef,
0, $help_link);
&filter_form();
# Standard output
if (!$follow) {
$| = 1;
print "<pre>";
local $tailcmd = $config{'tail_cmd'} || "tail -n LINES";
$tailcmd =~ s/LINES/$lines/g;
my ($safe_proc_out, $safe_proc_out_got);
if ($filter ne "") {
# Are we supposed to filter anything? Then use grep.
local @cats;
if ($cmd) {
# Getting output from a command
push(@cats, $cmd);
}
elsif ($config{'compressed'}) {
# All compressed versions
foreach $l (&all_log_files($file)) {
$c = &catter_command($l);
push(@cats, $c) if ($c);
}
}
else {
# Just the one log
@cats = ( "cat ".quotemeta($file) );
}
$cat = "(".join(" ; ", @cats).")";
if ($reverse) {
$tailcmd .= " | tac" if ($cmd !~ /journalctl/);
}
$dashflag = "--";
my $grep_mode = $use_regex ? "-E" : "-F";
if (@cats) {
my $fcmd;
my $context_opts = $has_context ? " -C $context_lines" : "";
if ($cmd =~ /journalctl/) {
$fcmd = "$cmd | grep -a $grep_mode$context_opts ".
"$dashflag $filter";
}
else {
$fcmd = "$cat | grep -i -a $grep_mode$context_opts ".
"$dashflag $filter ".
"| $tailcmd";
}
open(my $output_fh, '>', \$safe_proc_out);
$safe_proc_out_got = &proc::safe_process_exec(
$fcmd, 0, 0, $output_fh, undef, 1, 0, undef, 1);
close($output_fh);
print $safe_proc_out if ($safe_proc_out !~ /-- No entries --/m);
}
else {
$safe_proc_out_got = undef;
}
} else {
# Not filtering .. so cat the most recent non-empty file
if ($cmd) {
# Getting output from a command
$fullcmd = $cmd.($cmd =~ /journalctl/ ? "" : (" | ".$tailcmd));
}
elsif ($config{'compressed'}) {
# Cat all compressed files
local @cats;
$total = 0;
foreach $l (reverse(&all_log_files($file))) {
next if (!-s $l);
$c = &catter_command($l);
if ($c) {
$len = int(&backquote_command(
"$c | wc -l"));
$total += $len;
push(@cats, $c);
last if ($total > $in{'lines'});
}
}
if (@cats) {
$cat = "(".join(" ; ", reverse(@cats)).")";
$fullcmd = $cat." | ".$tailcmd;
}
else {
$fullcmd = undef;
}
}
else {
# Just run tail on the file
$fullcmd = $tailcmd." ".quotemeta($file);
}
if ($reverse && $fullcmd) {
$fullcmd .= " | tac" if ($fullcmd !~ /journalctl/);
}
if ($fullcmd) {
open(my $output_fh, '>', \$safe_proc_out);
$safe_proc_out_got = &proc::safe_process_exec(
$fullcmd, 0, 0, $output_fh, undef, 1, 0, undef, 1);
close($output_fh);
print $safe_proc_out if ($safe_proc_out !~ /-- No entries --/m);
}
else {
$safe_proc_out_got = undef;
}
}
print "<i data-empty>$text{'view_empty'}</i>\n"
if (!$safe_proc_out_got || $safe_proc_out =~ /-- No entries --/m);
print "</pre>\n";
}
else {
# Progressive output
print "<pre id='logdata' data-reversed='$reverse'>";
print "<i data-loading>$text{'view_loading'}</i>\n";
print "</pre>\n";
my %tinfo = &get_theme_info($current_theme);
my $spa_theme = $tinfo{'spa'} ? 1 : 0;
print <<EOF;
<script>
// Abort previous log viewer progress fetch
if (typeof fn_logviewer_progress_abort === 'function') {
fn_logviewer_progress_abort();
}
// Update log viewer with new data from the server
(async function () {
const progressUrl =
"view_log_progress.cgi?idx=$in{'idx'}&filter=" +
"@{[&urlize($jfilter)]}&regex=$use_regex";
const logviewer_progress_abort = new AbortController();
const logDataElement = document.getElementById("logdata"),
response = await fetch(
progressUrl,
{ signal: logviewer_progress_abort.signal }),
reader = response.body.getReader(),
decoder = new TextDecoder("utf-8"),
processText = async function () {
let { done, value } = await reader.read();
while (!done) {
const chunk = decoder.decode(value, { stream: true }).trim(),
dataReversed = logDataElement.getAttribute("data-reversed");
if (!processText.started) {
processText.started = true;
const loadingElement = logDataElement.querySelector("i[data-loading]");
if (loadingElement) {
loadingElement.remove();
}
}
let lines = chunk.split("\\n");
if (dataReversed === "1") {
lines = lines.reverse();
logDataElement.textContent =
lines.join("\\n") + "\\n" + logDataElement.textContent;
}
else {
logDataElement.textContent += lines.join("\\n") + "\\n";
}
if (typeof fn_logviewer_progress_update === 'function') {
fn_logviewer_progress_update(chunk, dataReversed);
}
({ done, value } = await reader.read());
}
};
if (typeof fn_logviewer_progress_status === 'function') {
fn_logviewer_progress_status(response);
}
fn_logviewer_progress_abort = function () {
logviewer_progress_abort.abort();
fn_logviewer_progress_abort = null;
}
if ($spa_theme !== 1) {
window.onbeforeunload = function() {
if (typeof fn_logviewer_progress_abort === 'function') {
fn_logviewer_progress_abort();
}
};
}
processText().catch((error) => {
if (typeof fn_logviewer_progress_ended === 'function') {
fn_logviewer_progress_ended(error);
}
});
})();
</script>
EOF
}
&filter_form();
if ($no_links) {
&ui_print_footer();
}
else {
&ui_print_footer("", $text{'index_return'});
}
sub filter_form
{
print &ui_form_start("view_log.cgi");
if ($no_navlinks) {
print &ui_hidden("nonavlinks", $no_navlinks),"\n";
}
print &ui_hidden("linktitle", $in{'linktitle'}),"\n";
print &ui_hidden("oidx", $in{'oidx'}),"\n";
print &ui_hidden("omod", $in{'omod'}),"\n";
print &ui_hidden("file", $in{'file'}),"\n";
print &ui_hidden("extra", $in{'extra'}),"\n";
print &ui_hidden("view", 1),"\n";
# Create list of logs and selector
my @logfiles;
my $found = 0;
my $text_view_header = 'view_header';
if ($access{'syslog'}) {
# Logs from syslog
my @systemctl_cmds = &get_systemctl_cmds(1);
foreach $c (@systemctl_cmds) {
next if (!&can_edit_log($c));
my $icon = $c->{'id'} =~ /journal-(a|x)/ ? "&#x25E6;&nbsp; " : "";
push(@logfiles, [ $c->{'id'}, $icon.$c->{'desc'} ]);
$found++ if ($c->{'id'} eq $in{'idx'});
}
# System logs from other modules
my @foreign_syslogs;
if (&foreign_available('syslog') &&
&foreign_installed('syslog')) {
&foreign_require('syslog');
my $conf = &syslog::get_config();
foreach $c (@$conf) {
next if ($c->{'tag'});
next if (!&can_edit_log($c));
next if (!$c->{'file'} || !-f $c->{'file'});
push(@logfiles, [ "syslog-$c->{'index'}", $c->{'file'} ]);
$found++ if ($c->{'file'} eq $file);
push(@foreign_syslogs, $c->{'file'});
}
}
if (&foreign_available('syslog-ng') &&
&foreign_installed('syslog-ng')) {
&foreign_require('syslog-ng');
my $conf = &syslog_ng::get_config();
my @dests = &syslog_ng::find("destination", $conf);
foreach my $dest (@dests) {
my $dfile = &syslog_ng::find_value("file", $dest->{'members'});
my ($type, $typeid) = &syslog_ng::nice_destination_type($dest);
next if (grep(/^$dfile$/, @foreign_syslogs));
next if ($dfile !~ /^\//);
if ($typeid == 0 && -f $dfile) {
my @cols;
if ($dfile && -f $dfile) {
push(@logfiles, [ "syslog-ng-$dest->{'index'}", $dfile ]);
$found++ if ($dfile eq $file);
}
}
}
}
}
if ($config{'others'} && $access{'others'}) {
foreach my $o (&get_other_module_logs()) {
next if (!&can_edit_log($o));
next if (!$o->{'file'});
push(@logfiles, [ $o->{'file'} ]);
$found++ if ($o->{'file'} eq $file);
}
}
foreach $e (&extra_log_files()) {
next if (!&can_edit_log($e));
push(@logfiles, [ $e->{'file'} ]);
$found++ if ($e->{'file'} eq $file);
}
if (@logfiles && $found) {
$sel = &ui_select("idx", $in{'idx'} eq '' ? $file : $in{'idx'},
[ @logfiles ], undef, undef, undef, undef,
"onChange='form.submit()' style='max-width: 240px'");
if ($in{'idx'} =~ /^journal-/) {
my $since_label = $follow ? $text{'journal_sincefollow'} :
$text{'journal_since'};
$sel .= "$since_label&nbsp; " .
&ui_select("since", $in{'since'},
[ map { my ($key) = keys %$_;
[ $key, $_->{$key} ] }
@$journal_since ],
undef, undef, undef, undef,
"onChange='form.submit()'");
}
}
else {
$text_view_header = 'view_header2';
print &ui_hidden("idx", $in{'idx'}),"\n";
}
if ($follow) {
print &text('view_header3', "&nbsp;$sel"),"\n";
}
else {
print &text(
$text_view_header,
"&nbsp;" . &ui_textbox("lines", $lines, 3),
"&nbsp;$sel"),"\n";
}
print "&nbsp;&nbsp;&nbsp;&nbsp;\n";
print &text(
'view_filter',
"&nbsp;" . &ui_textbox("filter", $in{'filter'}, 15)),"\n";
print "&nbsp;&nbsp;\n";
print &ui_submit($text{'view_filter_btn'});
print "&nbsp;\n";
print &ui_tag(
'span',
&ui_checkbox("regex", 1,
$text{'view_filter_regex'}, $use_regex),
{ style => "vertical-align: middle; margin-left: 2px;" });
if ($context_lines > 0 && !$follow) {
print "&nbsp;\n";
print &ui_tag(
'span',
&ui_checkbox("surrounding", 1,
$text{'view_filter_surround'}, $include_surrounding),
{ style => "vertical-align: middle;" });
}
print &ui_form_end(),"<br>\n";
}
+59
View File
@@ -0,0 +1,59 @@
#!/usr/local/bin/perl
# view_log_progress.cgi
# Returns progressive output for some system log
require './logviewer-lib.pl';
&ReadParse();
&foreign_require("proc", "proc-lib.pl");
# Send headers
print "Content-Type: text/plain\n\n";
# Follow and reverse are mutually exclusive
my @systemctl_cmds;
{
local $config{'reverse'} = 0;
@systemctl_cmds = &get_systemctl_cmds(1);
}
# System log to follow
my ($log) = grep { $_->{'id'} eq $in{'idx'} } @systemctl_cmds;
if (!&can_edit_log($log) ||
!$log->{'cmd'} ||
$log->{'cmd'} !~ /^journalctl/) {
print $text{'save_ecannot3'};
exit;
}
# Disable output buffering
$| = 1;
# No lines for real time logs
$log->{'cmd'} =~ s/\s+\-\-lines\s+\d+//;
# Show real time logs
$log->{'cmd'} .= " --follow";
# Add filter to the command if present
my $filter = $in{'filter'} ? quotemeta($in{'filter'}) : "";
my $use_regex = $in{'regex'} ? 1 : 0;
my $readcmd = $log->{'cmd'};
if ($filter) {
my $grep_flag = $use_regex ? "-E" : "-F";
$readcmd .= " | grep --line-buffered -a $grep_flag -- $filter";
}
# Open a pipe to the journalctl command
my $pid = open(my $fh, '-|', $readcmd);
if (!defined($pid)) {
print &text('save_ecannot4', $readcmd).": $!";
exit;
}
# Read and output the log
while (my $line = <$fh>) {
print $line;
}
# Clean up when done
close($fh);