Замена переменной в значение чпсть загружается переменной среды

Если я использую чпсть для загрузки переменных окружения, таких как:

ОКР бар=баз чпсть -е mycommand envdir 

и в envdir у меня есть файл envdir/ФОО с содержание

ФОО$бар

есть ли способ так, что для mycommand значение фу - это foobaz вместо ФОО$бар?

Очевидно, что выше не работает; он оставляет ФОО значение ФОО$бар. Я интересно, если есть что-то, что я могу сделать, чтобы сделать замены на значения загружаются переменные среды.


Полный контекст: в основном у меня переменные среды, которые являются статическими когда вы выбираете окружение, но в некоторых случаях они должны быть специфичными к хозяину. Так что в реальной жизни я, например, хоста находится в среде с соответствующего узла, а затем я хочу установить что-то вроде API_URL=HTTP://в$хозяин:8080/. У меня это работает без использования чпсть, но я бы хотел использовать его, чтобы управлять всеми своими переменными окружения и он отлично работает в 90% случаев.

+535
olls 6 окт. 2019 г., 01:06:21
37 ответов

Как Бернхард предложил, порядок установки может быть значимой в этом типе ситуации. Если Windows была установлена после Федора, самым простым вариантом будет повторно установить Fedora.

Почему? Наиболее распространенным способом для достижения мульти-загрузочной среде, такой как вы описали-это использовать один из самых популярных загрузчиков ОС Linux; grub или lilo. Загрузчик это небольшая программа, которая отвечает за загрузку ядра операционной системы в память, а затем передает управление выполнения ядра, который продолжит загружать операционную систему.

Как компьютер определить, какая или какие загрузчик выполнить? На диске загрузочный сектор называется главной загрузочной записи [МБР]. MBR-это первый сектор, 512 байт диска. В MBR есть, как правило, представляет собой набор инструкций для того, чтобы загрузить соответствующий загрузчик, называется начальной загрузкой. Федора скорее всего установлен загрузчик для Вы, наверное, для grub2, и внесены соответствующие изменения в MBR.

Ну и что? Windows будет перезаписать MBR с собственным набором инструкция, поэтому установка Windows первый это "рекомендовано" для данного типа конфигурации. Кроме того, если у вас есть две конфигурации диска с Windows на одном диске и Fedora на отдельном диске, то вам нужно убедиться, что ваш BIOS настроен на загрузку с того диска в MBR-диск включает в себя загрузчик для загрузчик Linux. В обоих случаях ваш загрузчик Linux должен быть настроен для выполнения процесса, называемого нагрузку на цепь. Это когда в данный момент выполняет программа заменяется другой кусок программного обеспечения. В этом случае, порой, вы хотите заменить свой загрузчик Linux с Windows, так что вы можете вместо того, чтобы загрузиться в операционную систему. Если файл grub2 еще раз установить, конфигурация может выглядеть так:

menuentry "Windows ХР" {
цепь insmod 
установить корень=(ф1,1)
drivemap -с hd0 HD1 для
c возможностью старта обоих +1

}

+969
Regina Asmussen 03 февр. '09 в 4:24

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

найти -типа F -размер +100к -экзек стат {} +

или получить конкретную outout например файлы permissions:

найти -типа F -размер +100к -экзек стат-С %а {} +

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

#!/бин/Баш
на файл в $Home/*; делать
 если [ -Ф "$файл" ] && [[ $(стат -с %с "$файл") -Гэ 100000 ]]; затем
 файл Echo"$"
интернет
сделано
+929
Junlin He 10 мая 2016 г., 08:00:29
Другие ответы

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


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

Я в конечном итоге просто продувка dhcp3-Server и вместо того, чтобы с помощью dnsmasq. Я прошел через конфигурационный файл для него и смог использовать примеры он прокомментировал настроить свой сервер, как мне нужно. сервер dnsmasq также имеет встроенный TFTP-сервер, который я использовал для загрузки PXE.

+918
User007 4 февр. 2014 г., 16:19:33

Я построил ядра в файловой системе tmpfs, потом перезагружается.

Теперь я вижу сообщение, когда я скомпилировать модуль 3 участника,

НИКАКИХ ПРИЗНАКОВ [М] ХХХХ.ко

Как я могу получить его подпись? Пара ключей генерируется при rpmbuild теряется уже думаю

+902
nael aldahleh 6 окт. 2010 г., 02:56:58

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

Поддержку протокола SSLv2 и SSLv3 был пересмотрен в 2011 в 2015 году.

Последние дистрибутивы не реализовать поддержку протокола SSLv2 и V3. Даже в правильно объектах конфигурации, которые имеют старые версии Unix /Linux, которые по-прежнему поддерживают эти протоколы, Апач был настроен, чтобы запретить их использование в возрасте.

Как вы узнали, было принято решение обновить для более современных библиотек /программного обеспечения, которые поддерживают другие протоколы. Имейте в виду, что если у вас есть какие-то внутренние наследство решение, которое зависит от протокол SSLv3, в зависимости от версии обновления программного обеспечения, вы можете иметь проблемы в ближайшем будущем.

+868
KanDVi 12 дек. 2019 г., 21:34:28

Проблема судо -с без каких-либо аргументов, будут открыты интерактивные оболочки для root.

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

команду sudo-S и 

Например :

$ судо -с whoami
корень

Или можно использовать вот строки :

$ судо -с <<<'whoami'
корень

Если у вас есть несколько команд, которые можно использовать док :

$ судо -с <<'ВФ'
> whoami
> хоста
> ВФ
корень
что-то ... 
+837
Isa Bek 30 апр. 2015 г., 02:12:37

В пакет под названием gpac, есть это CLI утилиту MP4Box

Вот пример того, что работает для меня..

MP4Box -добавить файл~/.noaudio.МР4 \
 -добавить файл~/.МР3 \
 -добавить файл~/.СРТ \
 файл~/.MP4Box.МР4 

Я использовал только видео-и аудио-только, но это, несомненно(?) работы с нормальной аудио+видео "фильм" .... Это очень поздно, поэтому я просто оставлю это...

Примечание: субтитры работ в Тотем, но не в SMPlayer...

+819
mOrgz 20 дек. 2017 г., 08:07:24

Вам нужно сделать это:

  1. Остановить сервер MySQL
  2. Перезагрузка сервера MySQL пропуская таблицы: mysqld_safe --Skip-с грант-столы --скип-сетей и

  3. Подключиться к серверу MySQL passwordlessly: в MySQL -уроот

  4. Перезагрузка таблиц привилегий: врезная привилегий;
  5. Сменить root пароль: Установить пароль для 'корень'@'localhost' а = пароль('привет');
  6. Остановить сервер MySQL и перезагрузить его нормально
  7. Теперь вы можете подключиться к MySQL как root с паролем привет

В отношении к phpmyadmin, он использует учетные данные в MySQL. Поэтому, как только вы восстановили пароль root в MySQL, вы сможете управлять всем.

+819
prizrakmbk 14 февр. 2012 г., 09:57:35

vmstat с получает виртуальную память стат из файла/proc/meminfo и в/proc/vmstat С, и процессор данных из файла/proc/stat, который:

% трассированием -Фе открыты vmstat с -с
...
открыть ("в/proc/meminfo", флагов o_rdonly) = 3
открыть ("в/proc/стат", флагов o_rdonly) = 4
открыть ("в/proc/vmstat с", флагов o_rdonly) = 5
...

Для используемой памяти, от https://gitlab.com/procps-ng/procps/blob/master/proc/sysinfo.c#L772:

если (завершилась. mem_used < 0) 
 завершилась. mem_used = kb_main_total - kb_main_free; 
kb_main_used = (неподписанных долгое)завершилась. mem_used;
+777
Kalvin Muharukua 6 июл. 2019 г., 10:32:04

АЛТ+Ф2 гном-терминал будет открыт новый терминал окно. Оттуда выполните команду StartX для перезагрузки интерфейса.

+730
Frank L 22 июн. 2017 г., 06:42:13

Файл "в кодировке ASCII, за исключением нескольких символов UTF-8", ну, просто файл UTF-8.

Он доступен для просмотра/поиска/редактирования так долго, как вы используете локаль UTF-8.

Вы не можете преобразовать его в ASCII, так как последняя не имеет эквивалентное представление для кодировки UTF-8 специальные символы.

Вы может хотите преобразовать в то с

с iconv -F в кодировке UTF-8 -т ИСО-8859-1
+709
huemad 6 окт. 2013 г., 11:47:46

Ладно, я понял, что из себя.

Я должен был использовать свинец / перед именами каталогов. Также пришлось менять */ в /*/

+ /приложение/
+ /конфиг/
+ /базе/
+ /общественных/
+ /ресурсов/
+ /маршруты/
- .ОКР
- /*/

И мой второй вопрос тоже решен. используя --фильтр=". ../filter.txt"

+678
jj5939 28 дек. 2016 г., 23:54:07

Я работаю по настройке котяра 8.0.35 на Ubuntu 16.04 с Oracle на Java 1.8.0_91-в14 (не использовать OpenJDK) для использования проверки подлинности Kerberos при проверке подлинности нашей корпорации Майкрософт база данных SQL. Проблема я бегу в том, что после выполнения командой Kinit как соответствующий пользователь с соответствующими параметрами:

судо -у командой Kinit-к-т tomcat8 /и т. д./tomcat8/tomcat8.ключей HTTP/[email protected]

Я получаю эту ошибку в журнале localhost из котяру:

Вызвана: GSSException: нет действительные учетные данные предоставил (механизм уровня: не удается создать учетных данных. (63) - нет значка обслуживания)
Вызвана: KrbException: не удается создать учетных данных. (63) - нет значка услуги 

Когда я запускаю

судо -у tomcat8 для

Я получаю ожидаемый ответ:

[email protected]:/home/tbourne# судо -у tomcat8 для
Кэш билетов: файл:/tmp/и krb5cc_111
Основные по умолчанию: HTTP/[email protected]

Начала срока действия услуги основные
06/23/2016 14:33:10 06/24/2016 00:33:10 krbtgt/[email protected]
 продлить до 06/24/2016 14:33:07

Когда я захватить пакеты во время запуска Tomcat, я вижу зал/имя экземпляра передаются в записи krbtgt/наши.Домен.Местные. Я ожидал, что это будет основным по умолчанию указано выше. Когда я поставил слова serverspn параметр в строку подключения базы данных, я получаю выше результаты.

Когда я удалить слова serverspn вариант, он использует другое имя участника MSSQLSvc/[email protected]. К сожалению я не могу использовать это имя, поскольку мне нужны уникальные логины (и тем самым неповторимые имена) для каждого из наших экземпляров котяра.

Наши строки подключения к базе данных выглядит так:

собственность.дБ.driverClassName=ком.Майкрософт.от SQLServer.с JDBC.SQLServerDriver
property.db.jdbcUrl=jdbc:sqlserver://sql-server.our.domain.local:1434;databaseName=DBAUTH2;integratedSecurity=true;authenticationScheme=JavaKerberos;serverSpn="HTTP/[email protected]"

Я скачал версия драйвера Microsoft JDBC 4.2 и котяра использует его.

Я в недоумении, почему котяра не отправляет соответствующие основные имя при аутентификации в базе данных. Любое понимание будет высоко оценен.

Я могу разместить файл krb5.Ини на котяру, файл krb5.конф, в систему jaas.конф и любые другие конфиги, если они будут полезны.

+637
Lexiel 6 авг. 2011 г., 08:31:55

Если я открестился от работы в Баш и передумаю, могу ли я исправить как-то ?

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

И, наконец, это сделать ниже рабочего процесса можно:

  • поставить работу в фоновом режиме ( с последующим БГ)
  • получить его PID (вакансии-п %+ , чтобы получить ее <идентификатор процесса>)
  • откройте экран или tmux сессии, прикрепить к ней и использовать ее для следующих шагов
  • использовать reptyr , чтобы захватить работу (reptyr <идентификатор процесса>)
  • добавить <идентификатор процесса> для раковины управление заданиями (это возможно вообще?)
  • остановить работу ()

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

Мое исследование показывает, что это не возможно, чтобы собственные (реверс откреститься) пид, но, надеюсь, я ошибаюсь...

+618
Samuel Shi 23 апр. 2013 г., 20:22:17

по rsync ведет себя больше как УПП, копирование мелких файлов по сети. было бы гораздо проще вытащить жесткий диск и использовать его как внешний к вашему новому компьютеру и клонировать оттуда. что сказал, лучший инструмент для этой конкретной цели может быть tar и SSH, так как это позволяет избежать отдельного файла проверяет, что rsync и УПП преформ:

тар-с /путь/к/ТАР-xvf реж | СШ remote_server '- - с /абсолютный/путь/к/remotedir'
+572
harsha kumar Reddy 10 апр. 2016 г., 15:05:40

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

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

$строки exe_file
UPX по!
...
PROT_EXEC|флаг prot_write не удалось.
$Инфо: этот файл был запакован исполняемый http://upx.sf.net UPX упаковщиком $
Идентификатор: UPX по 3.91 Авторское право (c) 1996-2013 расширения UPX команды. Все Права Защищены. $
...
UPX по!

строки - печать строк печатных символов в файлах.
Для каждого из указанных файлов, ГНУ строки печатает печатаемый символ последовательности, которые являются не менее 4 символов (или число, указанное в варианты ниже) и следует непечатный символ.

файл позволяет увидеть исполняемый свойства, а именно:

  • архитектура его целей;
  • операционной системы;
  • если динамически или статически;
  • если скомпилирована с отладочной информацией или нет.

В этом примере "не содрали" обозначает, что он был скомпилирован с отладочной информации включен.

файл $ exe_file
exe_file: эльф 64-битный исполняемый ЛСБ, для архитектуры x86-64, Версия 1 (с SysV), динамически связаны, переводчик /lib64/ЛД-ОС Linux для архитектуры x86-64.так.2, для Linux 2.6.18, BuildID[в SHA1]=6f4c5f003e19c7a4bbacb30af3e84a41c88fc0d9, не раздели

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

objdump производит ассемблерного кода исполняемого файла:

$ objdump -д exe_file
ЛС: файл формат Мах-о 64-битных х86-64

Демонтаж секции __текст__текст:
__текст:
100000f20: 55 pushq %РБП
100000f21: 48 89 е5 movq %РСП, %РБП
100000f24: 48 83 С7 68 addq 104$, %РДН
100000f28: 48 83 С6 68 addq 104$, %РСИ
100000f2c: 5д popq %РБП
100000f2d: э9 58 36 00 00 СПМ 13912
100000f32: 55 pushq %РБП
100000f33: 48 89 е5 movq %РСП, %РБП
100000f36: 48 8д 46 68 leaq 104(%РСИ), %Ракс
100000f3a: 48 8д 77 68 leaq 104(%СНП), %РСИ
...............

objdump также позволяет знать компилятор используется для компиляции в двоичный исполняемый файл:

$ objdump -ы-раздел .комментарий exe_file

exe_file: формат файла elf64-х86-64

Содержание раздела .комментарий:
 0000 4743433a 2028474e 55292034 2e342e37 ССЗ: (пне) 4.4.7
 0010 20323031 32303331 33202852 65642048 20120313 (Красный Ч
 0020 61742034 2e342e37 2d313129 00 по 4.4.7-11).

objdump также перечислены внешние функции динамической компоновки во время выполнения:

$ objdump -Т exe_file

правда: формат файла elf64-х86-64

ДИНАМИЧЕСКОЙ ТАБЛИЦЕ СИМВОЛОВ:
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __uflow
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 функции getenv
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 бесплатно
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 отбой
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __ошибки_место
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 strncmp
0000000000000000 ж д *и* 0000000000000000 _ITM_deregisterTMCloneTable
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 для _exit
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __fpending
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 вызов домене
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 функции fclose
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 bindtextdomain
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 dcgettext
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __ctype для_вам_Мб_шавкам_Макс
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 функция strlen
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.4 __стека_ЧК_не
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 mbrtowc
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 strrchr
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 использует lseek
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 остановлюсь
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 функции fscanf
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 закройте
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __библиотеки libc_начало_главный
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 memcmp
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 fputs_unlocked
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 памятью
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 чего strcmp
0000000000000000 ж д *и* 0000000000000000 __gmon_начало__
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.14 функции memcpy
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 fileno
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 Танос
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 функцию fflush
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 nl_langinfo
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 функции ungetc
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __freading
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 realloc
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 fdopen
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 функции setlocale
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.3.4 __е_ЧК
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.Ошибка 5 
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 открыть
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 fseeko
0000000000000000 ж д *и* 0000000000000000 _Jv_RegisterClasses
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __базе cxa_atexit
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 выход
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 fwrite
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.3.4 __fprintf_ЧК
0000000000000000 ж д *и* 0000000000000000 _ITM_registerTMCloneTable
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 mbsinit
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.2.5 iswprint
0000000000000000 Вт ДФ *УНД* 0000000000000000 GLIBC_2.2.5 __специалист_доработке
0000000000000000 ДФ *УНД* 0000000000000000 GLIBC_2.3 __ctype для_б_Лок
0000000000207228 г делать .БСС 0000000000000008 GLIBC_2.2.5 стандартный вывод
0000000000207220 г делать .БСС 0000000000000008 GLIBC_2.2.5 __имя_программы
0000000000207230 ж делать .БСС 0000000000000008 GLIBC_2.2.5 program_invocation_name
0000000000207230 г делать .БСС 0000000000000008 GLIBC_2.2.5 __имя_программы_полное
0000000000207220 ж делать .БСС 0000000000000008 GLIBC_2.2.5 program_invocation_short_name
0000000000207240 г делать .БСС 0000000000000008 GLIBC_2.2.5 поток stderr

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

Вы можете запустить двоичный файл в виртуальной машине, созданной только и отбрасывается только для работы бинарных. Использовать трассированием, ltrace, ГДБ и sysdig , чтобы узнать больше о том, что бинарные делает системные вызовы на уровне во время выполнения.

$exe_file трассированием 
открыть("/выбрать/смс/АУ/МО в/tmp.RqBcjY", O_RDWR|O_CREAT|o_excl, что 0600) = 3
открыть("/выбрать/смс/АУ/МО в/tmp.PhHkOr", O_RDWR|O_CREAT|o_excl, что 0600) = 4
открыть("/выбрать/смс/АУ/МО в/tmp.q4MtjV", O_RDWR|O_CREAT|o_excl, что 0600) = 5

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

$ltrace exe_file
_libc_start_main(0x400624, 1, 0x7ffcb7b6d7c8, 0x400710 <недоделанный ...> 
время(0) = 1508018406 
srand(0x59e288e6, 0x7ffcb7b6d7c8, 0x7ffcb7b6d7d8, 0) = 0 
функции sprintf("команды mkdir -Р -- '/опт/смс/АУ/МО'", "команды mkdir -р -- '%с'", "/опт/смс/АУ/МО") = 28 
системы("команды mkdir -Р -- '/опт/смс/АУ/МО'" <невозврата ...> 
--- Сигнала sigchld (ребенок вышел) --- 
<... системе возобновил> ) = 0 
слчис(2, 0x7ffcb7b6d480, 0, 0x7f9d6d4622b0) = 0x2d8ddbe1 
функции sprintf("/выбрать/смс/АУ/МО в/tmp.ХХХХХХ", "%С в/tmp.ХХХХХХ", "/опт/смс/АУ/МО") = 29 
на mkstemp(0x7ffcb7b6d5c0, 0x40080b, 0x40081a, 0x7ffffff1) = 3 
функции sprintf("/выбрать/смс/АУ/МО в/tmp.ХХХХХХ", "%С в/tmp.ХХХХХХ", "/опт/смс/АУ/МО") = 29 
на mkstemp(0x7ffcb7b6d5c0, 0x40080b, 0x40081a, 0x7ffffff1) = 4 
+++ выход (состояние 0) +++ 

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

Он также может быть отлажена пошаговую инструкцию с помощью GDB.

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

Следовать/создать дампы большую часть своей системы работы, использования sysdig как в:

#sysdig судо тез.Докл.имя=exe_file
...................
11569 19:05:40.938743330 1 exe_file (35690) > getpid 
11570 19:05:40.938744605 1 exe_file (35690) < getpid 
11571 19:05:40.938749018 1 exe_file (35690) > открыть 
11572 19:05:40.938801508 1 exe_file (35690) < открыть ФД=3(<ф>/опт/смс/АУ/МО в/tmp.MhVlrl) название=/опт/смс/АУ/МО в/tmp.XXXXMhVlrl флаги=39 режим(флагов o_excl|O_CREAT|O_RDWR)=0 
11573 19:05:40.938811276 1 exe_file (35690) > getpid 
11574 19:05:40.938812431 1 exe_file (35690) < getpid 
11575 19:05:40.938813171 1 exe_file (35690) > открыть 
11576 19:05:40.938826313 1 exe_file (35690) < открыть ФД=4(<Ф>/опт/смс/АУ/МО в/tmp.5tlBSs) название=/опт/смс/АУ/МО в/tmp.5tlBSs флаги=39 режим(флагов o_excl|O_CREAT|O_RDWR)=0 
11577 19:05:40.938848592 1 exe_file (35690) > getpid 
11578 19:05:40.938849139 1 exe_file (35690) < getpid 
11579 19:05:40.938849728 1 exe_file (35690) > открыть 
11580 19:05:40.938860629 1 exe_file (35690) < открыть ФД=5(<Ф>/опт/смс/АУ/МО в/tmp.CJWQjA) название=/опт/смс/АУ/МО в/tmp.CJWQjA флаги=39 режим(флагов o_excl|O_CREAT|O_RDWR)=0 

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

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

Мы снова имеем дело со статическим анализом самого двоичного файла на оставшуюся часть ответа.

лдд exe_file списки библиотеки он использует;

$ лдд exe_file
 Линукс-ВДСО.так.1 (0x00007ffdf83bd000) 
 библиотеки libc.так.6 => /lib в/x86_64 с-линукс-дистрибутив GNU/библиотеки libc.так.6 (0x00007f14d9b32000) 
 /lib64/ЛД-ОС Linux для архитектуры x86-64.так.2 (0x000055ededaea000) 

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

размер-exe_file

$ размер-exe_file 
exe_file : 
размер раздела аддр 
.истол-28 4194816 
.Примечание.Аби-теге 32 4194844 
.Примечание.гну.строить-кодом 36 4194876 
.гну.хэш-28 4194912 
.dynsym 216 4194944 
.dynstr 90 4195160 
.гну.версия 18 4195250 
.гну.version_r 32 4195272 
.Рела.Дин 24 4195304 
.Рела.ПЛТ 168 4195328 
.инит 24 4195496 
.ПЛТ 128 4195520 
.текст 664 4195648 
.Фини 14 4196312 
.rodata 51 4196328 
.eh_frame_hdr 36 4196380 
.eh_frame 124 4196416 
.конструкторы 16 6293696 
.dtors 16 6293712 
.СКВ 8 6293728 
.динамические 400 6293736 
.получил 8 6294136 
.получил.ПЛТ 80 6294144 
.данные 4 6294224 
.БСС 16 6294232 
.комментарий 45 0 
Всего 2306


размер -д-общ.
 текст данных БСС декабря шестигранной именем
 122678 4664 4552 131894 20336 ЛС

В GNU размер коммунальных приведены в разделе размеры---а общее размер---для каждого объекта или архивные файлы objfile в своей аргументации список. По умолчанию каждая строка создается для каждого объекта файла или каждый модуль в архиве.

readelf выступает -х .rodata exe_file списки статических строк

$ readelf выступает -х .rodata exe_file 

Дамп раздела '.rodata':
 0x004007e8 01000200 00000000 00000000 00000000 ................
 0x004007f8 6d6b6469 72202d70 202d2d20 27257327 команды mkdir -р -- '%с'
 0025732f 0x00400808 746d702e 58585858 58585858 .%с/ТМП.ХХХХХХХХ
 0x00400818 585800 ХХ.

readelf выступает -ч exe_file эльф получает информацию заголовка

$ readelf выступает -ч exe_file 
Заголовок эльфийка: 
 Магия: 7Ф 45 4С 46 02 01 01 00 00 00 00 00 00 00 00 00 
 Класс: ELF64 
 Сведения: 2 дополнения, обратным порядком байтов 
 Версия: 1 (текущие) 
 ОС/Аби: Unix - системы в 
 Аби версия: 0 
 Тип: exec (исполняемый файл) 
 Машина: Предварительные Микро-Приборы Для X86-64 
 Версия: 0х1 
 Запись адреса точки: 0x400540 
 Начало заголовков программы: 64 (байта в файле) 
 Начало заголовков разделов: 3072 (байт в файле) 
 Флаги: 0x0 в 
 Размер этого заголовка: 64 (байта) 
 Размер заголовков программы: 56 (байт) 
 Количество заголовков программы: 8 
 Размер заголовков разделов: 64 (байта) 
 Количество заголовков разделов: 30 
 Раздела индекс заголовок строки таблицы: 27 

readelf выступает -с exe_file отображает символы

$ readelf выступает -с exe_file 

Таблица символов '.dynsym содержит 9 элементов: 
 Кол-Во: Размер Тип Привязки ВИС NDX По Имени 
 0: 0000000000000000 0 NOTYPE МЕСТНОГО УНД 
 1: 0000000000000000 0 NOTYPE слабый по умолчанию УНД __gmon_начало__ 
 2: 0000000000000000 0 Функ глобальное значение по умолчанию УНД [email protected]_2.2.5 (2) 
 3: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]_2.2.5 (2) 
 4: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]_2.2.5 (2) 
 5: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]_2.2.5 (2) 
 6: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]_2.2.5 (2) 
 7: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]_2.2.5 (2) 
 8: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]_2.2.5 (2) 

Таблица символов '.symtab содержит 69 записей: 
 Кол-Во: Размер Тип Привязки ВИС NDX По Имени 
 0: 0000000000000000 0 NOTYPE МЕСТНОГО УНД 
 1: 0000000000400200 0 РАЗДЕЛ МЕСТНЫХ ПО УМОЛЧАНИЮ 1 
 2: 000000000040021c 0 раздел местных по умолчанию 2 
 3: 000000000040023c 0 раздел местных по умолчанию 3 
 4: 0000000000400260 0 РАЗДЕЛ МЕСТНЫХ ПО УМОЛЧАНИЮ 4 
 5: 0000000000400280 0 РАЗДЕЛ МЕСТНЫХ ПО УМОЛЧАНИЮ 5 
 6: 0000000000400358 0 РАЗДЕЛ МЕСТНЫХ ПО УМОЛЧАНИЮ 6 
 7: 00000000004003b2 0 раздел местных по умолчанию 7 
 8: 00000000004003c8 0 раздел местных по умолчанию 8 
 9: 00000000004003e8 0 раздел местных по умолчанию 9 
 10: 0000000000400400 0 РАЗДЕЛ МЕСТНЫХ ПО УМОЛЧАНИЮ 10 
 11: 00000000004004a8 0 раздел местных по умолчанию 11 
 12: 00000000004004c0 0 раздел местных по умолчанию 12 
 13: 0000000000400540 0 РАЗДЕЛ МЕСТНЫХ ПО УМОЛЧАНИЮ 13 
 14: 00000000004007d8 0 раздел местных умолчанию 14 
 15: 00000000004007e8 0 раздел местных по умолчанию 15 
 16: раздел 000000000040081c 0 местные по умолчанию 16 
 17: 0000000000400840 0 РАЗДЕЛ ЛОКАЛЬНОГО ДЕФОЛТА 17 
 18: 00000000006008c0 0 раздел местных по умолчанию 18 
 19: 00000000006008d0 0 местная секция по умолчанию 19 
 20: 00000000006008e0 0 раздел местных по умолчанию 20 
 21: 00000000006008e8 0 раздел местных по умолчанию 21 
 22: 0000000000600a78 0 раздел местных по умолчанию 22 
 23: 0000000000600a80 0 раздел местных по умолчанию 23 
 24: 0000000000600ad0 0 раздел местных по умолчанию 24 
 25: 0000000000600ad8 0 раздел местных по умолчанию 25 
 26: 0000000000000000 0 РАЗДЕЛ МЕСТНЫХ ПО УМОЛЧАНИЮ 26 
 27: 000000000040056c 0 Функ местные по умолчанию 13 call_gmon_start 
 28: 0000000000000000 0 файл локальной АБС по умолчанию crtstuff.с 
 29: объект 00000000006008c0 0 местные по умолчанию 18 __Конструктор_список__ 
 30: 00000000006008d0 0 объект по умолчанию 19 __DTOR_список__ 
 31: 00000000006008e0 0 объект по умолчанию 20 __ОИЦ_список__ 
 32: 0000000000400590 0 Функ местные по умолчанию 13 __да_глобальном_dtors_AUX вход 
 33: завершен 0000000000600ad8 1 объект по умолчанию 25.6349 
 34: 0000000000600ae0 8 объект по умолчанию 25 dtor_idx.6351 
 35: 0000000000400600 0 Функ местные по умолчанию 13 frame_dummy 
 36: 0000000000000000 0 файл локальной АБС по умолчанию crtstuff.с 
 37: 00000000006008c8 0 объект по умолчанию 18 __Конструктор_конец__ 
 38: 00000000004008b8 0 объект по умолчанию 17 __рама_конец__ 
 39: 00000000006008e0 0 объект по умолчанию 20 __JCR в_конце__ 
 40: 0 00000000004007a0 функции местных по умолчанию 13 __да_глобальном_артисты_ОКС 
 41: 0000000000000000 0 файл локальной АБС по умолчанию exe_file.с 
 42: 0000000000600a80 0 объект по умолчанию 23 _GLOBAL_OFFSET_TABLE_ 
 43: 00000000006008bc 0 NOTYPE местного 18 массив __инит__конец 
 44: 00000000006008bc 0 NOTYPE местного 18 __инит_время_начать 
 45: 00000000006008e8 0 объект по умолчанию 21 _DYNAMIC 
 46: 0000000000600ad0 0 NOTYPE слабый по умолчанию 24 data_start 
 47: 0000000000400700 2 Функ глобальное значение по умолчанию 13 __библиотеки libc_ХСС_Фини 
 48: 0000000000400540 0 Функ глобальное значение по умолчанию 13 _start 
 49: 0000000000000000 0 NOTYPE слабый по умолчанию УНД __gmon_начало__ 
 50: 0000000000000000 0 NOTYPE слабый по умолчанию УНД _Jv_RegisterClasses 
 51: 00000000004007d8 0 Функ глобальное значение по умолчанию 14 _fini 
 52: 0000000000000000 0 Функ глобальное значение по умолчанию УНД __библиотеки libc_начать_основное@@GLIBC_ 
 53: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]@GLIBC_2.2.5 
 54: 00000000004007e8 4 объекта глобальное значение по умолчанию 15 _IO_stdin_used 
 55: 0000000000600ad0 0 NOTYPE глобальное значение по умолчанию 24 __данные_начать 
 56: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]@GLIBC_2.2.5 
 57: 00000000004007f0 0 объект глобального скрытые 15 __ДСО_ручке 
 58: объект 00000000006008d8 0 мировой скрытых 19 __DTOR_конец__ 
 59: 0000000000400710 137 Функ глобальное значение по умолчанию 13 __библиотеки libc_ХСС_инит 
 60: 0000000000600ad4 0 NOTYPE глобальной АБС по умолчанию __БСС_начать 
 61: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]@GLIBC_2.2.5 
 62: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]@GLIBC_2.2.5 
 63: 0000000000600ae8 0 NOTYPE глобальной АБС по умолчанию _end 
 64: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]@GLIBC_2.2.5 
 65: 0000000000600ad4 0 NOTYPE глобальной АБС по умолчанию _edata 
 66: 0000000000000000 0 Функ глобальный дефолт УНД [email protected]@GLIBC_2.2.5 
 67: 0000000000400624 207 Функ глобальное значение по умолчанию 13 основных 
 68: 00000000004004a8 0 Функ глобальное значение по умолчанию 11 _init 

readelf выступает отображает информацию об одном или нескольких эльфийка формат объекта файлов. Опции управления для отображения информации.

elffile... являются объектные файлы должны быть рассмотрены. 32-разрядные и 64-разрядные эльф поддерживаются файлы, как архивы, содержащие файлы эльфийка.

Нм exe_file списки символов из объекта в таблице:

Нм $ exe_file 
0000000000600ad4 в __БСС_начать 
000000000040056c Т call_gmon_start 
0000000000600ad8 б завершена.6349 
00000000006008c8 д __конструктор_конец__ 
00000000006008c0 д __конструктор_список__ 
0000000000600ad0 д __Данные_начать 
0000000000600ad0 data_start Вт 
00000000004007a0 т __у_глобальном_артисты_ОКС 
0000000000400590 т __у_глобальном_dtors_AUX вход 
00000000004007f0 Р __ДСО_ручке 
00000000006008d8 Д __DTOR_конец__ 
0000000000600ae0 dtor_idx б.6351 
00000000006008d0 д __DTOR_список__ 
00000000006008e8 д _DYNAMIC 
0000000000600ad4 в _edata 
0000000000600ae8 в _end 
00000000004007d8 Т _fini 
0000000000400600 Т frame_dummy 
00000000004008b8 Р __рама_конец__ 
0000000000600a80 д _GLOBAL_OFFSET_TABLE_ 
 ш __gmon_начало__ 
00000000004004a8 Т _init 
00000000006008bc д массива __инит__конец 
00000000006008bc д __инит_время_начать 
00000000004007e8 Р _IO_stdin_used 
00000000006008e0 д __ОИЦ_конец__ 
00000000006008e0 д __ОИЦ_список__ 
 Вт _Jv_RegisterClasses 
0000000000400700 Т __библиотеки libc_ХСС_Фини 
0000000000400710 Т __библиотеки libc_ХСС_инит 
 У [email protected]@GLIBC_2.2.5 
0000000000400624 Т основной 
 У [email protected]@GLIBC_2.2.5 
 У [email protected]@GLIBC_2.2.5 
 У [email protected]@GLIBC_2.2.5 
 У [email protected]@GLIBC_2.2.5 
0000000000400540 Т _start 
 У [email protected]@GLIBC_2.2.5 
 У [email protected]@GLIBC_2.2.5 

Нм списков символов объектного файла objfile.... Если нет объектные файлы приведенные в качестве аргументов, Нм предполагает файлу.из.

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

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

Я пытался использовать Бумеранг и Снеговик. Проект Бумеранг, похоже, заброшенный, и я не был впечатлен недостатков обоих из них. Несколько других альтернатив, либо открытым исходным кодом/бесплатная/старый включая недавно выпущенный Аваст, только декомпилированные 32-разрядные двоичные файлы.

Я в конечном итоге пытается демо Хоппер в macOS (также есть версии Linux).

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

Хоппер демонтирует и декомпилируется либо 32 или 64 бит двоичных файлов для OS/Х, Linux и Windows. Он способен решать большие файлы при лицензировании.

Это также делает графов; функции/структуры программы и переменных.

Он также активно поддерживается и обновляется. Однако она коммерческая.

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

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

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

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

Улучшение качества исходного вывода и представления о бинарной всегда подразумевают какое-то время и детективной деятельности. Декомпиляторы только сделать так много работы.

Пример вывода бункера без отладочной информации:

точки входа инт(инт параметры arg0, int и аргумент1, аргумент2 инт) {
 гексоген = арг2;
 РБ = аргумент1;
 П12 = параметры arg0;
 если (С12 <= 0х1) Гото loc_100000bdf;

loc_10000093c:
 Р15 = *(РБ + 0x8);
 если (чего strcmp(резистор R15, "-л") == 0х0) Гото loc_1000009c2;

loc_100000953:
 если (чего strcmp(R15, в "-с") == 0х0) Гото loc_100000a45;

Графический интерфейс Хоппер тоже очень полезная (несколько функций расширена одновременно на этой картинке):

enter image description here

Мне тоже ответили про Хоппера вот так - то хороший с декомпилятор?

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

+549
COKOJL 30 мар. 2010 г., 13:34:12

Я пытаюсь скомпилировать с GCC 4.8.3. Я читал документацию, но я до сих пор не кросс-компилировать для 64-битной системы. Я тоже прошла через это руководство. Но мое требование заключается в построении ССЗ в /tmp/и ХХХ каталог. Но опции--with-sysroot & --с-родной-система-заголовок-реж флаги испортить компиляции. Согласно документации на НКУ, мне нужно использовать параметр--with-sysroot флаг вместе с ... с родной-система-заголовок-реж.

--С-система-заголовок-Дир принимает имя каталога, где заголовочные файлы установлены. В моем случае это ${TOOLS_DIR} и это должен быть абсолютный путь, который он. А параметр--with-sysroot требует корневой путь к папке, где компиляция делается. В моем случае это ${КАТАЛОГ_УСТАНОВКИ}.

КАТАЛОГ_УСТАНОВКИ=/tmp/и ССЗ-компиляции
TOOLS_DIR=${установочный-каталог}/инструменты

Согласно Linuxfromscratch руководство, я должен создать папку на корневую систему хозяина. Но чтобы это сделать мне понадобится судо разрешения которых у меня нет. Так, я думал, что для компиляции на GCC в поддиректории, а не то, что было упомянуто в книге (потому что все пользователи получают разрешения на чтение и запись в/tmp каталог).

Теперь, ССЗ останавливается с ошибкой, что не может найти систему заголовков каталогов. И он пытается искать в каталоге/tmp/ГХК-компиляции в/tmp/ГХК-компиляции/инструменты/включить, что это неверный путь.

Параметры, которые я использовал являются:

СЕПГ -я "с#инструменты#${TOOLS_DIR}#г" ..и gcc-4.8.3-pure64_specs-1.патч

патч -НП1 -я ..и gcc-4.8.3-branch_update-1.патч
патч -НП1 -я ..и gcc-4.8.3-pure64_specs-1.патч

функции printf '\Н#фдоон STANDARD_STARTFILE_PREFIX_1\Н#определить STANDARD_STARTFILE_PREFIX_1 "%з/Либ/"\п' "${TOOLS_DIR}" >> ССАГПЗ/конфигурации/Линукс.ч
функции printf '\Н#фдоон STANDARD_STARTFILE_PREFIX_2\Н#определить STANDARD_STARTFILE_PREFIX_2 ""\п' >> ССАГПЗ/конфигурации/Линукс.ч

команды mkdir "${BUILD_DIR}" &&
компакт-диск "${BUILD_DIR}" &&

АР=АР LDFLAGS="-от WL,-путь rpath,${CROSS_DIR}/Либ" \
../настроить --префикс=${CROSS_DIR} \
 --строить=${хост} \
 --цель=${цель} \
 опции --host=${хост} \
 параметр --with-sysroot=${КАТАЛОГ_УСТАНОВКИ} \
 - с-местными-префикс=${TOOLS_DIR} \
 --с-родной-система-заголовок-реж=${TOOLS_DIR}/включать \
 --отключить-НЛС \
 --отключить-статические \
 --включить-языки=C,где c \++ 
 --включить-__базе cxa_atexit \
 --включить-темы=\в POSIX 
 --отключить-мультилиб \
 --с-МПЦ=\${CROSS_DIR} 
 --с-mpfr=${CROSS_DIR} \
 --с-ГМП=\${CROSS_DIR} 
 --с-cloog=\${CROSS_DIR} 
 --с-исл=\${CROSS_DIR} 
 - с-системой-библиотека zlib \
 --включить-проверки=освобождение \
--включить-libstdcxx времени

Во время настройки, я написал ${TOOLS_DIR}/включать, тогда почему ССЗ пытается разобраться в ${установочный-каталог}/${TOOLS_DIR}/включать? Может кто-то направить меня в правильном направлении?

Выход

Каталог, который должен содержать заголовки системы не существует:
в /tmp/ГХК-компиляции в/tmp/ГХК-компиляции/инструменты/включить
сделать[2]: *** [стмп-fixinc] Ошибка 1
сделать[2]: *** Жду незавершенные задания....
РМ НКУ.РМО
сделать[2]: оставляя каталоге `/tmp/и на GCC-компиляция/кросс-компиляции инструменты/ГХК - окончательной и gcc-4.8.3/НКУ-сборка/ССАГПЗ
сделать[1]: * * * ошибка [все-ССЗ] 2
сделать[1]: оставляя в каталог `/tmp/и на GCC-компиляция/кросс-компиляции инструменты/ГХК-окончательной и gcc-4.8.3/НКУ-сборка'
сделать: *** [все] Ошибка 2
+535
Leyon 6 мая 2016 г., 23:51:27

В последнее время я испытывал некоторые застывает в мой ноутбук (Асер Aspire в 11 сенсорный). Во всех случаях не было ни высоких нагрузок на кону, ни предполагаемые программы (Один раз я даже набрав по простой команды в терминале).

Проблема была суровая правда, с сайта тоже перестали отвечать, следовательно, решения в этих https://askubuntu.com/questions/4408 не применимы и я прибегла к выключите машину зверски.

Я сначала обвинил обновления с Ubuntu 14.04 до Ubuntu 16.04. Тем не менее, проблема сохраняется и после того, как понизил релиза 14.04. Я также заметил, что один рабочий стол работает на Ubuntu 14.04 никогда не застревал. Тогда выхода не преступник, казалось бы.

Две функции, которые я могу распознать общие для возникновения проблемы: это либо ноутбук, либо более новые ядра (ну или оба). Вопрос только представила себя с последним ядром 4.4.0-53-общие (независимо от распространения), в то время как машина со старым ядром 3.13.0-101-универсальный все хорошо.

Теперь, чтобы изолировать преступника, я могу загрузить ноутбук со старым ядром (3.19.0-77-общая) через загрузчик и посмотреть, если проблема появится снова. Однако, хотелось бы ускорить процесс изолирования, где слабое звено. Я мало времени и не могу поставить ноутбук на тест, а я использую его для работы. И замерзает, или может быть немного ситуативные...

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

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

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

И, желательно, это должен быть быстрый тест, и любой К пользователей мощность... иначе все это не стоит заморачиваться в первую очередь.

+487
rendername 29 мая 2017 г., 13:05:15

С помощью quickpkg команды, которая поставляется с портедж можно взять пакет атома, что соответствует установленным пакетом и создать бинарный пакет для него. Например:

$ судо помощью quickpkg системы девел/ССЗ
 * Формирование пакетов для системы девел/ГХК-5.4.0-Р3 ... [ ОК ]

 * Пакеты в/usr/волок/пакеты:
 * системы девел/ГХК-5.4.0-Р3: 53.9 м

Эта команда произвела в/usr/волок/пакеты/системы развития/ГХК-5.4.0-Р3.tbz2 по.

+462
Pradyumna Shinde 12 дек. 2018 г., 08:26:08

Вы можете расширить существующий ВГ с помощью следующей команды:

# vgextend rhel_p460a28 /Дев/vda4
+460
Reymark S Cruz 21 нояб. 2016 г., 13:43:05

здесь-то это может помочь вам попробовать ищу больше на веб...

на awk 'ФНР==шп{а[$2]=$3;Далее}{печати $0,а[$2]?а[$2]:"на"}' файл2 файл1
+424
YodaDaCoda 11 мая 2018 г., 22:38:36

Ваш вклад:

$ кот input.txt 
ABCæøåDEF
$ шестнадцатеричного представления -с input.txt 
00000000 41 42 43 С3 С3 С3 А5 А6 В8 44 45 46 0а |Азбука......Деф.|
0000000d

Один хороший способ мега опцией плюс в utf8:

$ Перл-кур-Mutf8 -ЧП 'с/([æøå])/[$1] input.txt /г' 
АБВ[æ][ø][å]деф
$ кот input.txt | Перл-кур-Mutf8 -ЧП 'с/([æøå])/[$1]/г'
АБВ[æ][ø][å]деф

Если вы не хотите использовать UTF-8 в командной строке, вы всегда можете написать ваш Perl-код в простой формат ASCII и использовать экранированные символы, такие как \xAB, \х{АБВГД}, или в новых Перлз \П{У+АБВГД} или \Н{CHARNAME}:

$ Перл-кур-ПЭ с/([\версии XE6\xF8\xE5])/[$1] input.txt /г' 
АБВ[æ][ø][å]деф
$ кот input.txt | Перл-кур-ЧП 'с/([\версии XE6\xF8\xE5])/[$1]/г'
АБВ[æ][ø][å]деф

Это немного творческий: @argv, которая будет интерпретироваться как UTF-8, так что вы можете сохранить ваш исходный код в ASCII и передать символы UTF-8 с помощью командной строки аргумент (не обязательно лучшее решение, просто показываю, как можно воспользоваться интернет -ка - вариант):

$ Перл-CSDA -ЧП 'начать{$Р=сдвиг;} с/($Р)/[$1]/г' '[æøå]' input.txt 
АБВ[æ][ø][å]деф
$ кот input.txt | Перл-CSDA -ЧП 'начать{$Р=сдвиг;} с/($Р)/[$1]/г' '[æøå]'
АБВ[æ][ø][å]деф

Или, Конечно, вы всегда можете превратить проявляющаяся в реальный сценарий, где вы можете

использование предупреждений;
использовать 5.012;
использовать utf8;
использовать открытый кя/:СТД :кодировке(UTF-8)/;
использовать charnames кя/:полное :короткий/;

Дополнительная литература: perlunitut, perlunifaq, perluniintro, perlunicode, perlunicook.

+356
David Bell 15 апр. 2017 г., 23:21:09

Мой нетбук происходит очень медленно, так что я пытался зайти в виртуальный терминал, чтобы увидеть, если я мог бы убить Firefox или еще что-то, что может закупоривать его. Я сделал это в tty2 и успешно вошел в "корень" на пригашение, но когда я нажмите Enter, я так и не получил пароля. Он просто сидел там вечность, а потом сказал:

Входа истекло время ожидания после 60 секунд.

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

+345
nashmarkt 9 окт. 2015 г., 12:37:10

С помощью IP-маршрут вам $ИС и ИС было установлено, что IP-адреса на самом деле не принадлежать к серверу под следствием, так что нет никакой тайны nginx на этом сервере, но на самом деле на сервере, что делает собственный IP-адрес.

+306
user3604814 18 авг. 2013 г., 10:08:05

Я нахожу это с помощью команды systemctl статус СШ, и я получаю доклад (мертвых). Мой сетевой вроде бы хорошо, как пинг 8.8.8.8 получает ответы. Где-то в Интернете я видел подобную проблему, где было предложено попробовать грэп накопитель sshd в /var/журнал/авт.журнал. Журналы на сегодняшний день являются следующие:

25 января 20:28:48 RTIBUSDock судо: корень : телетайп=неизвестно ; ФРД=/домой/скриптов ; пользователь=корень ; команда=выполнить/sbin/услуги по SSH запустить
25 января 20:28:49 RTIBUSDock министра внутренних дел Великобритании[580]: ошибка: привязку к порту 22 на 0.0.0.0 не удалось: адрес уже используется.
25 января 20:28:49 RTIBUSDock министра внутренних дел Великобритании[580]: ошибка: привязку к порту 22 на :: Ошибка: этот адрес уже используется.
25 января 20:28:49 RTIBUSDock министра внутренних дел Великобритании[580]: фатальная ошибка: не удается привязать любой адрес.
25 января 20:49:23 RTIBUSDock министра внутренних дел Великобритании[1255]: сервер прослушивает порт 0.0.0.0 22.
25 января 20:49:23 RTIBUSDock министра внутренних дел Великобритании[1255]: сервер прослушивает :: порт 22.
25 января 20:54:20 RTIBUSDock судо: корень : телетайп=ttySAC2 ; ФРД=/корень ; пользователь=корень ; команда=в/bin/systemctl включить SSH
25 января 20:54:30 RTIBUSDock накопитель sshd[1255]: принимаемого сигнала 15, оконечный.
25 января 20:56:04 RTIBUSDock судо: корень : телетайп=ttySAC2 ; ФРД=/корень ; пользователь=корень ; команда=в/bin/systemctl включить SSH.гнездо
25 января 21:00:52 RTIBUSDock накопитель sshd[1020]: сервер прослушивает порт 0.0.0.0 22.
25 января 21:00:52 RTIBUSDock накопитель sshd[1020]: Server прослушивает :: порт 22.
25 января 21:01:08 RTIBUSDock накопитель sshd[1020]: принимаемого сигнала 15, оконечный.
25 января 21:58:01 RTIBUSDock накопитель sshd[826]: сервер прослушивает порт 0.0.0.0 22.
25 января 21:58:01 RTIBUSDock министра внутренних дел Великобритании[826]: сервер прослушивает :: порт 22.

Это все началось после переезда загрузочного Тома (на SD карту) с одного компьютера на другой.

+291
singersasha 22 сент. 2019 г., 01:23:12

Действительно, это была линия окончаний Windows, что вызвало такое поведение. После запуска

СЭД $'с/\р//' -я файл1

Чтобы заменить их, вставьте работал, как ожидалось. Благодаря steeldriver для указывая мне в правильном направлении. Другим решением является использование

dos2unix файл1 
+270
Joo 8 авг. 2010 г., 11:50:37

Понятия операционной системы говорит

Рассмотрим последовательное чтение файла на диск с помощью стандартного системные вызовы Open () и прочитать () и записать(). Каждый файл Access требует системный вызов и доступ к диску.

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

Не могли бы вы проанализировать производительность файлы отображения памяти?

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

Как памяти карту файл есть значительное увеличение производительности по сравнению со стандартной системы ввода/вывода вызывает?

Спасибо.

+244
MasterBee 21 янв. 2010 г., 07:14:36

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

+208
MsLastLook 11 мая 2016 г., 06:52:07

Я ранее провел рабочую RAID 1 массива. Я думаю, что в результате выполнения жратвы-установить на /dev/СКБ и жратвы-установить на /dev/sdc на меня почему-то стерли мой компьютер на md0 и МД1.

Мне нужно установить их снова. Когда я пытаюсь создать md0 массив, я получаю следующее сообщение об ошибке.

/разработки# команды mdadm --создать устройство /dev/md0 --уровень=1 --RAID-массива-устройств=2 на /dev/sda1, поскольку отсутствует -Ф
адреса: устройство /dev/sda1, поскольку не подходит для любого стиля из массива

Кажется, как Debian думает, что диск уже есть в массиве, но это не так.

# команда fdisk -л

Диск как /dev/ПДД: 250.0 ГБ, 250000000000 байт
255 головок, 63 секторов/дорожку, 30394 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Размер сектора (логического/физического): 512 байт / 512 байт
Ввода/вывода размеры (минимальные/оптимальные): 512 байт / 512 байт
Идентификатор диска: 0x00000080

 Загрузочное Устройство Начало Конец Блоки ID Система
на /dev/sda1, поскольку * 1 30064 241489048+ ФД Линукс рейд автоопределение
на /dev/sda2 30065 30394 2650725 5 Расширенная
на /dev/sda5, поэтому 30065 30394 2650693+ ФД Линукс рейд автоопределение

# кошка /proc/mdstat 
Личности : [в RAID1] 
неиспользуемые устройства: <нет>

Редактировать: пожалуйста, не выход на гору. Это, кажется, показывают, md0 монтируется в /, но почему не появляться в прок/mdstat?

устройство /dev/md0 на / типом ext3 (RW,то ошибки=перемонтировать-РО)
файловая система tmpfs на /lib/init в/РВ типа файловая система tmpfs (RW,то с nosuid,режим=0755)
прок на /тип прок прок (РВ,с параметром noexec,с nosuid,nodev)
файловой системы sysfs в /sys тип файловой системы sysfs (RW,то с параметром noexec,с nosuid,nodev)
в udev на /файловая система tmpfs типа dev (РВ,режим=0755)
файловая система tmpfs в /dev/ГИМ тип файловая система tmpfs (RW,то с nosuid,nodev)
devpts на /dev/тип оч devpts (RW,то с параметром noexec,с nosuid,gid=, что 5,режим=620)

кот /труды/крепления 
файловой системы / корневой ФС в режиме RW 0 0
ни один файл /sys файловой системы sysfs RW,то с nosuid,nodev,с параметром noexec,режиме 0 0
нет в /proc proc и РВ,с nosuid,nodev,с параметром noexec,режиме 0 0
нет /Дев devtmpfs RW,в режиме,размер=4143896k,nr_inodes=204530,режим=755 0 0
нет устройства /dev/оч devpts RW,то с nosuid,с параметром noexec,режиме,гид=5,режим=620,ptmxmode=000 0 0
на /dev/sda1, поскольку и ext3 RW,в режиме,ошибок=перемонтировать-РО,данные=заказал 0 0
файловая система tmpfs в /lib/init в/РВ файловая система tmpfs RW,то с nosuid,режиме,режиме=755 0 0
файловая система tmpfs в /dev/ГИМ файловая система tmpfs RW,то с nosuid,nodev,режиме 0 0

файл -ы /Дев/СДА*
в /dev/ПДД: для x86 загрузочный сектор; Гранд-Единый загрузчик, файлы Stage1 версия 0х3, адреса 0x2000 stage2, stage2 сегмент 0x200; раздел 1: идентификатор=0xfd, активный, starthead 1, startsector 63, 482978097 секторов; раздел 2: ИД=0x5, starthead 254, startsector 482978160, 5301450 отраслям, код смещению 0x48, ОЕМ-ИД "м", байт/сектор 190, секторов на кластер 124, зарезервированных секторов 191, жиры 6, корневой записи 185, секторов 64514 (объем <=32 мм) Медиа дескриптор 0xf3, секторов/жир 20644, Главы 6, скрытых секторах 309755, секторов 2147991229 (Тома > 32 МБ) , физический диск 0x7e, Дос < 4.0 загрузочный сектор (0х0)
на /dev/sda1, поскольку: Линукс оборотов данных файловой системы 1.0 с ext3, идентификатор UUID=38daaa54-А108-4224-9104-016d5b4ee12c (необходим журнал восстановления) (большие файлы)
на /dev/sda2: загрузочный сектор архитектуры x86; раздел 1: ИД=0xfd, starthead 254, startsector 63, 5301387 секторов, расширенной таблице разделов (фамилия)\011, код смещения с 0x0
на /dev/sda5, поэтому: ОС Linux/i386 в файл подкачки (по новому стилю), Версия 1 (4к страниц), размер страниц 662655, без метки, идентификатор UUID=f635267e-37f8-43d0-сервере ad01-d25969570a8f

Дополнительная информация: мое время рабочего рейда было md0 мd1 и с приводами в SDB и SDC. Я побежал жратвы-установить команды. Несколько дней спустя, я попытался перезагрузить его, и я получаю следующее сообщение об ошибке (что я думаю соответствует md0)

Сдался ждем загрузки устройства
Оповещения на /dev/диск/на-русский/38[...] не существует

так что я выключил мой 2-й и 3-й HD и харч не мог загрузиться при установке на md0, так что я установить его на устройство/dev / sda1, поскольку и в таком состоянии моя машина в настоящее время.

для mdadm --сборка --сканирование -в-в
адреса: ищу устройства для /dev/md0
адреса: на /dev/sda5, поэтому имеет неправильный идентификатор UUID.
адреса: нет recogniseable суперблок на /dev/sda2
адреса: на /dev/sda2 имеет неправильный идентификатор UUID.
адреса: невозможно открыть устройство /dev/sda1, поскольку: устройство или ресурс занято
адреса: на /dev/sda1, поскольку имеет неверный идентификатор UUID.
адреса: невозможно открыть устройство /dev/ПДД: устройство или ресурс занят 
для mdadm: /Дев/СДА имеет неправильный идентификатор UUID.
адреса: ищу устройства для /dev/МД1
адреса: на /dev/sda5, поэтому требует неверное количество дисков.
адреса: нет recogniseable суперблок на /dev/sda2
адреса: на /dev/sda2 имеет неправильный идентификатор UUID.
адреса: невозможно открыть устройство /dev/sda1, поскольку: устройство или ресурс занято
адреса: на /dev/sda1, поскольку имеет неверный идентификатор UUID.
адреса: невозможно открыть устройство /dev/ПДД: устройство или ресурс занят 
для mdadm: /Дев/СДА имеет неправильный идентификатор UUID.


 sfdisk -д /Дев/СДА
# таблицы разделов /Дев/СДА
подразделения: секторы

на /dev/sda1, поскольку : пуск= 63, размер=482978097, ИД=ФД, загрузочный
на /dev/sda2 : пуск=482978160, размер= 5301450, ИД= 5
файл /dev/sda3 в качестве : пуск= 0, размер= 0, ИД= 0
на /dev/sda4 в : Пуск= 0, размер= 0, ИД= 0
на /dev/sda5, поэтому : пуск=482978223, размер= 5301387, ИД=ФД
+204
Maria Romao 5 апр. 2018 г., 23:59:57

Некоторые дополнительные примечания:

СЭД '/^[0-9].*[0-9]$/д'

Не удалить строки, содержащие одну цифру (даже если они начинаются и заканчиваются в цифру).

Также обратите внимание, что во многих местах, [0-9] соответствует более чем 0123456789 цифр. Если вы хотите, чтобы соответствовать только на эти, вам понадобится [0123456789] или [[:цифра:]].

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

кошка - это команда для сцепления. Вряд ли имеет смысл объединить в один файл.

Вот для решения всех этих и игнорировать любые начальных и конечных символов (как в МС-Дос трейлинг перевозки возвращается в свой вход), вы могли бы сделать:

<файл.тхт.в grep -е '^[[:пробел:]]*[^[:цифра:][:пробел:]]' \
 -е '[^[:цифра:][:пробел:]][[:пробел:]]*\$' 
 -е '^[[:пробел:]] файл*$' >.тхт.из

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

Или:

<файл.тхт.в грэп -ЧХ '[[:пробел:]]*[[:цифра:]]\(.*[[:цифра:]]\)\{0,1\}[[:площадь:]] файл*' >.тхт.из

Или же с Эрэс:

<файл.тхт.в грэп -vxe все '[[:пробел:]]*[[:цифра:]](.*[[:цифра:]])?[[:пробел:]] файл*' >.тхт.из

То есть, фильтр из) строки, начинающиеся с цифры необязательно следует остальное линии, оканчивающиеся на цифру, позволяя пробельные символы в начале и Нэд.

Те, однако, не в состоянии удалить строки 8хх<несимвольные>yy8 , где <несимвольные> - это последовательность байтов, которые не образуют допустимый символ в текущей локали. Но в любом случае, вы не можете ожидать много переносимым для такой линии, которая не является допустимым текст.

+204
Andrew Clifford 8 авг. 2019 г., 01:06:52

Отличный инструмент для обработка текста - на awk. В следующем примере используется обычный стандарт на awk на FreeBSD 11.1. @RomanPerekhrest имеет элегантное решение в другой ответ, если вы предпочитаете для GNU awk и.

Ваш вклад, разделенных запятыми. Из-за этого мы ссылаться на awk с -Ф, параметр.

Мы можем затем распечатать столбцы с помощью печати заявление. $1 - первый столбец. $2 - второй столбец.

$ на awk -Ф '{ печати $8 }' входной_файл.КШМ
2017-1-5 1:07:09
2017-11-25 19:57:17

Это дает нам 8-го столбца для каждой строки.

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

$ awk и начинается { ФС = "," } ; { печать 8$} ' входной_файл.КШМ
2017-1-5 1:07:09
2017-11-25 19:57:17

При работе с датами я часто предпочитаю использовать дата утиль, чтобы убедиться, что я правильно их обрабатывать. И мне не нужно беспокоиться, если я использую регулярные или GNU awk и. Кроме того я жирная неудачница, если дата не правильно парсить.

Интересный параметр:

-Джей задавать мы не хотим, чтобы установить дату на всех
-Ф формат строки, который мы используем для ввода
+ Строка формат мы используем для вывода

Так что если мы сможем выполнить за один день:

$ дата - "й-ф" "%г-%м-%д %ч:%м:%с" +"%г-%м-%д %ч:%м:%ы" "2017-1-5 1:07:09"
2017-01-05 01:07:09

Тогда мы можем совместить это с awk. Обратите внимание, как цитаты сбежал. Это, наверное, самый большой камень преткновения для новичка.

$ на awk -Ф '{ системы("дата -" й-ф " \"%г-%м-%д %ч:%м:%с\" +\"%г-%м-%д %ч:%м:%ы\" \""$8"\"")}' входной_файл.КШМ
2017-01-05 01:07:09
2017-11-25 19:57:17

Системный вызов выглядит правильно, но, к сожалению, это только позволит нам захватить код возврата и он печатает сразу на выход. Чтобы избежать этого, мы используем команду cmd | Гэтлину шаблон. Следующий простой пример будет читать текущую дату в mydate:

$ на awk 'начать { ЦМД = "дата"; УМК | Гэтлину mydate; закрыть(УМК); печать mydate }'
Чт Мар 1 16:26:15 сет 2018

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

Итак, давайте расширять эту:

на awk 'начать { ДФ=","; ОФС=ФС };
 { 
 КМД = "даты -й-ф \"%г-%м-%д %ч:%м:%с\" +\"%г-%м-%д %ч:%м:%ы\" \""$8"\"";
 УМК | Гэтлину firstdate;
закрыть(УМК);
 КМД = "даты -й-ф \"%г-%м-%д %ч:%м:%с\" +\"%г-%м-%д %ч:%м:%ы\" \""$9"\"";
 УМК | Гэтлину seconddate;
закрыть(УМК);
 печать $1,$2,3$,$4,$5,$6,$7,firstdate,seconddate
 }' входной_файл.КШМ

И мы можем свернуть в один-лайнер:

на awk 'начало {ФС=",";ОФС=ФС};{ЦМД="даты -й-ф \"%г-%м-%д %ч:%м:%с\" +\"%г-%м-%д %ч:%м:%ы\" \""$8"\"";УМК | Гэтлину firstdate;закрыть(УМК);КМД="даты -й-ф \"%г%м-%д %ч:%м:%с\" +\"%г-%м-%д %ч:%м:%ы\" \""$9"\"";УМК | Гэтлину seconddate;закрыть(УМК);печать $1,$2,$3,$4,$5,$6,$7,firstdate,seconddate}' входной_файл.КШМ

Что дает мне этот выход:

1111,2222,3333,4444,5555,6666,7777,2017-01-05 01:07:09,2017-01-05 01:11:53
1111,2222,3333,4444,5555,6666,7777,2017-11-25 19:57:17,2017-11-25 19:58:54

Добавление

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

функции convertdate на awk '(the_date) {
 КМД = "даты -й-ф \"%г-%м-%д %ч:%м:%с\" +\"%г-%м-%д %ч:%м:%ы\" \""the_date"\"";
 УМК | Гэтлину formatted_date;
закрыть(УМК);
 возвращение formatted_date
}
 НАЧАТЬ { ДФ=","; ОФС=ФС };
 { 
 печать $1,$2,3$,$4,$5,$6,$7,convertdate($8),convertdate($9)
 }' входной_файл.КШМ

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

+188
Rob Murline 16 янв. 2011 г., 14:28:11

Это возможно в ЗШ, и в самом деле легко благодаря прямой доступ к заданию параметров, предусмотренных ЗШ/параметр модуль. Вы можете использовать номер задания или любое задание спецификация (%+, %-, %фу, и т. д.) в качестве индекса в массиве.

параметр zmodload ЗШ/
fgcd () {
 локального dir=$jobdirs[${1:-%+}]
 # Если jobspec совпадают, тогда звоните компакт-диска. В противном случае это, вероятно, плохая
 # спец задание, но называть ФГ в любом случае, чтобы получить обычное сообщение об ошибке.
 если [[ -N $в Реж ]]; затем CD $Дир; интернет
 ФГ $1
}

Баш также отслеживает информацию, но я не думаю, что его откроют. На некоторых системах вы можете получить текущий рабочий каталог процесса работы и переключиться на него. Например, на Linux, в/proc/$PID в/Дов является символической ссылкой на то, что процесс в рабочем каталоге.

fgcd () { # Linux только
 местные пид=$(вакансии-П $1)
 если [[ -n $с ПИД ]]; затем CD в /proc/$PID в/Дов; интернет
 ФГ $1
}

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

fgcd () { # Linux только
 местные пид=${${${jobstates[${1:-%+}]}#*:*:}%\=*}
 если [[ -n $с ПИД ]]; затем CD в /proc/$PID в/Дов; интернет
 ФГ $1
}
+175
mussolini 17 нояб. 2014 г., 09:07:23

У меня нет глубокого понимания SSH и я немного озадачен о связи между /дома/ХХХ/.СШ/если вы и файл/etc/СШ/ssh_known_hosts файлов.

Может кто-нибудь объяснить это?

+152
Daniel Bidwell 13 дек. 2015 г., 23:03:07

Я пытаюсь заменить по умолчанию в Windows 10 установка Linux на этот гибридный планшет.

Что я пробовал

Сначала я пробовал с Ubuntu 18.04, пустой экран, я думал о том, чтобы начать изменения параметров KMS, но я читал, что арки (и производные) лучше поддерживается, так что я угробил Убунту и перешел на Manjaro.

Manjaro не работало из коробки и я сразу же наткнулись на пустой экран, так что я начал ковыряться с настройками км, сначала я поменял все modesets до 0 (для Radeon, модерн, i915) изменение i915.modeset=1 в 0 мне помогло избавиться от черного экрана в пользу искаженный текст на экране (так же как nomodeset очевидно), я также пробовал добавлять некоторые другие i915 такие параметры, как: i915.alpha_support=1, i915.enable_guc=3, и т. д.

В этот момент я понял, что я мог бы иметь дело с какой-то драйвер проблемы, поэтому я перешел на Intel подгонянный ясный Линукс , который привел меня в то же состояние снова (начиная без каких-либо изменений приводит к пустой экран, искаженный с nomodeset).

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

Какие флаги я

Для того, чтобы активировать основной фреймбуфер (я не уверен насчет веса) параметры я применил nomodeset а после экран повернется, мне пришлось использовать fbcon=поворот:1, Эти 2 варианта в совокупности привели искаженный текст, который частично читается (это, как я понимаю, текст был повернут).

Дополнительные функции км я использовал, но, вероятно, не имели никакого эффекта:

  • gfxmode=(различных комбинациях), в том числе переключение между шириной и длиной
  • gfxpayload=текст|видеокарты|держать

Даже если произошло небольшое изменение это очень трудно заметить.

Компания Lenovo D330 имеет несколько моделей, из того что я понял модель я использую это Miix D330-10igm 81h3 (как написано на нижней части, где разъем клавиатуры).

Видеокарта предположительно Интел UHD с 630 (который является причиной, я пытался включение GUC в первую очередь и пройдя все испытания с четкими Линукс).

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

Изображения, показывающие неверного отображения после входа

Должен быть Начальный свод строки: Garbled/distorted display after trying the KMS options I mentioned

+48
Gunnar Cheng 7 февр. 2018 г., 05:52:05

Все:

Как мы используем СЭД для фильтрации строк по двум критериям?

профпригодность -в шоу '?наименование(грэп)' | для egrep --цвет=всегда "^|грэп" | Е\С/^(пакет: .*\)$/\на сайте x1b[33;1м\1\на сайте x1b[0м/'

В приведенном выше, что я пытаюсь сделать, это сначала использовать grep, чтобы цвет любые найденные совпадения моего строке поиска ('команда grep' в этом примере), а потом цвет все пакета: ...' заголовок строки в выходной профпригодность желтый. Однако если какой-либо пакет: ... линия ранее имела красный цвет добавил ему для egrep ... команду, что происходит что линия начинается желтый, обращенные к Красной нашли 'команда grep' строки, а затем возвращается к нормальному цвету, когда '\Е[0 млн' находится (как я ожидал).

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

ООО "С\на сайте x1b\[[0-9;]*[а-Яа-я],,Г"

... будет вырезать коды, но мне нужно только запустить, что на строки, начинающиеся с 'пакета: ....'. Что за заклинание? Или, может ли быть более элегантный способ сделать это?

+27
grayfolk 2 июл. 2019 г., 07:30:17

Я считаю, что это проблема из-за https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848686 где '-Х' был добавлен к установить крючки.

Мне удалось обойти это путем обновления postfix для версии 2.11.3-1+deb8u2 от Джесси (старый стабильный), и то с натяжкой (стабильный).

+20
thynes 4 нояб. 2013 г., 18:21:13

Я пытался скомпилировать libnetfilter_conntrack источник, из GitHub как это было предложено в iptables при компиляции в iptables и как любой из них не были доступны в Hurd программного обеспечения РЕПО и в конечном итоге в ошибка при настройке libnetfilter_conntrack

проверка зачистки библиотеки можно... да
проверки, если libtool не поддерживает разделяемые библиотеки... да
проверяют ли построить разделяемые библиотеки... да
проверяют ли построить статические библиотеки... нет
проверка ЛН -с работы... да
настроить: ошибка: только Linux, чувак!

и моего ядра,

$ команды uname -а
Дебиан ГНУ ГНУ 0.9-Мах 1.8+git20190109-486/Герт-0.9 i686 в-AT386 ГНУ

и моя конечная цель заключается в компиляции такие как iproute2.

+12
Erik Martellani 24 сент. 2019 г., 11:37:49

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