Как распаковать сжатый tar с помощью cpio в определенный каталог

Думаю, :Что-то еще использует вашу карту при загрузке до запуска Pulseaudio. Поскольку ALSA разрешает использовать аппаратное устройство только одному процессу, Pulseaudio определяет, что устройство используется, и поэтому не требует его.

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

Проверка :Используйте aplay -D hw:X some_wav_file.wav, где X— текущий присвоенный номер карты, которая не отображается (возможно 0, если у вас есть программа, которая требует первое устройство ). Если вы получаете сообщение об ошибке, значит его использует что-то другое.

Вы можете использоватьlsof /dev/snd/pcm*(как root )или что-то подобное, чтобы узнать, какой процесс использует устройство.

0
18.08.2020, 15:51
1 ответ

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

Обратите внимание, что cpio -oзаписывает архив формата cpio-, а не формата tar-. Вы должны использовать cpio -o -H tarдля файла формата tar-.

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

.
zcat /app/patchbkp/test/REDHAT_jboss-eap-7.2_18-Aug-2020.tar.gz | cpio -it

Вместо этого я бы рекомендовал эти варианты ваших команд

( cd / && find app/jboss -not -name "*.err" -not -name "*.log" | cpio -o -H tar ) | gzip >/app/patchbkp/test/REDHAT_jboss-eap-7.2_18-Aug-2020.tar.gz

или даже напрямую используйте GNU tar, если он у вас есть

tar -C / -f /app/patchbkp/test/REDHAT_jboss-eap-7.2_18-Aug-2020.tar.gz -cv --exclude '*.log' --exclude '*.err' app/jboss
1
18.03.2021, 23:11

Теги

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