Tuve este problema y se resolvió instalando libz -dev:
sudo apt-get install libz-dev
Esto está relacionado con el último error que tuviste(configure: error: *** zlib.h missing - please install first or check config.log ***
). No sé por qué tiene advertencias, pero pueden solucionarse reinstalando (o instalando )libz -dev.
Encontré la solución aquí:https://stackoverflow.com/a/38277221/4215651
Создайте отдельный каталог для воспроизведения (в основном для удобства очистки позже); При этом используется значение $TMPDIR
, если оно задано, в противном случае /tmp
:
mkdir "${TMPDIR-/tmp}/testing"
cd "${TMPDIR-/tmp}/testing"
Создайте файлы, которые являются отдельными, но выглядят похожими друг на друга из-за пробелов (пробел, табуляция, новая строка, возврат каретки, backspace):
touch -- a b 'a ' 'b ' 'a b' 'a b' $'a\bb'
touch -- a$'\xe2\x80\x82'b a$'\xe2\x80\x83'b a$'\t'b a$'\n'b a$'\r'b
Кредит за вышесказанное на Patrick. Два шестнадцатеричных кода являются разделителями пространства UTF-8, известными как nut и mutton; «В двунаправленном контексте он действует как белое пространство и (не является) зеркальным. Глиф(ы) может, при определенных обстоятельствах, путать с 20 другими глифами».
Создайте простой файл, который расширялся бы до первого, если бы он рассматривался как глобус:
touch -- x '[x]'
Кредит за вышесказанное Wumpus Q. Wumbley.
В аналогичном ключе:
touch -- 'a?b' 'a*b'
Заслуга в вышесказанном dave_thompson_085 в комментариях здесь.
touch -- foo\`echo\ malicious\`bar
Заслуга в вышесказанном godlygeek.
Имя файла, которое будет расширяться до чего-то другого (и потенциально произвольного выполнения!) при вычислении в контексте оболочки:
touch '$( echo boom )'
Use:
touch -- single\'quote double\"quote back\\slash
, чтобы уловить попытки поместить имя файла в кавычки без экранирования кавычек.
touch -- -a -b -c -r -R - a=x
Заслуга в вышесказанном принадлежит Стефану Шазеласу.
Создайте именованный канал и символьную ссылку (для создания файлов, которые не являются «обычными»)
mkfifo fifo
ln -s a alink
Создайте подкаталоги с различными пробелами, включенными в их имена, вместе с файлами маркеров внутри них:
mkdir subdir "subdir 1" "subdir 2" "subdir 3 " subdir$'\n'4
touch subdir/file0 "subdir 1"/file1 "subdir 2"/file2 "subdir 3 "/file3 subdir$'\n'4/file4
Создавайте имена файлов, содержащие только *
(возможно, проблематично удалить), имя файла, состоящее только из (обычного!) пробела, мертвая символьная ссылка, символическая ссылка, которая зацикливается на себе, и подкаталог со ссылкой на родительский каталог:
touch -- '*' '**' '***' ' '
ln -s /does/not/exist dead
ln -s loop loop
mkdir subdir_with_link
(cd subdir_with_link && ln -s .. parent)
More misc filenames. Последние два являются юникодом для «дробной косой черты» и «разделительной косой черты».
touch -- '(' '!' '!!' $'\xe2\x81\x84' $'\xe2\x88\x95'
Идеи Скотта:
touch -- '-' '--' ';' '&' '|' '<' '>' '$' ')' '{' '}' = \\ '!' '#' '{a,b}'
Символы, которые безвредны в одних локациях, но опасны в других:
touch $'X\xa0Y' # non-breaking space in iso8859-1 which is considered
# "blank" and "space" in some locales
touch $'\xa3\x5c' $'\xa3\x60' # α and ε in BIG5 or BIG5-HKSCS charset, but
# �\ and �` in ASCII
Символы, которые сортируются одинаково в некоторых локалах:
touch ① ② # sorts the same in GNU locales, order non-deterministic.
Файлы, которые не соответствуют . [!.] * *
glob (иногда используется для расширения как скрытых, так и нескрытых файлов):
touch ..foo ...