Определить, если сапоги сервере используя выскочка или с sysvinit

Я не опытный пользователь Linux/админ, но на прошлой неделе я приобрел малина, и установил на ней Raspbmc, основанный на дистрибутиве Дебиан.

У меня возникли некоторые проблемы, пытаясь определить, какие скрипты дистрибутив с помощью сервисов, я знаю, что есть метод init.D скрипты определены конкретные уровни (rc0.д и rc1.д и т. д..)

И я должен заявить, что я немного запутался об этом.

На мой вопрос, когда я инициализации .conf файлов для выскочку-rc0123456.файлы дь еще действительны ? загрузочный отношениях только одному (выскочка или с sysvinit) или оба одновременно?

И как я могу определить, какой из них используется?

Спасибо!

+76
Campa 28 мая 2017 г., 14:45:10
40 ответов

Я понимаю, что базовый уровень пособие обеспечивает уровень абстракции, что позволяет не беспокоиться о том, как его виртуальная память должна быть физически назначен, осталось в ОС дело. Однако, помимо этого, какие еще плюсы/минусы мы можем ожидать от этого?

+994
Min Yong 03 февр. '09 в 4:24

Первое, что вам нужно сделать, это подтвердить, является ли или не ядре действительно есть драйвер для дисплея.

Поиск онлайн на карту по отношению к Linux, чтобы увидеть, если вы можете выяснить имя водителя. Если у вас есть исходный код ядра доступен, вы можете также искать улики там:

найти в src/ -имя Рейнхард -печать -метод exec команда grep 'фразу' '{}' \;

Где некоторые фразы' является производителем и/или номер модели, и т. д. В Рейнхард файлы содержат информацию, используемую "сделать меню", когда вы вручную скомпилировать ядро.

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

Если ядро было скомпилировано специально для этой платы, драйвер может быть встроен в него-хотя если бы это было так, вы не должны иметь проблемы. Если это не так, ядра требуются водитель в initramfs.рис. Если его там нет, как только корневая файловая система смонтирована, даже если он обнаружит на дисплее и загружает драйвер (от /Либ/модули), я не думаю, что он будет делать с ней что угодно ... я не пробовал в некоторое время. На этот шанс, вы могли бы посмотреть на вывод lsmod распечатывает , чтобы увидеть, если модуль вы думаете, должен быть водитель фактически загружен.

+900
bejonwe 20 сент. 2019 г., 17:46:30
Другие ответы

Связанные вопросы


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

В bash/KSH и подобные, можно использовать <() , чтобы избежать подуровень, что | создается:

insourcable.sh:

Эхо Алло прорезные
Echo Привет мир
Эхо ahoj světe

Предположим, вы хотите только в исходном коде номер два:

. <( СЭД -п '2 п' < insourcable.sh )

(печатает "Привет мир")

+892
dzgreen 5 мар. 2012 г., 08:52:16

Для shell-скрипт, чтобы быть в состоянии вызвать функцию, эта функция должна быть определена перед вызовом ее. Это не так в коде.

Чтобы исправить это, переместите функцию выше командной строки разбора петли.

Кроме того, я хотел бы сделать последнее дело тест *) , чтобы поймать любые необработанные параметр (/? никогда не будет соответствовать один символ). И команде getopts утилита будет уже выводить сообщение об ошибке, так что вам не нужно повторять, что ($OPTARG дополнительно может быть то, что вы используете здесь, но $опт).

+873
Sid A 31 окт. 2011 г., 16:55:48

Следующее-Это действительно хорошая ссылка: http://www.ibm.com/developerworks/linux/library/l-dynamic-libraries/. Он содержит библиографию в конце различных ссылок на различных уровнях. Если вы хотите знать все эти подробности подробностей вы можете перейти прямо к источнику: http://www.akkadia.org/drepper/dsohowto.pdf. (Ульрих Drepper писал динамическому загрузчику для Linux.)

Вы можете получить действительно хороший обзор всех разделов в исполняемый файл, выполнив команду "objdump -ч myexe" или "readelf выступает -с myexe".

Интернет .раздел истол содержит имя динамического загрузчика, который будет использоваться для динамического связывания символа в этом объекте. Интернет .динамический раздел представляет собой выжимку из заголовка программы, который отформатирован, чтобы быть легким для динамического загрузчика читать. (Поэтому он имеет указатели на все другие разделы.)

Интернет .получил (глобальную таблицу смещений) и .ПЛТ (процедуры, таблицы связей) являются двумя основными структурами, которые манипулируют динамического компоновщика. Интернет .есть косвенность таблица для переменных и .ПЛТ-это косвенный таблице для функции. Каждый исполняемый файл или библиотеку (называемые "разделяемые объекты") имеет свой собственный .есть и .plt и эти таблицы символов ссылается, что общий объект, который фактически содержится в некоторых других общих объектов.

Интернет .dynsyn содержит всю информацию о символах в свой общий объект (как те, что вы определили и внешние на которые вы должны ссылаться.) Интернет .dynsyn не содержат фактические имена символов. Те, которые содержатся в .dynstr и .dynsyn есть указатели на .dynstr. .гну.хэш-это хэш-таблица, используемая для быстрого поиска символов по имени. Он также содержит только указатели (указатели на .dynstr, и указатели, используемые для изготовления ковша цепи.)

Когда ваш общий объект разыменовывает некоторым символом "фу" динамический компоновщик должен пойти посмотреть на "Фу" во всех динамических объектов, связанных против, чтобы выяснить, что один из них содержит "фу" вы ищете (и что тогда относительный адрес "фу" внутри, что общий объект.) Динамический компоновщик делает это путем поиска .гну.хэш-раздел все связанные общими объектами (или .хэш-Раздел для старых общих объектов, которые не имеют .гну.хэш разделе.) Как только он находит правильный адрес в связанном общий объект, ставит его в .получил или .ПЛТ вашего общего объекта.

+787
Chang Soo Han 8 сент. 2011 г., 11:21:11

Когда GNU grep в пытается записать свой результат, она не будет с ненулевой статус выхода, потому что некуда записать выходной, потому что SSH-подключения нет.

Это означает, что если высказывание всегда беру другой ветке.

Чтобы проиллюстрировать это (это не точно , что происходит в вашем случае, но это показывает, что произойдет, если в GNU grep в не в состоянии написать его выходные данные):

$ Эхо 'привет' | грэп привет >&- 2>&-
$ Эхо $?
2

Здесь мы грэп строки, что Эхо порождает, но мы закрываем оба выходных потоков для команды grep так что он не может писать в любом месте. Как видите, выход статус в GNU grep в - это 2, а не 0.

Это особенно в GNU grep в, грэп на BSD системы не ведут себя так же:

$ Эхо 'привет' | грэп привет >&- 2>&- # системы BSD рассмотрим более подробно здесь
$ Эхо $?
0

Чтобы исправить это, убедитесь, что скрипт не генерирует выходной. Вы можете сделать это с метод exec >/dev/нуль 2>&1. Кроме того, мы должны использовать команду grep с вариантом, поскольку мы вовсе не заинтересованы в видя выхода из него (это, как правило, также ускорить грэп , так как не нужно парсить весь файл, но в данном случае это сделать очень мало разницы в скорости с файл такой маленький).

Короче:

#!/Бен/ш

# перенаправление всего вывода не будут перенаправлены в другое место в /dev/null по умолчанию:
экзек >/dev/нуль 2>&1

пока правда; сделать
 дата >sdown.txt

 пинг -з 1 -з 1 myserver.net >pingop.txt

 если ! команда grep -Q". с 64 байт" pingop.txt; тогда
 шавка -с "сервер упал!" [email protected] <sdown.txt
перерыв
интернет

 спать 10
сделано

Вы можете также использовать тест на пинг напрямую, устраняя необходимость для одной из промежуточных файлов (а также избавление от других промежуточных файлов, которые действительно всегда содержит только метка даты):

#!/Бен/ш

экзек >/dev/нуль 2>&1

пока правда; сделать
 если ! пин -Г -Ц 1 -з 1 myserver.net; тогда
 дата | шавка -с "сервер упал!" [email protected]
перерыв
интернет

 спать 10
сделано

В обоих вариантах выше сценарий, я выбираю, чтобы выйти из цикла при недостижении хозяина, просто чтобы минимизировать количество отправленных сообщений. Вы могли бы вместо того, чтобы заменить перерыв с например, спать 10м или что-то, если вы ожидаете, что сервер в конечном итоге приходят снова.

Я тоже слегка подправил параметры, используемые с пингом а -я 1 не имеет особого смысла с -З. 1.

Короче (если вы хотите, чтобы продолжать посылать письма, когда хост недоступен):

#!/Бен/ш

экзек >/dev/нуль 2>&1

в то время как пинг -Щ -Ц 1 -з 1 myserver.net; делать
 спать 10
сделано

дата | шавка -с "сервер упал!" [email protected]

Как хрон работает каждую минуту (будет продолжать посылать письма каждую минуту, если сервер по-прежнему вниз):

* * * * * пинг -ц-ц 1 -з 1 >/dev/нуль 2>&1 || ( Дата | почта -с "сервер отключен" [email protected] )
+774
user351712 30 мар. 2010 г., 08:33:43

На awk решение:

на awk '/^(наименование|количество|области):/{
 сентября = (/^области/? ОРС : ОФС);
 (gsub/^[^:]+:[[:площадь:]]*|[[:пробел:]]*$/, "");
 е "%ы%ы", $0, сентября 
 file.txt }' 

Вывод:

некоторые название 1 some_region
некоторые названия 2 some_region
некоторые название 1 some_region
+763
Chris Dutrow 10 сент. 2016 г., 17:07:04

Я хочу, чтобы удалить последний "". только если "существуют". после "США" слово

мои команды sed только сняли последние "". ,

но что нужно добавить в синтаксис СЭД (правило) для того, чтобы удалить "". только после "США" слово

 хозяин 10.1.23.86 | у awk '{печати $ЯТ}'
sho4.Ил.США.


 хозяин 10.1.23.86 | у awk '{печати $НФ}' | СЭД с'/.$//'
sho4.Ил.США

что нужно добавить в СЕПГ, чтобы удалить "." только после "США" слово?

+741
Eric A Ellis 13 нояб. 2011 г., 00:12:47

Возиться с процесс с помощью GDB почти никогда не в безопасности, хотя может быть необходимо, если есть некоторые чрезвычайные и процесс должен оставаться открытым и все риски и код понимать.

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

Писать-только против чтения и чтения-записи

Ваша идея открыть файловый дескриптор O_WRONLY - это проблематично, так как не все дескрипторы файлов доступны только для записи. Джон Виега и Мэтт Мессье взять более тонкий подход в "безопасной кулинарной книги программирование на C и C++" книга и ручка стандартный ввод по-другому, чем стандартные и Стандартная ошибка (стр. 25, "Управление Дескрипторы Файлов Безопасно"):

статические инт open_devnull(инт ФД) {
 Файл *ф = 0;

 если (!ФД) Ф = freopen(_PATH_DEVNULL, "РБ", Как stdin);
 остальное, если (ФД == 1) ф = freopen(_PATH_DEVNULL, "ВБ", стандартный вывод);
 остальное, если (ФД == 2) ф = freopen(_PATH_DEVNULL, "ВБ", поток stderr);
 возврат (Ф && fileno(Ф) == ФО);
}

В ГДБ случае дескриптор (или же файл * ручки) должны быть проверено, является ли это только для чтения или для чтения и записи или только для записи и соответствующие замены открыт на /dev/нуль. Если нет, то когда-то читал-только ручка, что сейчас пишу-только вызовет ненужные ошибки, если попытка процесс чтения от этого.

Что Может Пойти Не Так?

Как именно процесс ведет себя, когда его дескрипторы файлов (и, вероятно, также Файл * ручками) являются повозился за кадром будет зависеть от процесс и будет варьироваться от "ничего страшного" следует, что дескриптор не будет используется для "режим кошмар" там, где сейчас находится поврежденный файл где-то из-за для сведения непокрасневшие, файла не было-правильно-показатель закрыт, или некоторые другие непредвиденные проблемы.

Для файл * ручки добавить функцию fflush(3) звонок перед закрытием ручка может помочь, или может привести к двойной буферизации или какой-то другой вопрос; это одна из нескольких угроз совершения случайных вызовов в БГД не зная точно, что исходный код делает и ожидает. Программное обеспечение также может иметь дополнительные уровни сложности, построенных на вершине ФД дескрипторы или файл * ручками, которые могут также должны быть рассмотрены. Манки патчинг кода может обернуться разводной ключ достаточно легко.

Резюме

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

+721
12oad 6 окт. 2018 г., 18:51:57

По следующей ссылке есть скрипт для получения информации о системе:

блог z3bra'

В частности,

сети() {

 читать Ло int1 int2 ИС ссылке < < < ` | СЕПГ -н-ы/^[0-9]: \(.*\):.*$/\1/п"

 если iwconfig $int1 >/dev/нуль 2>&1; затем
беспроводной доступ в интернет=$int1
интерфейс eth0=$int2

еще
беспроводной доступ в интернет=$int2
интерфейс eth0=$int1

интернет

 IP-связей показывают состояние $eth0 В | команда grep 'вверх' >/dev/нуль && инт=$eth0 в ||инт=$беспроводной доступ в интернет

#инт=eth0 в

 пинг -с 1 8.8.8.8 >/dev/нуль 2>&1 && 
 Эхо "$инт подключен" || Эхо "$инт отключен"
}

Если я просто выполните команду:

связи IP | СЕПГ -н-ы/^[0-9]: \(.*\):.*$/\1/р'

Я получаю список интерфейсов (как и ожидалось)

Но если я выполнить

 читать Ло int1 int2 ИС ссылке < < < ` | СЕПГ -н-ы/^[0-9]: \(.*\):.*$/\1/п"

Я ничего не получаю. Когда я проверяю $Ло, $int1, и $int2, там еще ничего. Как это читать, не работает, как задумано.

У кого-нибудь есть какие-либо предложения, чтобы это исправить? Я не достаточно понимаю, читать действительно знаю, как отладить это.

+716
Hugh Adamson 5 авг. 2010 г., 20:12:47

Это не сработает. Она должна написать мне.(в качестве теста; что мы действительно хотим, чтобы php-файл и вставить в таблицу базы данных MySQL)

Входными данными является сообщение уведомление об оплате от PayPal.

(Подобный рецепт тут найти описание линии и отправляет его в двух из нас)

в к procmailrc:

Многословный=выкл.
Хранения=в/usr/главная/наши/почта
ЛОГФАЙЛ=в/usr/главная/наши/систему PayPal.журнал
Exitcode содержит = 99

:0В
|в base64 -д|грэп -я Описание|РНР tp129.php

файл php:

$rawmessage = "";
$fд = с помощью функции fopen("в PHP://stdin С", "Р");
хотя(!feof($ФД)) {
$rawmessage .= fread операционной($ФД, 1024);
}
функции fclose($fд);

msg129 $ = 'сырье' .$rawmessage;

почта('[email protected]','msg129',$msg129 );
+715
CTo9I4ek 26 авг. 2015 г., 12:50:30

Пожалуй, лучшим инструментом для обработки изображений будет пакета ImageMagick. Если вы посмотрите на документацию есть множество примеров, которые показывают, как использовать -передернуть особенность, которая я думаю, является то, что вы ищете.

Пример

Перед ss #1 После enter image description here

Командной строки для выполнения преобразования:

$ конвертировать чеки.ПНГ-фильтр 
 -виртуальный пиксель плитка-mattecolor DodgerBlue
 -искажать перспективу '0,0 20,60 90,0 70,63 0,90 5,83 90,90 85,88'
horizon_tile_point.ПНГ

Есть 2 другие методы для проведения отбора проб, чтобы получить результирующее изображение лучше выглядит. Конкретно "Сетки Супер Выборки" И "Эллиптические Взвешенный Области (Эва) передискретизации". Последнее является значением по умолчанию.

Как мне вычислить координаты?

Есть 2 ресурсы для вчитываясь как создавать серии координат для преобразования. Первый-тот, что я дал выше. Второй-это вопросы и ответы на тему: понимание перспективной проекции искажения пакета ImageMagick, а конкретно @KurtPfeifle ответ.

Координаты следующим образом:

Модели SX1,Sy1 Подают Dx1,Dy1 Как SX2,Sy2 Dx2,Почтовый Индекс Dy2 Sx3,Формат Файла Sy3 DX3 На,Dy3 ... Sxn,Син Компания Dxn,Дин 
  • X используется для представления координаты X.
  • y используется для представления y-координата.
  • 1, 2, 3, ... N используется для представления 1-го, 2-го, 3-го, ... N-й пиксель.
  • S используется здесь для исходного пикселя.
  • D используется здесь для целевого пикселя.

Ссылки

+715
Ramesh Boddepalli 19 янв. 2017 г., 14:44:27

Я пытаюсь возвращать логическое значение, если завить ответ со статусом 200.

https://www.example.com -я скручиваемость | команда grep ' 200 ' ? Эхо '1' : Эхо '0';

Однако это возвращает:

грэп: ?: Нет такого файла или каталога
команда grep: Эхо: нет такого файла или каталога
например: 1: Нет такого файла или каталога
команда grep: :: нет такого файла или каталога
команда grep: Эхо: нет такого файла или каталога
команда grep: 0: Нет такого файла или каталога
 % Всего % Получили % Xferd Средняя Скорость Время Время Время Текущее
 Русский Загрузить Общая Пробыл Скорости
 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0

Так что я думаю (и от чтения других потоков), что команда grep не поддерживает тернарный оператор?

Есть простой один лайнер для этого без создания скрипта? (и моя команда grep ' 200 ' свободный, но я думаю, я могу кое-что прояснить позже)

+684
Mbosero Bonface 24 июн. 2017 г., 10:41:50

Это должно работать для вас:

найти . -имя_экземпляра "*.тхт" -каталог в exec {} \; | рода | уник

В найти + Exec и получите каталог имен *.txt файлы, сортировка|уник получите уникальную подобные каталоги.

+657
tekto 23 мар. 2013 г., 19:22:12

Можно ли, и как, для скрежещут себе представить, как Adobe Flash, чтобы избежать "установить Adobe Flash" или сообщения при просмотре флэш-сайтов?

+642
cxzvbn 12 мар. 2018 г., 23:02:19

Для мониторинга логов много серверов Linux, лучшая стратегия отправляет журналы на сервер системного журнала.

В зависимости от того, как много значит для вас, вы можете отправить их через указывая на пакет/файл syslog-ng на один большой сервер syslog, и/или с использованием лог-грузоотправитель, таких как filebeat или logstash.

Кроме того, вы можете думать о использовании лосей стек и Graphana.

Я хотел бы также думать мониторинга инфраструктуры/сервера либо на наличие, в Nagios/смысле, а в сборе по SNMP статистику их выполнения (кактусы или Observium просты в использовании).

В конце концов, многие из инструментов можно выбирать, в том числе @Деклан предложения, зависит от вашего ноу-хау и размер вашей инфраструктуры.

+626
Giovanni Saponaro 25 авг. 2019 г., 23:11:35

Много софта уже написано, чтобы решить такого рода проблемы; Ф.е. Монит и supervisord. Не изобретать колесо.

+614
Jamila 4 мар. 2014 г., 03:10:39

Я просто написал довольно полный сценарий для этого; последняя версия по https://gist.github.com/akorn/51ee2fe7d36fa139723c851d87e56096.

#!/бин/ЗШ
#
# Цель: выполнить команду уточнять с указанными аргументами и результате кэш. Если кэш достаточно свежий, не снова запустите команду, но возвращать кэшированный вывод.
# Также кэш статуса выхода и stderr.
Лицензия№: Лицензия GPLv3

Используйте # глупые длинные имена переменных, чтобы избежать столкновения с тем, что вызываемая программа может использовать
RUNCACHED_MAX_AGE=${RUNCACHED_MAX_AGE:-300}
RUNCACHED_IGNORE_ENV=${RUNCACHED_IGNORE_ENV:-0}
RUNCACHED_IGNORE_PWD=${RUNCACHED_IGNORE_PWD:-0}
[[ -N "в файле$Home" ]] && RUNCACHED_CACHE_DIR=${RUNCACHED_CACHE_DIR:-$дома/.runcached}
RUNCACHED_CACHE_DIR=${RUNCACHED_CACHE_DIR:-в/var/кэш/runcached}

использование функции() {
 Эхо "использование: runcached [--ТТЛ <Макс кэш возраст>] [--кэш-реж <кэш-директории>]"
 Эхо " [--игнорировать-ОКР] [--игнор-инвалидов] [--Help] и [--чернослив-кэш]"
 команду echo " [ -- ] [арг1 [аргумент2 ...]]"
Эхо
 Эхо "запустить" команда "с указанным args и кэш поток stdout, stderr и выход"
 Эхо "статус. Если вы снова выполните ту же команду и кэш свежий, кэшированные"
 Эхо "возвращаются данные и команды фактически не работать."
Эхо
 эхо ", как правило, все экспортируемые переменные среды, а также текущая работа"
 каталог Эхо "включены в ключ кэша. Параметр --ignore опции Отключить это".
 Эхо "переменная OLDPWD всегда игнорируется".
Эхо
 Эхо "--чернослив-кэш удаляет все записи кэша, старше максимального возраста. Есть"
 Эхо "нет другого механизма, чтобы предотвратить кэш растет без границ".
Эхо
 Эхо "каталог кэша по умолчанию составляет ${RUNCACHED_CACHE_DIR}."
 Эхо "максимальный срок хранения в кэше по умолчанию ${RUNCACHED_MAX_AGE}."
Эхо
 Эхо "предупреждения:"
Эхо
 Эхо "побочные эффекты" команда "явно не кэшировать".
Эхо
 Эхо "нет кэша логика недействительными, за исключением кэша возраст (указывается в секундах)."
Эхо
 Эхо "если кэш не может быть создано, команда выполняется в кэше."
Эхо
 Echo "сценарий всегда молчит; любой вывод исходит из вызывается команда. Вы"
 Эхо ", таким образом, могут не заметить ошибки создания кэша, и такие."
Эхо
 Эхо "потоков stdout и stderr сохраняются отдельно. Когда оба записываются в"
 Эхо "терминал из кэша, они почти наверняка будут чередоваться по-разному"
 Эхо ", чем изначально. Заказ сообщений в два потока сохраняется".
 выход 0
}

в то время как [[ -Н "$1" ]]; делать
 дело "$1" в
 --ТТЛ) RUNCACHED_MAX_AGE="$2"; смену 2;;
 --кэш-реж) RUNCACHED_CACHE_DIR="$2"; смену 2;;
 --игнор-ОКР) RUNCACHED_IGNORE_ENV=1; сдвиг;;
 --игнор-дуо) RUNCACHED_IGNORE_PWD=1; сдвиг;;
 --чернослив-кэш) RUNCACHED_PRUNE=1; сдвиг;;
 --помочь) использование;;
 --) сдвиг; перерыв;;
 *) перерыва;
эсок
сделано

zmodload ЗШ/датавремя
zmodload ЗШ/стат

# Это колоритный, но гонка безвредны, а в худшем, программа некэшированной 
# потому что кэш не может использоваться. Проверка на существование директории сохраняет
# функция mkdir(1) выполнение в общем случае, повышение производительности ничтожно;
# это может быть неважно, если runcached выполняется изнутри тугую петлю.
# Скрыть ошибки, так что runcached себе является прозрачным (не смешивайте новые сообщения 
# в какой бы назвал мероприятий программы).
[[ -D "в$RUNCACHED_CACHE_DIR/." ]] || команды mkdir -Р "$RUNCACHED_CACHE_DIR" >/dev/нуль 2>/dev/нуль

((RUNCACHED_PRUNE)) && найти "$RUNCACHED_CACHE_DIR/." -параметр maxdepth 1 -тип F \! -newermt @$[EPOCHSECONDS-RUNCACHED_MAX_AGE] -удалить 2>/dev/нуль

[[ -Н "[email protected]" ]] || выход 0 # если команда не указана, молча покинуть 

(
 # Почти(?) ничего не использует OLDPWD, но принимать ее в расчет потенциально снижает эффективность кэша.
 # Таким образом, мы игнорируем его для целей придумывают ключ кэша.
 сбросить OLDPWD
 ((RUNCACHED_IGNORE_PWD)) && отключено инвалидов
 ((RUNCACHED_IGNORE_ENV)) || конверты
 Эхо -Э "[email protected]"
) | программы md5sum | читать RUNCACHED_CACHE_KEY RUNCACHED__хрень__

# К сожалению, я не смог найти менее сложный способ избавления от сообщения об ошибке при попытке открыть лог-файл в несуществующей директории кэша.
метод exec {RUNCACHED_temp_stderr} >&2
метод exec 2>/dev/нуль
старпома {RUNCACHED_LOCK_FD}>>$RUNCACHED_CACHE_DIR/$RUNCACHED_CACHE_KEY.замок
метод exec 2>&$RUNCACHED_temp_stderr
метод exec {RUNCACHED_temp_stderr}>&-

# Если мы не можем получить блокировку, мы хотим запустить некэшированной; в противном случае
# 'runcached не была прозрачной, потому что это помешало бы
# параллельное выполнение нескольких экземпляров одной и той же команды.
# Замок необходим, чтобы избежать гонок между МВ(1) команда
# ниже замена стандартной ошибки с новой версией, а другой экземпляр
# из runcached используя новый поток stdout со старшим поток stderr.
если стадо -Н $RUNCACHED_LOCK_FD 2>/dev/нуль; тогда
 если [[ -Ф $RUNCACHED_CACHE_DIR/$RUNCACHED_CACHE_KEY.stdout в ]]; затем
 если [[ $[EPOCHSECONDS-$(zstat +время изменения $RUNCACHED_CACHE_DIR/$RUNCACHED_CACHE_KEY.поток stdout)] -Ле $RUNCACHED_MAX_AGE ]]; затем
 кошка $RUNCACHED_CACHE_DIR/$RUNCACHED_CACHE_KEY.поток stdout &
 кошка $RUNCACHED_CACHE_DIR/$RUNCACHED_CACHE_KEY.поток stderr >&2 &
ждать
 выйти $(<$RUNCACHED_CACHE_DIR/$RUNCACHED_CACHE_KEY.exitstatus)
еще
 РМ -Ф $RUNCACHED_CACHE_DIR/$RUNCACHED_CACHE_KEY.{стандартный вывод,стандартный вывод,exitstatus} 2>/dev/нуль
интернет
интернет

 # только если кэш не существует или был слишком стар
 если [[ -д $RUNCACHED_CACHE_DIR/. ]]; затем
 RUNCACHED_tempdir=$(mktemp -д 2>/dev/нуль)
 если [[ -д $RUNCACHED_tempdir/. ]]; затем
 [email protected] >&1 >$RUNCACHED_tempdir/$RUNCACHED_CACHE_KEY.поток stdout 2>&2 2>$RUNCACHED_tempdir/$RUNCACHED_CACHE_KEY.поток stderr
RUNCACHED_ret=$?
 Эхо $RUNCACHED_ret >$RUNCACHED_tempdir/$RUNCACHED_CACHE_KEY.exitstatus 2>/dev/нуль
 МВ $RUNCACHED_tempdir/$RUNCACHED_CACHE_KEY.{стандартный вывод,стандартный вывод,exitstatus} $RUNCACHED_CACHE_DIR/ 2>/dev/нуль
 команда rmdir $RUNCACHED_tempdir 2>/dev/нуль
 выйти $RUNCACHED_ret
интернет
интернет
интернет

# только если кэш не создается успешно или замок не мог быть получен
старпома [email protected]
+564
Van Boughner 11 авг. 2010 г., 20:37:38

у меня есть это :

СЭД -е "/$имя/с/[0-9]\:*$/$п/" -я sales_info.txt 

Когда я использую выше, чтобы изменить это : мой текстовый файл в формате название:Нет:Нет:Тип:Р

Тома:8:987654:комиссия:0
Томми:7:12379813:почасовая:0
Вентилятор:5:2132131:наемные:0

предполагая, что $имя = том , $П = 55.5

я получаю это :

Тома:8:987654:комиссия:0
Томми:7:12379813:почасовой:55.5
Вентилятор:5:2132131:наемные:0

Однако, если я пытаюсь изменить $р с 55,5 до 41,5

она становится

Тома:8:987654:комиссия:0
Томми:7:12379813:почасовой:55.41.5
Вентилятор:5:2132131:наемные:0

Я пробовал :

СЭД -е "/$имя/с/\:[0-9]*$/\:$п/" -я sales_info.txt 

Он лишь изменяет значение от :0 Если значение больше 0 , оно не будет меняться вообще. Если бы я хотел настаивать на том, чтобы использовать sed для этого . я на месте : в неправильном положении ? Им пытаются изменить в последнем столбце Значение после :

+540
Star171 26 янв. 2018 г., 02:01:38

Почему СШ требует, но все равно имя?

Потому что контроль розетки должны быть на основе имени хоста к которому вы подключаетесь, как описано в странице руководства для файле sshd_config:

ControlPath

Укажите путь к гнезду управления, используемый для подключения к, как описано в разделе ControlMaster выше или строки нет, чтобы отключить общий доступ к подключению. Аргументы ControlPath можете использовать синтаксис Тильда для обозначения домашнего каталога пользователя или маркеры, описанные в разделе жетоны. Рекомендуется, чтобы любой ControlPath, используемых для лечения сопутствующих подключению включать, как минимум, %ч, %р, %р (или %С) и помещены в каталог, который не доступен для записи другим пользователям.* Это гарантирует, что общий соединения могут быть идентифицированы.

Если вы не выполните эти рекомендации, и попробуйте подключиться к другой хост с таким же гнездом, СШ находит существующий разъем и использует его независимо от того, написано имя.

К отредактированы вопрос:

Будет ли у меня проблема, если я использую эту команду как следует ...

СШ -с /путь/к/моего первого хозяина.гнездо example.com .... # Ожидаем подключения первого хозяина
СШ -с /путь/к/меня-второй хозяин.гнездо example.com .... # ожидать подключения второго узла
СШ -с /путь/к/Меня-третьего-хозяина.гнездо example.com .... # Ожидаем подключения третьего узла

Да. Он не применяется/используется сейчас, но ты явно используя недокументированные/неопределенное поведение, которое может измениться в будущем выпуске без какого-либо уведомления.

+512
user263264 10 апр. 2012 г., 13:00:54

СЭД подхода:

СЕПГ -н 'с/.* Идентификатор Агента: \(.*\) Гнезда ИС: \(.*\)/\1 \2/р' входной_файл > host_list.txt

host_list.txt файл содержание(кошки host_list.txt):

SRV3 192.168.2.6
TESTSRV4 10.1.2.3
SRV1 192.168.2.15
TESTSRV2 10.1.2.4
+475
Steven Chapman 22 февр. 2018 г., 09:43:51

Как правило, локальный доступ к машине Linux является признаком того, что это ваша система. Рассмотрим "присутствие" как форма проверки подлинности. Как только вы войдете в систему, оболочку не (сама) знаешь, откуда ты пришел.

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

+465
steve klarer 9 апр. 2017 г., 21:13:02

Пуленепробиваемые решение для UTF-8 строк:

utf8_str=$'\xd0 аппликации\ИЦ\настоящие xd1\Х80\xd0 аппликации\xb8\xd0 аппликации\xb2\xd0 аппликации\хв5\настоящие xd1\противоударный х 82' # привет

last_three_chars=$(Перл-КоАП -е 'печать функцию substr($argv[0] в, -3)' "$utf8_str")

Или использовать:

last_three_chars=$(на Perl -MEncode -со-е '
 выведите функцию substr(декодирования("УТФ-8", $argv[0] в, кодировать::FB_CROAK), -3)
'"$utf8_str")

чтобы предотвратить обработку искаженные данные.

Пример:

Перл-MEncode -со-е '
 выведите функцию substr(декодирования("УТФ-8", $argv[0] в, кодировать::FB_CROAK), -3)
'$'\xd0 аппликации\трансформаторы xd2\xc9\xd7\xc5\xd4' # с KOI8-Р привет

Выводит что-то вроде этого:

кодировке utf8 "\xd0 аппликации" не отображать в Unicode в /usr/lib в/x86_64 с-линукс-дистрибутив GNU/Перл/5.20/кодирования.линия часов 175.

Не зависит от настройки локали (т. е. работает с значение lc_all=с). Баш, СЭД, команда grep, awk и, Рэв , требуют что-то вроде этого: значение lc_all=язык.В UTF-8

Общее решение:

  • Получать байты
  • Определять кодировку
  • Декодировать байты в символы
  • Извлечение символов
  • Кодирование символов в байты

Вы можете определять кодировку с uchardet. См. также обзоры проектов.

Вы можете декодирования/кодирования с помощью кодирования в Perl, кодеки в Python 2.7

Пример:

Экстракт последних трех символов из UTF-16le строку и преобразовать эти символы в UTF-8

utf16_le_str=$'\xff\xfe\x3f все\x04\х40\x04\х38\x04\Х32\x04\Х35\x04\х42\x04' # привет

chardet <<<"$utf16_le_str" # выходов <ввода>: в UTF-16LE с уверенностью 1.0

last_three_utf8_chars=$(на Perl -MEncode -е '
 мой $чаров = расшифровать("кодировке UTF-16le", $argv[0] в);
 мой $last_three_chars = функцию substr($чарс, -3);
 мой $байт = кодировать("утф-8", $last_three_chars);
 печатать $байт;
 '"$utf16_le_str"
)

См. также: perlunitut, в Python 2 Юникода методические указания

+427
Stefani Efremova 8 мая 2015 г., 10:50:07

Строка $а="бар" должен дать вам сообщение об ошибке, говорящее

Баш: файл foo=бар: команда не найдена

Установить в строке строке, используйте в="бар". Обратите внимание, что - это значение переменной а, и что $а="бар" - это бессмысленно.

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

  1. Внести в переменную среды. Это означает, что вы поставили себя вне сценария и экспортировать его:

    экспорт=бар""
    

    После выполнения вашего скрипта, как обычно (он должен быть изменен, чтобы не перезаписать значения в наследство от окружающей среды). Вы также можете использовать

    в=бар"" . /myscript.sh
    

    чтобы установить переменную в скрипт (т. е. не делая его переменной в вызывающем оболочки).

  2. Сделать скрипт возьмет значение из командной строки, так что вы называете сценария

    ./бар myscript.sh ""
    

    Тогда скрипт будет делать

    а="$1"
    

    чтобы установить значение одного из командной строки аргумент. Здесь, $1 означает "первым аргументом командной строки".

Какой бы путь вы идете об этом, вы можете также хотеть проверить, что значение "$а", является вменяемым (т. е. содержит допустимые данные) перед его использованием.

+391
Ian Lorca 18 февр. 2016 г., 19:39:50

Просто в одной строке shell-скрипт ниже не работает, как хрон, но выполнения напрямую из тонкой терминал работает:

#!/бин/Баш

Эхо "выполняется" >> ./crond.журнал 2>&1

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

Проверил файл /var/журнал/cron и нашли хрон пинается задачу в срок:

16 мая 10:30:01 бродяга-centos64 CROND[3015]: (корень) УМК (ш /vagrant/my.sh)
16 мая 10:35:01 бродяга-centos64 CROND[3122]: (корень) УМК (ш /vagrant/my.sh)
16 мая 10:40:01 бродяга-centos64 CROND[3189]: (корень) УМК (ш /vagrant/my.sh)
16 мая 10:45:01 бродяга-centos64 CROND[3270]: (корень) УМК (ш /vagrant/my.sh)
16 мая 10:50:01 бродяга-centos64 CROND[3343]: (корень) УМК (ш /vagrant/my.sh)
16 мая 10:55:01 бродяга-centos64 CROND[3430]: (корень) УМК (ш /vagrant/my.sh)

Кронтаб объявление о работе выглядит следующим образом:

*/5 * * * * ш /vagrant/mypagelogin.sh
*/5 * * * * ш /vagrant/my.sh
[корень@бродяга-centos64 бродяга]#

Разрешение на доступ к crond.журнал:

-rwxrwxrwx 1 залетный залетный 0 16 мая 10:51 crond.журнал

Обновление: crond.файл журнала находится в том же месте, my.sh. [/бродяга]

+370
Rolexel 21 авг. 2017 г., 22:21:02

Вы хотите, что вариант (который вызывает rsync для резервного копирования удаленных материалов) в сочетании с - резервное копирование-Дир вариант, который позволит вам прямой, где по rsync резервное вещи.

+361
Mark McDonald 19 окт. 2015 г., 14:08:52

файлы в формате gzip-т не имеют никаких выходных данных, кроме кода возврата, если это правильный gzip-архива файл.

Это только возвращает сообщение об ошибке, если вы пытаетесь на что-то, что не в виде gzip-архива файл:

[email protected]Левиафан:~$ gzip-сжатия -Т commands.txt

помощью gzip: commands.txt: не в формате gzip 

Вывод: ваш файл почти наверняка сжатый файл gzip. Чего я не могу сказать вам, является ли это файл, что вы думаете, что это должно быть, что хэш будет полезен для...

+342
Sincinkybaju 22 окт. 2015 г., 08:56:16

Я не знаю, если это возможно, но я понятия не имел, как исследовать это понятие. Это возможно, а если как я...

создать файл устройства (например, как/dev/remoteclip) что будет, если записать или считать с нее, запустить программу или скрипт?

В случае использование будет делить текст на удаленный буфер обмена. Например, увидев у меня Mac на моей Linux-машине. Как она стоит, я могу сделать следующее, чтобы обмениваться контентом:

$ СШ macbox "pbcopy" < мой_файл
$ СШ macbox "pbpaste" > myfile будет

Я интересно, если это возможно, чтобы иметь устройство или ФИФО на файловой системе Linux, что когда вы пишете к нему, он будет выполнять команды ssh:

$ кот файл myfile > > в /dev/макбук-буфер обмена
$ кот /Дева/макбук-буфер обмена > мой_файл

Этак редакторы и другие программы можно просто записать на устройство / ФИФО.

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

+306
Water 25 мар. 2017 г., 19:18:11

Кажется, что на команду не работает из коробки.

В мой тест, например:

  • raspbian необходимо:

    судо apt-получить установку на (что установки и запуска АТД на демона)
    
  • Арка Linux уже в установлены, но опять же нужен демон должен быть запущен вручную:

    команду sudo systemctl начать АТД
    команду sudo systemctl включить АТД
    
  • ОСК, по данным СУ этот ответ должен:

    помощью следущей нагрузки -Вт /система/библиотеки/LaunchDaemons/com для.яблоко.атрун.файл plist
    
+282
Jot 26 сент. 2018 г., 14:57:12

nginx не нужно уметь писать на любые файлы, которые вы назвали, и в самом деле, его способность делать это является угрозой безопасности. Злоумышленник, скомпрометировавший nginx и тогда можно писать все, что он хотел вашей веб-директории или файлы конфигурации. Именно поэтому они принадлежат корни в первую очередь.

Так что, похоже, вы сделали свой сервер менее защищенный, не более безопасной.

Что касается веб-каталогов, там не совсем нужно перейти в каталог по умолчанию. Вместо этого, принять новый сервер nginx сервер конфигурации блока и разместить файлы для вашего веб-сайта в одном месте, отдельно от файлов по умолчанию, такие как в домашний каталог пользователя, или каталог /СРВ. Эти файлы затем могут быть собственностью пользователя/группы, которые будут работать на них.

+276
Ilya Bass 30 июл. 2013 г., 15:11:35

Почему это, что шлюз, вот только есть для ретрансляции трафика в и из сети Tor, имеет полноценный рабочий стол KDE?

Это ответили в Whonix вопросы и ответы.

Можно ли размер его 'apt-получить продувки кде-рабочее место или влияет ли против?

Это ответили в Whonix документации.

+193
Richard Berger 18 мая 2018 г., 05:25:53

Попробовать ням , если он считает, что:

Юм предлагает \*/ucrypt

Я не мог ничего найти, поэтому я бы просто скомпилировать его самому. Есть проект на GitHub , обеспечивающих ucrypt.

+143
tjenarre 11 февр. 2010 г., 21:02:03

СР с параметр--Force и --многословный варианты ( и в командной строке) выдает "удалить" сообщение всякий раз, когда он удаляет конечный файл перед копированием. (--силой рассказывает СР удалить целевой файл, если он не может быть открыт, прежде чем пытаться копировать снова.)

В вашем примере, это означает, что ./Рена/Дев/Луа/conkybitcoin/conkybitcoin.Луа не мог быть открыт для записи, так что СР удалил его и скопировал его снова из /дома/Рена.

+129
Annashka 2 янв. 2011 г., 22:34:40

Да, есть kexec командной строки инструмент, который можно использовать для kexec в новое ядро.

От пользователя точки зрения, с помощью kexec примерно такая же, как через перезагрузки, за исключением того, имеет тенденцию быть быстрее, так как текущее ядро загружает и начинает его выполнять (минуя БИОС, прошивки, загрузчика и т. д.)

Точки logind предлагая холостого хода действия, такие как "kexec" (или "перезагрузка"), чтобы помочь с сохранением вашей системе всегда вверх-к-дата, которая для обновления ядра, как правило, нуждается в перезагрузке. Простоя обнаружение помогает выяснить, когда это будет хорошее время, чтобы перезагрузить систему (надеюсь в то время когда это не будет вызывать слишком большой срыв) и перезагрузка часто (если он простаивает достаточно часто) это будет гарантировать, что сапоги в новом ядре не слишком долго после того, как менеджер пакетов устанавливает обновления одним.

Это, конечно, не все пользователи согласятся с, Поэтому, конечно, это не значение по умолчанию для этого параметра (по умолчанию это "игнорировать", которая не делает ничего...)


Чтобы понять, что kexec действие триггеры ровно, вы можете начать смотреть на systemctl kexec, который является параллельно systemctl перезагрузки. Документация говорит:

Выключение и перезагрузка системы через kexec. Это равносильно systemctl начать kexec.цель-работы-режим=заменить-необратимо ... нет-блок.

Так что это проходит через специальный kexec.цель, которая обычно настраивается требуют с помощью systemd-kexec.услуги, которые затем звонки в папку/usr/lib в/помощью systemd/systemd в выключения инструмент с kexec аргумент (через systemctl --силой kexec, получается...).

Чтобы пройти дальше, вам нужно смотреть на исходный код, и вы увидите, что systemd в-выключение kexec просто попробуйте перезагрузить с помощью kexec -е, с логикой возврат к "нормальной" перезагрузки если это не удается.

Глядя на kexec(8) Man-странице, вы увидите kexec -е - это все, что нужно выполнить в kexec перезагрузки, так что все, что systemd не интегрируется.

Другая часть, что отсутствует часть, которая загружает загрузки ядра в память, та часть, которая выполняет kexec -л , так что фактическое выполнение будет работать. Это другая кроличью нору, чтобы следовать. Я предлагаю в качестве упражнения для читателя (или, возможно, вполне уместна для отдельный вопрос здесь в U&л!)

+109
Sapna Singh 12 авг. 2019 г., 16:57:59

Если вы передаете команды в одинарные кавычки, он будет расширен на каждый цикл смотреть, а не когда вы выполните команду смотреть, например:

смотреть Эхо $(дата)

смотреть 'Эхо $(дата)'

Первая команда будет печатать первоначальной даты снова и снова, вторая команда будет выполняться дату на каждом цикле и выведите разные даты.

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

+92
Rafeek Nadaf 12 сент. 2018 г., 21:21:52

Должен ли он быть один греп команду? Найти все слова, содержащие гласные, по крайней мере один раз (в любом порядке), простейшие команды

вычленить word_list | грэп е | грэп я | grep о | грэп у

Добавить если вы должны быть чувствительны к регистру.

+85
Dean Radcliffe 28 сент. 2017 г., 06:10:09

Массивы в bash с нуля. Они просто есть. Что сказал, Если вы знаете , что массив всегда будет проиндексированы числами, начиная с 1, просто добавить +1 к результату. Добавить второй аргумент функции, что сказать ему, что номер, чтобы начать или добавить к результату, и добавить значение по умолчанию в тех случаях, когда второй аргумент отсутствует. Или цикл по индексам, как мистер.spuratic предполагает.

+83
user2575509 23 мая 2013 г., 19:10:36

Я сделал некоторые незначительные изменения в if_igb в каталог/usr/src в файл/sys и/dev/е1000/if_igb.гр. Как я могу скомпилировать только этот файл и загрузить его для динамического ядра? Я использую релиз FreeBSD 8.2.

+68
Iestyn Price 7 июл. 2015 г., 00:17:01

спасибо, DnrDevil. +1.

Дополнительные Замечания По Установке:

все установка производится изнутри загружается хромбук, а не на старте (т. е., как обычно загрузится с USB флешки и установить). сочетание клавиш Ctrl-альт-t вызывается внутри браузера Chrome.

GNOME-это, наверное, не тяжелее, а легче, чем KDE, и так я и сделал -Т гном . есть статья по тяжести:

Сравнение ароматов в Ubuntu: в Ubuntu 15.10 против Кубунту 15.10 против Убунту с GNOME 15.10

крутон устанавливается хорошо, но это заняло около 2 дней (сидя на прямые интернет-труба в Лос-Анджелесе), вероятно, потому, что он консультирует archive.ubuntu.com в качестве своего основного сайта скачать. в конце, терминале Chrome в браузере не работает все, что хорошо, потому что там в конце (где курсор стоит), что не отображается в самом окне. так, одна основная видах в слепую. если хром терминала приложение стало лучше, то это снимет примерно половину моя потребность работать с Ubuntu в первую очередь. Мне просто нужна большая раковина, Emacs и СШ. Я установил хром "безопасная оболочка", но по какой-то причине он не работает. он просто недоступен на Chromebook. он работает на OSX хром.

по окончании установки Linux, терминал crosh еще добавлены в ближайшее время. Итак, apt-получить не получится (хотя хром крутон использовал его). однако, apt-получить работает после startgnome.

как вариант,

гном-сессии-версия

говорит мне, что он установлен 3.2.1. датируется около 2011 года.

коллекция программного обеспечения по умолчанию имеет действительно скромные. например, терминал GNOME не установлен по умолчанию. (uxterm это.) emacs24 не доступен, но emacs23 это. (ни emacs24-noх или Emacs-noх.)

альт-сочетание клавиш Ctrl-сдвиг backarrow и forwardarrow мгновенный переход между добавлены в ближайшее время, а Ubuntu-это удивительно.

Я снова редактировать этот пост, чтобы отразить более детально.

+11
Jordan Taylor 1 мар. 2017 г., 07:42:38

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

Для tomcat6 это приведет к http://snapshot.debian.org/package/tomcat6/ в котором перечислены имеющиеся снимки tomcat6 источника пакета. Вы найдете версии 6.0.16-1 на http://snapshot.debian.org/package/tomcat6/6.0.16-1/ которая затем приводит к http://snapshot.debian.org/archive/debian/20080529T000000Z/pool/main/t/tomcat6/ (искать "/бассейн" ссылки). Что, вероятно, не то, что вы после, Хотя, потому что полное котяра 6 пакет был доступен только начиная с версии 6.0.18-1; вы увидите, что на http://snapshot.debian.org/package/tomcat6/6.0.18-1/ , которая приведет вас к http://snapshot.debian.org/archive/debian/20090221T225736Z/pool/main/t/tomcat6/ (который также имеет 6.0.18-2, который так же, как 6.0.18-1, только целевой дистрибутив изменен).

Так что если вы действительно конкретно нужна версия 6.0.16, вам не повезло по мере нахождения в Debian пакет... там был полный пакет в Ubuntu в какой-то момент, версия 6.0.16-1ubuntu1, но был заменен 6.0.18 который является старейшим оставшийся пакет в http://old-releases.ubuntu.com/ubuntu/pool/main/t/tomcat6/. Вы всегда можете проверить в Ubuntu репозиторий и восстановить 6.0.16 оттуда...

+11
Allyse 11 мар. 2016 г., 02:06:42

Показать вопросы с тегом

$200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil