Как получить доступ к веб-сайт, размещенный на Ubuntu виртуальной машины в Azure?

Я использую Ubuntu 14.10 виртуальной машине, расположенной на Azure и я доступ к нему через клиент PuTTY. Я установил необходимое программное обеспечение, такие как Nginx и моно, и я пытаюсь хозяин ASP.NET 5 веб-приложение на Ubuntu.

Какой IP может быть использован вместо доменного имени (потому что у меня его нет :) ) для тестирования веб-приложений, размещенных на Ubuntu ? Я хочу получить доступ к сайту из любой точки мира, окна, мой телефон и т. д.

В одном учебнике эти конфигурации nginx в .файл conf

сервера {
 слушать 80;
 имя_сервера <имя домена> веб-сайт www.<домен.имя>;

 client_max_body_size 10М;

 расположение / {
 директива proxy_pass http://localhost:5004/;
 proxy_redirect off;и
 proxy_set_header хост $рать;
 proxy_buffering off;и
}
}

Я не могу видеть сайт изнутри Убунту, потому что у меня нет никаких установленных король Гуй. Поэтому,пожалуйста, помогите, я не знаю много о Ubuntu и это возможность опробовать кросс-платформенные возможности Asp.Net 5 по. Спасибо :)

+714
a person 26 июн. 2013 г., 22:09:58
40 ответов

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

+1000
Tasia Murray 03 февр. '09 в 4:24

попробовать перенаправление stdin или stdout или оба.

например:

ГИТР журнала < /dev/нуль | кошки
+992
Martyn Milne 23 янв. 2015 г., 09:43:39
Другие ответы

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


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

Вместо того, что файл/etc/АПТ/настройки файл. Я сделал следующее -

$ кот 99default_release 
АПТ::по умолчанию-релиз "испытания";

Следующий файл/etc/АПТ/источников.список -

$ кот /и т. д./кв/источников.список

 #### Дебиан бустер #########
 деб http://deb.debian.org/debian/ бустер главный ВНО не бесплатно
 деб-СРЦ http://deb.debian.org/debian Бастер основной ВНО не бесплатно

 #### Debian с нестабильной #########
 деб http://deb.debian.org/debian нестабильная основной ВНО не бесплатно
 деб-СРЦ http://deb.debian.org/debian нестабильная основной ВНО не бесплатно

 #### Debian с экспериментальными #########
 деб http://deb.debian.org/debian экспериментальные основной ВНО
 деб-СРЦ http://deb.debian.org/debian экспериментальные основной ВНО

 ##### В Debian пакетов отладки #######
 http://debug.mirrors.debian.org/debian-debug деб/ бустер-отладка основных
 деб http://debug.mirrors.debian.org/debian-debug/ нестабильная-отладка основных
 деб http://debug.mirrors.debian.org/debian-debug/ экспериментально-отладочных главная

 ######## Сторонних репозиториев #######
 деб https://riot.im/packages/debian/ стрейч основных
 деб https://lxqt.debian.net/debian опытно-снимки главных
 деб-СРЦ https://lxqt.debian.net/debian опытно-снимки главных

Это, кажется, чтобы сделать работу -

политика $ АПТ-кэша 
Файлы пакета:
 100 /ВАР/Либ/с dpkg/статус
 выпустить=теперь
 500 https://lxqt.debian.net/debian опытно-снапшотов/главная пакеты для amd64 
 отпустите кнопку o=lxqt,Н=экспериментальных снимков,с=основной,б=amd64 в
 происхождения lxqt.debian.net
 990 https://riot.im/packages/debian стрейч/главная пакеты для amd64 
 отпустите кнопку o=бунт.им,а=испытания,Н=простирания,с=основной,б=amd64 в
 бунт происхождения.им
 1 http://debug.mirrors.debian.org/debian-debug опытно-отладочный/главная пакеты для amd64

Единственный 'подводных камней' я, вероятно, нужно думать о том, когда Бастер просмотров релиз переименование 99default_release с Бастером и не устранение нестабильного репозитория на месяц или два .

Я упускаю что-то еще ?

Я знаю, что это еще долгий путь, чтобы заморозить, а затем отпустите

https://wiki.debian.org/DebianBuster

наверное, 2-3 месяца после полного замораживания или, если повезет, то меньше.

+958
iriha101074 6 окт. 2010 г., 11:32:46

Я пытаюсь преобразовать через вкладку CSV-файла в формате xls - файл с помощью unoconv. Однако, вкладки не будучи признанной в качестве разделителя полей. Может кто-то пожалуйста, скажите мне, как это можно сделать.

Я пробовал:

unoconv -я 09, системы,1 -е XLS-источник.КШМ

и я получаю следующую ошибку:

Предупреждение: параметр 09,,системы,1 не может быть проанализирован, игнорируя.
+931
josealberto4444 16 нояб. 2019 г., 10:05:05

Мой сервер Debian хриплый должны быть в курсе всех последних материалов по безопасности, поэтому я добавил в источники.список:

деб http://security.debian.org/ хриплый/главная обновления 

Но АПТ-вам никогда не делали обновления в течение последней недели. ОК, это зависит от установленных пакетов, так и хочется проверить вручную, что бид был выпущен в установленных.

Есть сайт, где я вижу удобочитаемый список всех последних рекомендаций для Wheezy, похожими на то, что доступно для Jessie и Sid здесь?

+879
Nils Ballmann 1 мар. 2016 г., 07:34:30

Я в настоящее время установка Debian Linux на компьютер, который не подключен к интернету. Я сжег первые несколько компакт-дисков с дистрибутивом и есть рабочая система до сих пор. Однако, я не могу найти некоторые из пакетов, которые я хочу установить. Как определить, какие компакт-диски содержат конкретные пакеты (и их зависимости), такие как Emacs и Хаскелл-платформы?

Уточнение:

Я не хочу скачать все 50+ ISO образы просто найти один или два пакета. Как определить, какая ИСО(ы) содержит пакеты, хочу и их зависимостей? Например, я скачал первые 5 образов. Однако, я не могу найти основной пакет Emacs, перечисленных в синаптической. Как определить, какая ИСО мне нужно скачать пакет Emacs и его зависимостей?

+828
Danny Dulai 5 янв. 2012 г., 23:06:27

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

Если операции вставки просто вошел

http://example.com/?a=c
в командной строке редактора, вы бы в конечном итоге с командой, которая при запуске бы попытался проанализировать именем расширения и не в состоянии выполнить , потому что имена файлов не совпадают. Известный пример: Вивек Варма является:

~$ МПВ https://www.youtube.com/watch?v=HcgJRQWxKnw
ЗШ: не найдено совпадений: https://www.youtube.com/watch?v=HcgJRQWxKnw
~$ 

Помните: Z оболочка имеет большое расширение именем персонажей — не только в том числе ?, [, ]и *; а также = (название команды поиска), < и > (количество диапазонов), ~, ^и #. И это даже не включая механизмы совместимости оболочка Korn. Увидеть zshexpn странице справочника достаточно длительной детали.

URL-адрес-цитировать-магия определила, что это не цитирует слово, признает и HTTP: схемы префиксом, и изменил ? а = в \? и \= так что они не вызывают именем расширения.

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

+765
Trevor Powell 7 июл. 2018 г., 18:52:32
DenyHosts-это журнал вторжений инструмент предупреждения безопасности для SSH сервера, написанный на Python. Он идентифицирует атаки грубой силы и доступ банит через tcp_wrappers, и в последних версиях в iptables.
+708
Yatin Goyal 22 мая 2012 г., 06:06:32

Я пытаюсь написать функцию bash, которая проверяет, установлен ли пакет и установит его в случае необходимости. Сейчас он всегда устанавливается независимо.

установки() {
 Эхо "проверка если $1 уже установлен"
 если [[ ! $(equery -Q л 1 $ | грэп -М "$1") ]]
тогда
 выйти -в $1
еще
 Эхо "$1 уже установлен"
интернет
}

установить "оракул-пакета JDK-бин"
  • вывод equery -Q л $1 - это разработки на Java и Oracle-версии JDK-Бен-1.8.0.45
  • команда grep должна найти для Oracle версии JDK-bin и вернуть 1
+704
Vikas Bansal 6 нояб. 2011 г., 06:22:28

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

Допустим, образец в суб Дирс я хочу не удалить либо с "foobar" или "doobar"

У меня есть целая куча родительских каталогов, как это:

Parent001_dir
001_boo
002_hugs
003_foobar
004_doobar
005_apple
...

Я хочу, чтобы запустить код в цикл, который будет идти в каждый родитель Dir и удалить несоответствующие подпункту Дирс.

Код, который я думал, мог бы работать:

для меня в /путь/до/родителей/каталоги/
делать
найти !-имя "*фрагментик*" -о !-имя "*doobar*" -удалить
сделано

Но я читаю найти инструкцию и посмотреть не вариант для не соответствующими узорами; !-имя-не вариант.

Редактирование - от комментариев, пытается:

найти /путь/до/родителей/каталоги/ типа D-не -имя "*фрагментик*" не -имя "*doobar*" -удалить

и становится потенциально"путь не безопасный" сообщение

Если я найду способ, чтобы исправить мой код, наконец я смог "Parent001_dir" и всех других родителей Дирс выглядеть:'

Parent001_dir
003_foobar
004_doobar

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

+693
Cheekyviv 23 июл. 2016 г., 06:02:22

Имя файла вам нужно не может быть получено с помощью команды wget , поэтому она должна быть обработана shell-скрипт:

$ URL-адрес='http://www.example.com/123/def/ghi/jkl.mno'
$ файл outfile=$(Эхо "$URL-адрес" | вырезать -Д / -Ф 5- | тр / _)
$ Эхо $выходной_файл 
def_ghi_jkl.мно
$ wget для "$URL-адреса" -о "$выходной_файл"

Или если вы любите его как одну строку:

через wget "$URL-адрес параметр" -o "$(Эхо "$URL-адрес" | вырезать -Д / -Ф 5- | т. р. / _)"
+682
Ohoud Alamri 24 июн. 2012 г., 19:16:55
lsblk -о +UUID,имя

Вы можете увидеть все выходы, которые могут быть добавлены к (--выход) с

lsblk-помогает

Также это будет делать эту работу

# blkid
+682
Lornac1978 26 июн. 2011 г., 04:20:02

ССД: очень быстро, ограниченное число циклов записи.

Жесткий диск: медленнее, неограниченное пишет.

Так, я рекомендовал бы поставить систему на ССД. Это не очень часто меняются, и быстро читает позволит вам сэкономить время при загрузке и при запуске программы в первый раз. (Не столько для последующие запуски, поскольку они будут кэшироваться в любом случае.)

/ (включая /Бин, на /sbin, /и т. д.)
/ЕГР
/загрузки, если у вас есть один

Для жесткого диска: обмен, конечно; данные; все, что будет меняться часто.

своп
/дома
в /tmp
в /var

В частности, обязательно использовать отдельные разделы для/tmp и /VAR с, или они будут в конечном итоге на тот же раздел, как /, что означает твердотельный накопитель.

+664
xunyulin 10 февр. 2016 г., 18:39:00

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

На компьютере-источнике:

тарнет -д wherefilesaretosend пройти=никто 12345 .

На целевой машине:

тарнет -д wherefilesaretogo пройти=никто параметром sourceip/12345

Если vbuf пакет (Дебиан, Убунту) есть файл затем датчик будет показывать данные о ходе выполнения. Файл приемник будет показать, что полученные файлы. Возможность пройти= можно использовать там, где данные могут быть открытыми (медленнее).

Редактировать:

Используйте параметр, чтобы отключить сжатие, если процессор-это горлышко.

+616
Musaab 15 окт. 2014 г., 21:58:06

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

Что касается ваших вопросов о LVM, свободное пространство вы видите отображается различными инструментами измеряется с разных систем отсчета. ПВС физических устройств (полные диски или разделы, как правило, виртуальный диск в вашем случае), группируются в ВГС (группы томов); так ВГ есть общий размер равен сумме размеров базовых ПВС'. Чтобы использовать пространство в ВГ создании ЛВС (логических томов); у вас есть два таких, один для подкачки и для ваших файлов. Ваш ВГ общей площадью 29.75 ГБ, ЛВС использовать 29.71 ГБ в общей сложности, который оставляет 52 МБ незанятого в ВГ (как указано выполнив). Последний шаг ЛВС себя; корневой ЛВ отформатирован и содержит 4.9 ГБ файлов, оставляя 21GB бесплатно внутри файловой системы (как указано на ДФ).

+573
user71252 2 нояб. 2015 г., 04:39:47

В команду dmsetup снимок документация говорит:

<стойким?> П (постоянный) или N (не стойкие - не выживет
после перезагрузки). О (перелив) может быть добавлен как постоянное хранилище 
разрешить инструменты, чтобы рекламировать свою поддержку наблюдаем "перетекание" в
состояние снимка. Так поддерживаемые типы магазина "П", "По" и "N".

Различие между стойкими и преходящими с транзиторной
снимки метаданных должен быть сохранен на диске - их можно хранить в
память ядра.

Где это постоянные данные хранятся?

+556
Buddhika Ariyaratne 14 июн. 2010 г., 07:18:40

Это транслируется в Увидеть Remmina Вики руководство пользователя.

ss#1

+546
Jerry B 17 авг. 2019 г., 05:51:51

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

+528
Extraliga 14 февр. 2017 г., 09:15:17

Я бы хотел просто выполнить команду python без написания скрипта или ввести в переводчик. Есть ли способ, что я мог бы запустить что-то вроде:

питон --выполнить "тыц(12.31351,2)"

И это просто распечатать результат?

+517
Stas Teitel 14 февр. 2011 г., 05:14:45

для процессора

кошка /proc/cpuinfo для

для использования диска

ДФ-ч

для карт PCI и автобусов

команду lspci

вы можете найти lshw полезно

если вам нужен USB-устройств

команды lsusb

+480
Akhil Krishnan 10 окт. 2019 г., 05:23:58

В Windows, texworks выступает загружает отсутствующие сты пакеты сама. В Linux это не так: как это свинарник погрузки удалось в Linux?

+476
Bibof 1 окт. 2011 г., 22:50:03

Знамени; в моей системе это называется printerbanner. Я собирался ссылку на страницу человека, но я не могу найти, в интернете или на моем HD...

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

Примеры (вежливость ОДС)

$ баннер Кен

 # # ####### # #
 # # # ## #
 # # # # # #
 ### ##### # # #
 # # # # # #
 # # # # ##
 # # ####### # #

Несколько аргументов печатаются на отдельных строках:

$ баннер один два

 ####### # # #######
 # # ## # #
 # # # # # #
 # # # # # #####
 # # # # # #
 # # # ## #
 ####### # # #######

 ####### # # #######
 # # # # # #
 # # # # # #
 # # # # # #
 # # # # # #
 # # # # # #
 # ## ## #######

Спасибо за эти примеры, ОДС. Мой printerbanner отпечатки боком, как это:

printerbanner -ш 64 Кен

 ## ## 
 ############################################ 
 ############################################ 
 ############################################ 
 ############################################ 
 ## #### 
########
 ########### 
 ########## ###
 ## ########### ### ## 
 ############# #### 
 ########## ### 
 ######## ## 
######
 ### 
##
 ######## 
################
####################
 ###################### 
 #### ## #### 
 ## ## ###
 ## ## ## 
 ## ## ## 
 ## ## ## 
 # ## ###
 # ## ### 
 ## ## #######
 ### ############
 ## ##########
########

 ## ## 
 ########################## 
 ########################## 
 ########################## 
 ########################## 
 ## ###
 ## 
 ### 
###
 ### 
 ## #### 
 ########################## 
##########################
#########################
 ###################### 
##

Вот пример программы Постскриптум производится текущая версия bash-скрипт я уже упоминал в комментариях. К сожалению по поводу отсутствия подсветки синтаксиса, но подсветка выполнена на Лэнга-PS или Ланг-постскриптум-это ужасно.

демо.ПС

%!ПС-компания Adobe-3.0
%%Ограничивающего прямоугольника: 0 0 1024 768
%%Название: (Объект Textline)
%%Страницы: 1 1
%%Создатель: PSTextLine компанией PM 2Ring
%%Дата создания: 2014.11.07 13:30:51
%%EndComments

16 дикт начать

%Используйте ISO шрифт латиница 1 кодирование
/То{
 начнем длина ДУП дикт 
 {1 индекс /фид нэ {защ}{поп поп}оператору ifelse}форалл
 /ISOLatin1Encoding кодирование деф
currentdict
конец
 /IsoL1 definefont обменником 
}привязать деф

%Показать строку по центру страницы и масштабируется, чтобы заполнить страницу
/ShowCentred{
 0 0 перейти

 %Получить ограничивающий прямоугольник строки.
ДУП
 ложные charpath
 flattenpath pathbbox
newpath не

 %Стека - Слева Внизу Справа Вверху
 /У1-обменником защ /Х1-обменником деф
 /У0 обменником защ /х0 обменником деф

 %Вычислить новый размер шрифтов 
currentfont
 /ЗХ хм маржа суб Х1 х0 суб див деф
 /сы Юм маржа суб У1 У0 суб див деф
 Шкала /сы SX Ле {ЗХ}{Си}оператору ifelse деф
 Масштаб scalefont setfont не

 %Вычислить координаты, что позволит сместить центр штрафной на страницу центра
 Хм х0 Х1 добавить масштаб суб мульти 2 див
 Юм У0 У1 добавить масштаб суб ООО 2 див
метод MoveTo
показать
}привязать деф

%%Страницы: 1 1
с gsave

/Хм 1024 деф
/Юм 768 деф

%Два раза по X и y поля
/Маржа 16 деф

/Раз-Римской findfont 
То
72 scalefont setfont не

(ОС UNIX И Linux)
ShowCentred

grestore

showpage
конец
%%PageTrailer
%%Прицеп
%%ВФ

Он должен показывать правильно с любой PostScript зрителя, например, программа. Чтобы показать это с помощью ImageMagick / GraphicsMagick отображения утилиты:

дисплей -геометрия 1024х768-плотность 72 демо.ПС

Увеличьте значение параметра плотность (например, попробовать 300) для улучшения качества изображения. Вы можете показать изображение на фоне окна с помощью дисплея-фон опции; использование контрольно-Q, чтобы закрыть окно.

Вы можете изменить текстовую строку (для UNIX и Linux) в демо.зы; программа автоматически вычислить правильный размер шрифта для использования.

Для преобразования демо.PS в PDF вы могли воспользоваться помощью ImageMagick / GraphicsMagick преобразования утилита

преобразования -страница демо-1024х768.ПС демо.формат PDF

Но это, наверное, быстрее (и с более компактным выход) для использования

ps2pdfwr -g1024x768 -Р72 демо.ПС демо.формат PDF

Наконец, вот bash-скрипт я говорил ранее. Запустите ее без аргументов или аргументов, из за помощь сообщение; -чч печатает дополнительную помощь.

PSTextLine

#!/usr/Бен/ОКР Баш

#Создать файл PostScript, который печатает строку текста, которая заполняет экран

#Написал ПМ 2Ring 2014.11.01
#Опубликовано в http://unix.stackexchange.com/a/164977/88378

жирным шрифтом(){ Эхо -э "\на сайте x1b[1М$*\на сайте x1b[0м"; }

help1()
{
 кошка << ВФ

Дисплей однострочный текст на самом крупном масштабе, что помещается на экране (или требуемый размер).

Этот скрипт генерирует PostScript программу, которая выполняет расчет масштабирование и устанавливает текст
в запрашиваемый шрифт. PostScript-файл будет отображаться с помощью пакета ImageMagick / GraphicsMagick
утилита $(яркий дисплей), которое должно быть установлено на большинство современных систем Linux.

$(смелое использование:)
$(и basename "$0") [-х] [-bden] [-Ф шрифта] [-G геометрия] [-м маржа] [-Q качество] [-с savename.ПС] [-Т-текст] текст...

Варианты могут быть указаны в любом порядке.

$(смелые варианты:)
 -H : вывести эту справку и выйти. -чч печатает дополнительную помощь.
 -в : отключить использование окне фоне.
 -д : отключить отображение текста.
 -е : отключить обратную косую черту побега из текстовой строки.
 -Н : использовать нормальную кодировку, а не кодировкой по умолчанию ИСО латинских типа 1.

 -Ф : название шрифта, либо PostScript или системный шрифт. Раз-Римской Умолчанию =''
 -г : геометрия в формате Ширинахвысота. Если не задан, используется текущий размер экрана по умолчанию.
 -м : слева и справа (или сверху и снизу) поле (в пикселях) вокруг ограничивающего прямоугольника текста. По умолчанию = 8
 -Q : качество рендеринга. Качество по умолчанию = 1.0
 -S : сохранить Постскриптум. Использовать $(жирный '-С -'), чтобы сохранить в stdout.
 -Т : текст для отображения.
ВФ
}

help2()
{
 кошка << ВФ

По умолчанию $(яркий дисплей) отображает текст в окне фоне. Вы можете использовать контроль-Q, чтобы закрыть
$(яркий дисплей) Windows или использовать Правой Кнопкой Мыши, чтобы вызвать контекстное меню.
Увидите $(яркий дисплей) документацию для получения дополнительной информации.

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

$(жирным шрифтом)
Название шрифта должно соответствовать конвенции именования Постскриптум,
в частности, оно не может содержать пробелы. Так что если шрифт, который вы хотите использовать ли
пробелы в имени попробуйте опуская пробелы и заменив их на тире.

$(жирный качества)
Настройки качества-это прежде всего внутренний коэффициент масштабирования для $(яркий дисплей) полезности.
Настройки качества по умолчанию 1.0 достаточно быстро, но план текста может выглядеть
неровные, особенно с короткими текстовыми строками. Более низкие настройки качества, может быть немного быстрее,
но план может выглядеть весьма размыто; параметры ниже, чем 0.2 практически непригодным для использования.
Высокие параметры качества потребуется больше времени, но может выглядеть довольно хорошо; 2.0 должен быть
достаточно для большинства целей, 4.0 занимает некоторое время, чтобы представить, но выглядит здорово; высокие настройки
занять даже больше времени, но улучшение качества вряд ли будет заметно.

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

Чтобы отобразить файл "savename.ПС" с окуляра:
savename окуляра.ПС

Чтобы отобразить его с Ghostscript в окне 1024х768:
ГШ-sDEVICE=x11alpha -dBATCH -g1024x768 -Р72 savename.ПС

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

Язык PostScript используется обратная косая черта как Escape-символ, и вместо этого он использует скобки 
котировок заключить строки; любые непарные скобки в строке должны быть экранированы обратной наклонной чертой
(но соответствуют скобках-ОК). Постскриптум понимает различные другие стандарт C escape-последовательности,
включая коды символов, представленных управляющими восьмеричные последовательности, но он не понимает
шестнадцатеричные escape-последовательности.
Пожалуйста, см. ссылку PostScript для получения дополнительной информации.

$(жирный кодировки)
По умолчанию, эта программа использует ISO Латинской 1 кодировку для текста, но вы можете использовать постскриптум в
Обычного кодирования вектора, указав параметр $(жирный '-Н'). Эта программа не поддерживает
Текст в кодировке Unicode.

ВФ
}

Использование()
{
help1
 [[ $showhelp -ГТ 1 ]] && help2
 выход "$1"
}

#Получить аргументы из командной строки
Getargs()
{
showhelp=0
фоне="-фон"
дисплей=истина
побег=истина
кодировка=то
шрифт=раз-Роман
геометрия=""
маржа=8
качество=1.0
текст=""
savename=""

 а команде getopts ':hbdenf:г:г:д:т:с:' опт; делать
 случае $опт в
з)
showhelp=$((showhelp+1))
;;
б)
фоне=""
;;
д)
дисплей=ложь
;;
е)
побег=ложь
;;
Н)
кодировка=""
;;

е)
шрифт=$OPTARG
;;
г)
геометрия=$OPTARG
;;
м)
маржа=$OPTARG
;;
г)
качество=$OPTARG
;;
с)
savename=$OPTARG
;;
Т)
 текст="$текст $OPTARG"
;;
?)
 смелые "плохой вариант -$OPTARG"; использование 1
;;
эсок
сделано

 сдвиг "$((OPTIND-1))" # Смена нужным и обязательно.
 текст="$текст $*"
}

[[ $# = 0 ]] && использование 0

Getargs "[email protected]"

[[ $showhelp -ГТ 0 ]] && использования 0

#Получить текущие размеры экрана по умолчанию, если не задано геометрия 
[[ -Z $ - геометрии ]] && геометрия="$(xdpyinfo | у awk '/габариты:/{печати $2}')"

#Отделка ведущих и конечных пробелов из текста.
читать -РД " текст <<< "$текст"

#Побег обратные слэши и скобки
[[ $побег = правда ]] && текст="$(СЭД 'ы/[\()]/\\&/г' <<< "$текст")"

#Разрешить '-' в качестве синонима для /dev/stdout для вывода в файл
[[ $savename = - ]] && savename=в/dev/stdout в

# кот << ВФ
# $(жирный Аргументы)
# фон=<$фоном>
# дисплей=<$Дисплей>
# кодировка=<$кодировка>
# шрифт=<шрифт$>
# геометрия=<$геометрия>
# маржа=<$маржи>
качество # =<$>качество
# текст=<$текст>
# savename=<$savename>
#
# ВФ

[[ -Z от $текст ]] && { полужирный "текст не найден!"; Использование 1; }

[[дисплей $ = ложь && -Z от $savename ]] &&
{ жирным шрифтом "нет выхода PostScript или дисплей просила!"; Использование 1; }

#Экстракт ширину экрана и высоту строк геометрии 
ИФС='х' читать хм Ю. М. <<< "$геометрия"

#Преобразовать качество плотности; номинальная плотность составляет 72 пикселя на дюйм
плотность=$(БК <<< '72*'"$качество")

#Создать файл PostScript 
читать -РД " постскриптум <<PSEOF
%!ПС-компания Adobe-3.0
%%Ограничивающего прямоугольника: 0 0 $хм $Юм
%%Название: (Объект Textline)
%%Страницы: 1 1
%%Создатель: PSTextLine компанией PM 2Ring
%%Дата создания: $(дата +'%Е.%М.%Д %х')
%%EndComments

%%BeginProlog
16 дикт начать

%Используйте ISO шрифт латиница 1 кодирование
/То{
 начнем длина ДУП дикт 
 {1 индекс /фид нэ {защ}{поп поп}оператору ifelse}форалл
 /ISOLatin1Encoding кодирование деф
currentdict
конец
 /IsoL1 definefont обменником 
}привязать деф

%Показать строку по центру страницы и масштабируется, чтобы заполнить страницу
/ShowCentred{
 0 0 перейти

 %Получить ограничивающий прямоугольник строки.
ДУП
 ложные charpath
 flattenpath pathbbox
newpath не

 %Стека - Слева Внизу Справа Вверху
 /У1-обменником защ /Х1-обменником деф
 /У0 обменником защ /х0 обменником деф

 %Вычислить новый размер шрифтов 
currentfont
 /ЗХ хм маржа суб Х1 х0 суб див деф
 /сы Юм маржа суб У1 У0 суб див деф
 Шкала /сы SX Ле {ЗХ}{Си}оператору ifelse деф
 Масштаб scalefont setfont не

 %Вычислить координаты, что позволит сместить центр штрафной на страницу центра
 Хм х0 Х1 добавить масштаб суб мульти 2 див
 Юм У0 У1 добавить масштаб суб ООО 2 див
метод MoveTo
показать
}привязать деф
%%EndProlog
%%Страницы: 1 1
%%PageBoundingBox: 0 0 $хм $Юм

с gsave

/Хм $хм деф
/Ю. М. $М. деф

%Два раза по X и y поля
/Маржа $((2 * уровень)) деф

шрифт /$findfont
$кодирование
72 scalefont setfont не

($текста)
ShowCentred

grestore

showpage
конец

%%PageTrailer
%%Прицеп
%%ВФ
PSEOF


[[ -N $в savename ]] && Эхо >"$savename" "$постскриптум"

[[ $дисплей = правда ]] &&
дисплей $фоном -геометрия "$геометрия" плотности "$плотность" ЗЫ:- <<< "$постскриптум"

# ГС-м -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$savename" -г"$геометрия" -Р72 - <<< "$постскриптум"
# отображение $фоном -геометрия "$геометрия" плотности "$плотность" "$savename"
+474
thejartender 22 сент. 2016 г., 08:47:14

Теперь 3.14 в Debian 8 имеет оформление оконного менеджера и окно не может быть изменен. Мне нужно установить какой-то пакет, чтобы сделать его работать или теперь становятся непригодными за пределами рабочего стола GNOME? Я использую оконный менеджер Блэкбокса.

Редактирование: изменение размера окна работает в Openbox.

Скриншот:

Gedit window.

+467
Thomas Reagan 13 нояб. 2010 г., 16:39:37

Это работало лучше для меня:

для F в *; новые=${Ф%.в WebM}_2016.в WebM; МВ ${Ф} "${новый}"; сделано

+425
user19048 14 апр. 2011 г., 01:31:34

Недавно, я смотрел на ударных инструментов, таких как трассированием. Например, в этом блоге использует метрики по умолчанию, данного ДД.

Я хотела сделать некоторые измерения, но и с другими программами. Есть ли инструмент, который измеряет скорость исполнения произвольной программы?

+416
nurbanur 13 февр. 2014 г., 01:23:01

С GNU выполнения команды xargs, можно указать строку в качестве разделителя с /--разделитель вариант:

команды xargs --не работай-если пустой --разделитель='\п' --arg-file=file.txt прикосновений ... 

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

команды xargs -р-д '\н' -а file.txt прикосновений ... 
+391
Gcoop 7 дек. 2012 г., 14:49:47

Я пишу скрипт для интерфейса 2 сторонних программ. (Datadog и AWS)

Интеллектуального анализа данных скрипт использует команду sudo -u для запуска моего скрипта.

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

Интеллектуального анализа данных скрипт не имеет разрешения на судо.

Я могу воспроизвести ошибку вроде этой:

[мне] ~$ судо -у ДД-агент АРМ
[мне] ~$ команда echo $?
139

Конечно, если я делаю судо -ме и выполнить команду, он работает просто отлично.

Возможно ли смоделировать первоначального входа в систему без прохождения через судо?

+376
Adelia de Paula 29 сент. 2010 г., 20:36:34

Здравствуйте, я пытаюсь парсить результат команда du, но я не знаю как это сделать без циклов я выполните следующую команду

дю-ШМ /ВАР/письма/почтовые ящики/домен/*/почте

мой результат в списке, например:

80 /ВАР/письма/почтовые ящики/домен/ПОЛЬЗОВАТЕЛЬ1/почта 
150 /ВАР/письма/почтовые ящики/домен/ПОЛЬЗОВАТЕЛЬ2/почта 
220 В /var/письма/почтовые ящики/домен/ПОЛЬЗОВАТЕЛЬ3/почта 

Список выше я хочу, чтобы преобразовать его в JSON-объект с ниже:

{ПОЛЬЗОВАТЕЛЬ1: 80, ПОЛЬЗОВАТЕЛЬ2:150, ПОЛЬЗОВАТЕЛЬ3:220 }

или, по крайней мере, есть что-то:

80 ПОЛЬЗОВАТЕЛЬ1
150 ПОЛЬЗОВАТЕЛЬ2
220 ПОЛЬЗОВАТЕЛЬ3

Я попытался с помощью sed -е , но без успеха, какие-то идеи?

+333
Mutiara Iman 25 июн. 2018 г., 06:32:56

Я предлагаю нанять команду grep для этой работы:

$ ОПЦ="\"-имя пользователя -возраст от 20 -где в Азии -ест\мозги""
$ грэп -По --' -, где \к\ж*' <<< "$ОПЦ"
Азии

Объяснение:

  • : Perl совместимые регулярные выражения
  • : показывает только соответствующие части
  • : бросай все, прежде чем ссылки
  • \ж*: матч составляющей слова (синоним [_[:alnum:]])

Чтобы добавить " в список соответствующих символов:

$ грэп -по -- '-ест \к[_\"[:alnum:]]*' <<< $ОПЦ
Мозги"
+294
Adeiko 30 янв. 2010 г., 06:02:38

Я пытаюсь добавить задание в мой кронтаб в FreeBSD, но это не работает :

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

@дневная /домашний/вэбов/приложения/сравнения/scrapy

но это не работает. Есть ли способ проверить, является ли кронтаб способен запустить этот скрипт, как --работать-частей в Убунту?

+260
evil alien 19 авг. 2018 г., 02:18:59

Нет смысла в ожидание команды, если это работать в фоновом режиме (который не). Что вы можете упустить-это синхронизировать , чтобы все пишет в СМИ, хотя это должно происходить как часть размонтировать командой.

Мне было бы интересно посмотреть, если этот упрощенный скрипт работает, как вы хотите:

#!/бин/Баш
#
экспорт путь=/usr/местные/Бен:/ОГРН:/usr/Бен:/каталоге:/usr на/sbin

команды mkdir -р в /MNT/USB-кабеля
если смонтировать /dev/usbflash /тугриков/USB кабель
тогда
 omxd службу
 РМ -Р /путь/к/моя_папка/*
 СР -Ф /тугриков/интерфейс USB/*.МР4 /путь/к/моя_папка/
 СР -Ф /тугриков/интерфейс USB/*.Ави /путь/к/моя_папка/
синхронизация
 размонтировать /шоссе/USB кабель
синхронизация
 команда shutdown-H сейчас
интернет

Я должен признаться, я немного озадачен, как ваше описание, кажется, предполагает, что вы хотите обновить файлы на флешку. Но ваш код обновления файлов в /путь/к/моему/папку с флешки USB, а не писать в каталог/mnt/USB и...

+223
Shivasubramanian A 17 дек. 2019 г., 05:36:22

Я выполнив следующую команду:

бэкап-резервное копирование-удаленное-схемы 'на %S' 'команду sudo /usr/Бен/бэкап-резервное копирование-сервер \
 --ограничить-только для чтения /'::/и в /var/резервное копирование/хостов/баттхерт

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

+213
Rick Welch 1 сент. 2014 г., 07:26:53

Это на самом деле правильный путь к SSH на сервер (192.168.ХХХ.ХХХ), который принимает соединения SSH на порту по умолчанию (22). Чтобы указать пользователя, который вы хотите использовать для входа, вы можете использовать:

СШ -л корня 192.168.ХХХ.ХХХ

или

СШ [email protected]

Если SSH служба настроена с правами root, вы должны подключить без проблем (настроен с параметром да, в файле sshd_config).

+209
onefourone14 16 нояб. 2011 г., 18:19:19

Я пытаюсь практиковать мои знания Unix, я просто научился использовать для файл в *.формат JPG; что она делает это, Выберите все файлы .jpg-файла в рабочем каталоге, но я не хочу останавливаться и я не хочу, чтобы запустить мой баш скрипт дважды

Так вот сценарий, у меня есть эти файлы, и я желаю это выделить каждый из них, потом заменить расширение имени к другому и я надеюсь, что процесс будет чем-то вроде базовое имя + ".сделать" так test1.jpg становится тест1.сделано

test1.jpg
test2.jpeg
test3.txt
test4.манекен

Теперь, я хочу как-то поставить эти расширения имен .формат JPG,.формате JPEG.тхт,.манекен в массив, а затем использовать, что в течение цикла что-то вроде для файл в *{.формат JPG,.формате JPEG.тхт,.манекен}; делать, но я попробовал его и он не работает, раковина, кажется, не позволяют массивы в цикле for?

может кто-нибудь помочь мне и дать мне пример, как решить эту проблему? спасибо!

Обновление

так, я узнала, что за файл в *.{jpg,формате JPEG,тест} поможет решить мои проблемы, но иногда это не удается, особенно, когда нет файл с расширением, объявлен в массиве

Пример:

test1.jpg
test2.jpeg
test3.тест
test4.манекен

С помощью bash как:

для файл в *.{jpg,формате JPEG,тест,АВ}; сделать размер=$(стат -с "%S " или "$файл"); Эхо $файл размер файла: размер; сделано

в конечном итоге некрасиво:

размер test1.jpg это: 2
test2.jpeg размер файла: 0
test3.размер тест: 0
характеристика: не может стат `*.Ави': нет такого файла или каталога
*.Ави размер файла:

последние 2 строчки выше ненужно, хотелось бы что-то вроде перерыва , где, если для не можете найти Ави то прекратить делать

Это возможно?

+200
kangchenghou 8 апр. 2013 г., 17:08:04

Как я понимаю, модуль безопасности Linux основы (ЛСМ) имеет много крючков, которые являются обратными для модулей безопасности для регистрации функции выполняет дополнительные проверки безопасности, прежде чем секретные операции безопасности.

Большую часть времени эти крюки устанавливаются до того, как доступ к внутренней структуре данных как файл.

Одна вещь, которую я не понимаю, почему есть крючки в системе V Апис МПК, но не в соответствующие API стандарта POSIX. Например, есть security_ipc_permission что крючком описать в Включить/Линукс/lsm_hooks.ч как "затрагивает все системы в МПК операций" и несколько крючков специализированных для каждого API, таких как очереди сообщений, но нет аналога для POSIX и API-интерфейсов. Автоматическая проверка подтвердит, что крюки в системе не используются в функции POSIX (как и ожидалось, дано описание). Но в случае очередей сообщений POSIX и System V в очереди сообщений, например, в то время как они не имеют такой же интерфейс, они обеспечивают примерно одинаковую функциональность.

Итак, мой вопрос: что является основанием для не сдачи крючки ЛСМ в функций POSIX?

+170
kacpi2442 14 дек. 2017 г., 20:08:39

У меня есть старый ПК, подключенных к телевидению высокой четкости в VGA. Набор из разрешений экрана, доступных для меня, чтобы использовать все 4:3 соотношение сторон (или там abouts). Вывод xrandr поближе:

$ xrandr поближе
расширения xrandr: не удалось получить размер гамма для вывода по умолчанию
Экран 0: не менее 320 х 240, текущие 1280 х 960, максимальное 1360 х 1024
по умолчанию подключен 1280х960+0+0 0мм х 0мм
 1280х1024 50.0 54.0 
 1024х768 51.0 57.0 58.0 
 800х600 52.0 60.0 61.0 62.0 
 640х480 53.0 65.0 66.0 67.0 
 1280х960 55.0* 
 1152х864 56.0 
 832x624 59.0 
 640x512 63.0 64.0 
 576x432 68.0 
 512х384 69.0 70.0 71.0 
 416x312 72.0 
 До 400x300 73.0 74.0 75.0 
 320х240 76.0 77.0 78.0 

Есть ли способ, чтобы использовать один из этих резолюций, но лечить пиксели не квадратные? Во многом таким же образом, как широкоэкранный телевизор SD изображение хранится в 720х576 (я в другом регионе), но anamorphically растягивается до 1024х576; я могу лечить разрешением 1280х960 anamorphically как ~1706x960?

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

В случае, если она затрагивает какие-либо возможные решения, я бегу в Fedora 18, с использованием NVIDIA видеокарты GeForce 5500 FX, т. Тошиба 37" 1080p ЖК-телевизор.

+168
alcor 26 мар. 2012 г., 10:22:20

Редактировать /и т. д./кв/источников.список и добавьте следующую строку:

деб http://ftp.de.debian.org/debian основной Сида 

Обновить и переустановить build_essential

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

+162
jayhem 25 авг. 2015 г., 11:33:47

Вы, наверное, за брандмауэром.

Попробуйте это:

судо АПТ-ключ АДВ --сервера ключей://ключи.с GnuPG.объем:80 --приема-ключи A04A6C4681484CF1

Он работал для меня (я за брандмауэром. Оригинал не работал).

+155
tear abhimanyu 10 мар. 2010 г., 02:51:20

С ЗШЗШ ) и его multios характеристика:

ваш-УМК 2> поток stdout+stderr, в.журнал >&2 2> поток stderr.журнал

Как FD 2 перенаправляется дважды, ЗШ реализует внутренний тройник , чтобы он послал к обоим файлам.

С Баша (или любой Борна-как раковина), вы можете сделать тройникИнг вручную:

{ ваш-УМК 2>&1 >&3 3>&- | тройник поток stderr.журнал 3>&-; } > поток stderr+стандартный вывод.журнал 3>&1

(хотя вы теряете покинуть статус ваш-УМК. ЗШ в $pipestatus[1], баш в "${PIPESTATUS[0]}" , хотя (при условии перенаправления в поток stderr+стандартный вывод.войти не удастся)).

Для записи під ваш-УМК, вы могли бы сделать:

{ ш-се 'эхо" $ $ "> в /var/работа/PID-файл; свдв ваш-УМК' 2>&1 >&3 3>&- |
 тройник поток stderr.журнал 3>&-; } > поток stderr+стандартный вывод.журнал 3>&1

С Яш и это процесс перенаправления характеристика:

ваш-и Cmd - > поток stdout+stderr, в.журнал 2>(тройник поток stderr.журнала)

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

Нечто подобное (и с той же оговоркой) может быть сделано с процесс замещения в Баш, ЗШ и ksh93:

{ ваш-УМК 2> >(тройник поток stderr.журнала); } > поток stderr+стандартный вывод.журнал

Для запуска в фоновом режиме и получите пид:

(ОТВ ваши-УМК 2> >(тройник поток stderr.журнал)) > поток stderr+стандартный вывод.журнал & пид=$!

С РЦ:

{ваш-УМК |[2=0] тройник поток stderr.журнал} > поток stdout+stderr, в.журнал

радиоуправляемыйс труб позволяют указать, какие файловые дескрипторы подключены к трубе. С другими снарядами, это всегда ФД 1 в левой команде и ФД 0-правого (следовательно, небольшой танец с ФД 3 выше для смены файловых дескрипторов вокруг). радиоуправляемый об ошибки Если либо ваш-УМК или тройник не удастся, хотя точное количество может быть потеряно.

+69
Hridoyahmed 26 мар. 2014 г., 18:15:50

Что может происходить, если процесс "убили из-за низкой оперативной памяти"?

Иногда говорят, что линукс по умолчанию не отрицает и просит больше памяти из приложения код, например, что malloc().1 это не в действительности; значение по умолчанию использует эвристический алгоритм, согласно которому

Очевидно, overcommits адресного пространства отказывают. Используется для типичной системы. Это обеспечивает серьезно диких выделения не позволяя много работать, чтобы уменьшить использование подкачки.

Из [linux_src]/документации/ВМ/перерасход-Бухгалтерский учет (все цитаты из 3.11 дерево). Именно то, что считается "серьезно диких распределения" не ясно, поэтому нам придется пройти через Источник, чтобы определить детали. Мы могли бы также использовать экспериментальный метод в сноске 2 (ниже), чтобы попробовать и получить некоторые размышления эвристики, основанные на том, что мое изначальное эмпирическое наблюдение, что при идеальных условиях (== система находится в режиме ожидания), если у вас нет ни подкачки, вам будет позволено выделить около половины ОЗУ, и если у вас есть замены, вы будете получать около половины ОЗУ и подкачки. Это более или менее для каждого процесса (но помните, этот предел является динамической и может изменяться из-за состояния, увидеть некоторые замечания в сноске 5).

Половину вашей оперативной памяти плюс своп явно значение по умолчанию для "CommitLimit" поле в файле/proc/meminfo. Вот что это означает ... и заметьте, это на самом деле не имеет ничего общего с лимитом обсуждали (с [Источник]/Documentation/filesystems/proc.txt):

CommitLimit: основанная на определенной соотношением ('ВМ.overcommit_ratio'), это общий объем памяти в настоящее время доступна для быть выделены на системы. Этот предел не только придерживался если строго определенной бухгалтерского учета включена (режим 2 в 'ВМ.overcommit_memory'). В CommitLimit рассчитывается по следующей формуле: CommitLimit = ('ВМ.overcommit_ratio' * физической памяти) + своп Например, в системе с 1Гб физической памяти и 7г обмен с ВМ.overcommit_ratio в 30 это было выход CommitLimit на 7,3 г.

Ранее цитировавшейся перерасход-бухгалтерские док заявляет, что по умолчанию виртуальная машина.overcommit_ratio составляет 50. Так что если вы sysctl-переменной ВМ.overcommit_memory=2, затем вы можете настроить виртуальную машину.covercommit_ratio (с помощью sysctl) и видеть последствия.3 режим по умолчанию, когда CommitLimit не действует, а только "очевидное overcommits адресного пространства, будет отказано", это когда ВМ.overcommit_memory=0.

Хотя в стратегии по умолчанию имеет эвристический каждого процесса предел предупреждения "серьезно диких распределения", это означает, что система в целом бесплатно получить серьезно дикий, распределения мудрый.4 это означает, что в какой-то момент он может запустить из памяти, и вынужден объявить о банкротстве, чтобы какой-то процесс(ы) с помощью ООМ убийцы.

Что значит ООМ киллера убить? Не обязательно процесс, который попросил на память ни когда не было, так что не обязательно тех, кто действительно виновен процесса, и что более важно, не обязательно тот, который будет наиболее быстро попасть в систему из проблема именно в.

Это цитируется здесь, что, вероятно, приводит 2.6.х источник:

/*
 * oom_badness - вычислять числовое значение, насколько плохо эта задача была
*
 * Используемые формулы является относительно простой и документально встроенный в
 * функции. Главная причина заключается в том, что мы хотим выбрать хороший задача
 * чтобы убить, когда мы бежим из памяти.
*
 * Хорошо в данном контексте означает, что:
 * 1) Мы потерять минимальный объем работы
 * 2) мы восстановить большой объем памяти
 * 3) мы не убиваем ни в чем невиновного жрет тонны памяти
 * 4) мы хотим убить минимальное количество процессов (один)
 * 5) мы пытаемся убить процесс пользователь ожидает от нас, чтобы убить, это
 * алгоритм был тщательно настроен, чтобы соответствовать принципу
 * наименее сюрприз ... (будьте осторожны, когда вы изменить его)
*/

Который кажется приличным обоснованием. Однако, без получения судебной, #5 (что является излишним #1) похоже, трудно продать выполнение мудры, и #3 является излишним #2. Поэтому имеет смысл рассмотреть этот урезанный до № 2/3 и № 4.

Я grepped через недавний источник (3.11) и заметил, что этот комментарий был изменен в промежутке:

/**
 * oom_badness - эвристическая функция, чтобы определить, какие задачи кандидат убивать
*
 * Эвристики для определения того, какие задачи убийства, чтобы быть максимально простым и
 * насколько возможно прогнозируемой. Цель состоит в том, чтобы вернуть наивысшую ценность для
 * задача потребляющих наибольшее количество памяти, чтобы избежать последующих неудач Оом.
*/

Это немного более четко про #2: "цель [убить] задания, потребляющих наибольшее количество памяти, чтобы избежать последующего Оом неудачах", а по смыслу #4 ("мы хотим убить минимальное количество процессов (один)).

Если вы хотите увидеть убийцу ООМ в действии, см. сноску 5.


1 бред Жиль, к счастью для меня, см. комментарии.


2 вот незамысловатым языком C, который просит все более большие блоки памяти, чтобы определить, когда просят больше не удастся:

#включить заголовочный файл <stdio.ч>
код #include <stdint.ч>
#включить <stdlib.ч>

#определите МБ 1 << 20

тап_п (недействительными) {
 uint64_t байт = МБ;
 пустота *Р = функция malloc(байт);
 а (п) {
 fprintf (stderr, в,
 "%Лу КБ выделено\.Н",
 байт / 1024
);
бесплатная(п);
 байт += МБ;
 Р = функция malloc(байт);
}
 fprintf (stderr, в,
 "Не на %Лу КБ.\Н",
 байт / 1024
);
 возврат 0;
} 

Если вы не знаете C, вы можете скомпилировать эту ССЗ virtlimitcheck.с-о virtlimitcheck, затем запустите ./virtlimitcheck. Он абсолютно безвреден, так как процесс не использовать любой из Место, которое он просит, т. е. он никогда не использует оперативной памяти.

В системе x86_64 с 3.11 с 4 ГБ и 6 ГБ своп, я провалился в ~7400000 КБ; количество колеблется, так что, возможно, государство является фактором. Это кстати близко к CommitLimit в файле/proc/meminfo, но изменение этого через ВМ.overcommit_ratio не имеет никакого значения. На 3.6.11 32-битный ARM 448 МБ системы с 64 МБ свопа, однако я не в ~230 МБ. Это интересно, поскольку в первом случае сумма почти вдвое превышает объем оперативной памяти, а во втором случае она составляет около 1/4, что ... сильно подразумевая, размер свопа является фактором. Это было подтверждено при повороте подкачки на систему, когда порог сбоя спустился до ~1.95 ГБ, очень похожее отношение к шкатулке руку.

Но действительно ли это на процесс? Кажется. Короткая программа просит пользователя определенными кусок памяти, и если это удастся, ждет вас, чтобы поразить вернуться, таким образом, вы можете попробовать несколько одновременных экземпляров:

#включить заголовочный файл <stdio.ч>
#включить <stdlib.ч>

#определите МБ 1 << 20

тап_п (АГДС, константный тип char *переменной argv[]) {
 беззнаковый Long инт мегабайт = и strtoul(массива argv[1], значение null, 10);
 пустота *Р = функция malloc(мб * мб);
 fprintf(stderr,"указанное распределение в %Lu МБ...", мегабайтах);
 если (!п) fprintf(stderr, в,"глючить".);
 еще {
fprintf(stderr, в,"успех".);
getchar();
бесплатная(п);
}
 возврат 0;
}

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


3 CommitLimit относится к количеству адресное пространство, разрешенное для системы для виртуальной машины.overcommit_memory = 2. Предположительно тогда, сумма, которую вы можете выделить следует, что за минусом того, что уже совершено, видимо, Committed_AS области.

Потенциально интересный эксперимент, демонстрирующий это, чтобы добавить код#include <запустите.ч> в верхней части virtlimitcheck.c (см. сноску 2), и вилка() прямо перед тем, как() петли. Это не гарантирует работу, как описано здесь без утомительной синхронизации, но есть неплохой шанс, что он будет, YMMV:

> ВМ команды sysctl.overcommit_memory=2
ВМ.overcommit_memory = 2
> кошка /proc/meminfo | grep в фиксации
CommitLimit: 9231660 КБ
Committed_AS: 3141440 КБ
> ./virtlimitcheck 2&> tmp.txt
> кот tmp.txt | грэп не удалось
Не в 3051520 КБ.
Не в 6099968 КБ.

В этом есть смысл -- глядя на tmp.txt подробно можно ознакомиться с процессами, чередовать их все больше и больше ассигнований (это легче, если вы бросаете пид в выходной), пока один, видимо, утверждал, достаточно, что другие-то не получается. Победитель нахаляву урвать все до CommitLimit минус Committed_AS.


4 стоит отметить, на данный момент, если вы уже не поймете виртуальная адресация и требуют подкачки, что то, что делает за приверженность возможным в первую очередь это то, что ядро выделяет пользовательские процессы не физическая память, а виртуальное адресное пространство. Например, если процесс резервирует 10 МБ за что-то, вот и выложил как последовательность (виртуальные) адреса, но эти адреса не соответствуют физической памяти. Когда такого адреса осуществляется, в результате в разделе вина и то ядро пытается сопоставить его в реальной памяти, так что он может хранить реальной стоимости. Процессы, как правило, оставляем гораздо больше виртуального пространства, чем они на самом деле доступ, который позволяет ядру наиболее эффективного использования оперативной памяти. Однако физическая память все-таки ограниченный ресурс, и когда он был привязан к виртуального адресного пространства, часть виртуального адресного пространства должна быть устранена, чтобы освободить оперативную память.


5 Первое предупреждение: Если вы попробуете это с ВМ.overcommit_memory=0, убедитесь, что вы сохраните свою работу и закройте все сначала критически важных приложений, поскольку система будет заморожена на ~90 секунд и какой-то процесс умрет!

Идея в том, чтобы запустить форк бомба , что через 90 секунд, с вилами распределение пространства и некоторые из них записи больших объемов данных в оперативной памяти, все время отчетности в stderr.

#включить заголовочный файл <stdio.ч>
#включить <запустите.ч>
#включить <stdlib.ч>
код #include <sys файла/время.ч>
код #include <errno значение.ч>
#включить <строка.ч>

/* 90 второй "подробный голодные форк бомбу".
Многословный -> это jabbers.
Голоден -> он хватает адресного пространства, и он пытается съесть память.

Будьте осторожны: на системе с ВМ.overcommit_memory=0', это будет заморозить все
ПО ПРОДОЛЖИТЕЛЬНОСТИ И УБИЙЦА ООМ, КОТОРЫЙ БУДЕТ ВЫЗВАН. БЛИЗКО, ЧТО ВЫ ЗАБОТИТЕСЬ
О ПЕРЕД ЗАПУСКОМ. */

#определить Шаг 1 << 30 // 1 ГБ
#определить продолжительность 90

теперь на time_t () {
 структура timeval, которая Т;
 если (gettimeofday(&Т, значение null) == -1) {
 fprintf(stderr,"указанное gettimeofday() не: %з\п", использовать strerror(errno значение));
 возврат 0;
}
 возвращение Т.параметры tv_sec;
}

тап_п (недействительными) {
 инт-Форкс = 0;
 инт я;
 беззнаковый тип char *Р;
 pid_t PID, в собственной личности;
 время проверки;
 с const time_t по Пуск = теперь();
 если (!начала) вернуться 1;

 в то время как (1) {
 // Получаем наш пид и проверить прошедшее время.
 самостоятельно = getpid();
 проверить = теперь();
 если (!проверить || проверить - пуск > продолжительность) возвращает 0;
 fprintf(поток stderr,"%D говорит, что %вилы д\п", самостоятельно, вилки++);
 // Вилка; ребенок должен получать правильное пид.
 пид = развилка();
 если (!пид) самовывоз = getpid();
 // Выделить большой кусок пространства.
 Р = функция malloc(шаг);
 если (!п) {
 fprintf(поток stderr, "%д выделения не\!Н", самовыдвижение);
 возврат 0;
}
 fprintf(поток stderr,"%д выделения удалось\.Н", самовыдвижение);
 // Ребенок попытается использовать выделенное пространство. Используя только
 // ребенка позволяет бомбить вилка действовать должным образом.
 если (!пид) {
 для (Я = 0; Я < шаг; я++) Р[Я] = я % 256;
 fprintf(поток stderr,"%д пишет 1 ГБ\Н", самовыдвижение);
}
}
} 

Скомпилировать эту ССЗ forkbomb.с-о forkbomb. Во-первых, попробуйте с помощью sysctl ВМ.overcommit_memory=2 - вы, вероятно, получите что-то вроде:

6520 говорит 0-Форкс
Выделение 6520 удалось.
6520 говорит, 1-Форкс
Выделение 6520 удалось.
6520 говорит 2-Форкс
6521 распределения удалось.
Выделение 6520 удалось.
6520 говорит 3-Форкс
Выделение 6520 не удалось!
6522 распределения удалось.

В этой среде, этот вид бомба вилка не очень далеко. Обратите внимание, что число в ", сообщает N + вилки" - это не общее число процессов число процессов в цепи/филиала, ведущих к той.

Теперь попробуйте это с ВМ.overcommit_memory=0. Если перенаправить stderr в файл, вы можете сделать некоторые сырой анализ позже, например:

> кот tmp.txt | грэп не удалось
Выделение 4641 удалось!
Выделение 4646 удалось!
Выделение 4642 удалось!
4647 размещение не удалось!
4649 размещение не удалось!
4644 размещение не удалось!
4643 размещение не удалось!
Выделение 4648 удалось!
Выделение 4669 не удалось!
Выделение 4696 удалось!
Выделение 4695 удалось!
Выделение 4716 удалось!
4721 размещение не удалось!

Только 15 процессов не удалось выделить 1 ГБ -- продемонстрировать, что эвристика для overcommit_memory = 0 является пострадавшим от государства. Сколько процессов было? Глядя на конец tmp.txt наверное, > 100,000. Теперь как на самом деле нужно использовать 1 ГБ?

> кот tmp.txt | грэп писал
4646 ПИШЕТ 1 ГБ
4648 ПИШЕТ 1 ГБ
4671 ПИШЕТ 1 ГБ
4687 ПИШЕТ 1 ГБ
4694 ПИШЕТ 1 ГБ
4696 ПИШЕТ 1 ГБ
4716 ПИШЕТ 1 ГБ
4721 ПИШЕТ 1 ГБ

Восемь ... что опять же имеет смысл, поскольку на тот момент у меня было ~3 ГБ свободной оперативной памяти и 6 ГБ своп.

Посмотрите на свой системный журнал после этого. Вы должны увидеть ООМ убийцы отчетности баллы (среди других вещей); предположительно, это относится к oom_badness.

+53
TweakFix 27 июн. 2016 г., 05:50:17

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

$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