Дамп ядра сгенерирован, когда программа перестала работать с неожиданными результатами. Вышеупомянутое говорит Вам отказавшую команду и копия программы, которая была в памяти, обработал abrt демоном (команда /usr/libexec/abrt-hook-ccpp
). Можно затем использовать инструменты такой как gdb
отлаживать отказ.Примечание: gdb не для малодушного!
Довольно часто это результат плохо написанного кода (он должен обработать исключения немного лучше), из проблем памяти, или базовые проблемы, такие как команда были связаны с определенной библиотекой динамической нагрузки, которая была теперь изменена, и программа катастрофического отказа больше не может использовать его в способе, которым он ожидает.
От этой страницы существуют детали о том, что процесс Abrt, и как это обрабатывает ядра.
Когда “abrtd” работает, значение sysctl переменного “ядра core_pattern” отличается от вышеупомянутого как показано ниже:
$sysctl-a|grep core_pattern ядро core_pattern = |/usr/libexec/abrt-hook-ccpp/var/cache/abrt %p %s %u %c
“abrtd” создает подкаталог (назвал что-то как “ccpp-1279914365-14618 ″) в каталоге “/var/cache/abrt” как показано в значении переменной. Это также означает, что базовые файлы будут также храниться в том подкаталоге в “/var/cache/abrt” каталоге (в дополнение к текущему каталогу, где приложение было запущено). Демон ABRT также создает другие файлы в дополнение к файлам дампа ядра в подкаталоге для дальнейшей помощи пользователям в отладке проблемы катастрофического отказа.
Попробуйте:
find . -type f -name "*.txt" -printf '%h\n' | sort | uniq
Это работает следующим образом:
найти . -тип f - имя "*.txt" -printf '%h\n'
- найдите все файлы, которые заканчиваются на *.txt
и распечатайте его каталог (%h
) с последующей новой строкой.
| sort
- сортируйте каталоги
| uniq
- удаляйте дубликаты
Это должно работать на вас:
find . -iname "*.txt" -exec dirname {} \; | sort | uniq
Эти находят
+ , должностное лицо
получит имена каталогов всех *.txt файлов, , sort|uniq
получит вас уникальное такие каталоги.
код, совместимый с POSIX, который должен работать для любого имени файла :
find . -name '*.txt' -printf '%h\0' | tr '\0\n' '\n\0' | sort -u | tr '\0\n' '\n\0'
с GNU Найти
и Bash
find . -type d -exec bash -c \
$'for f; do find \"$f\" -maxdepth 1 -type f -name \'*.txt\' -printf \'%h\\n\' -quit; done'\
_ {} +
На Ubuntu следует использовать adduser
вместо useradd
(см. man useradd
).
Ubuntu useradd
не имеет, например, опции -n
.
adduser
создает нового пользователя группы с именем пользователя в качестве группы по умолчанию:
adduser --no-create-home --home "/home/$homedir" "$uname"
Программа запрашивает пароль и информацию GECOS . Если запрос - это не то, что вы хотите, вы можете сделать по:
adduser --no-create-home --home "/home/$homedir" --disabled-password --gecos "$realname" "$uname" ; usermod -p "$passwd" "$uname"
Пароль должен быть результатом crypt ()
(человек 3 crypt) и может быть создан на командной строке с помощью:
passwd=$(mkpasswd -m sha-512 plaintextpassword mysalt78)
(соль должна быть длиной 8-16 символов).
start Во время эксперимента используйте userdel «$ uname»
для удаления учетной записи из /etc/passwd
, /etc/shadow
и /etc/group
за один раз.
awk
эквивалент для perl
one-liner:
apt-rdepends -dr systemd |
awk -F\" '/->/{print $2,c[$2]=$4" "c[$4]}' |
grep '^monodevelop'
-121--105563- Проблема может заключаться в том, что имена каталогов могут содержать новые строки, поэтому вывод из поиска должен быть прерван NUL. Чтобы получить читаемый выходной канал, можно определить результат сортировки tr
:
find . -name "*.txt" -printf '%h\0' | sort -zu | tr '\0' '\n'
Любая новая строка в имени каталога, вероятно, будет определена путем просмотра следующей строки, если она начинается с ./
Она не была новой линией в каталоге.