Параллельный запуск команд curl с помощью xargs с вводом данных из csv

Вот авторитетный ответ Марека Марчиковски-Гурецкого (Лаборатория невидимых вещей), который один основных разработчиков ОС Qubes. Источник - форум пользователей qubes , где я изначально задал вопрос.

Это основная проблема - вы пытаетесь загрузить устаревшую систему (здесь Qubes ) из UEFI grub (Fedora).Вам нужно выбрать один из них - либо загружать оба в устаревшем режиме, либо оба в режиме UEFI (или изменять настройки BIOS при каждой загрузке ...). Итак, один из вариантов - установить Fedora в устаревшем режиме - тогда достаточно будет поместить устаревшую загрузочную запись Qubes в 40_custom (как вы это сделали).

Qubes также можно загружать из UEFI, но для этого требуется другая конфигурация . И в большинстве случаев Grub не упрощает задачу ... В любом случае вы можете попробовать:

  1. Найдите xen-4.6.0.efi - он должен быть установлен в / boot / efi / EFI / qubes / . Поместите его в системный раздел EFI (если / boot / efi там еще нет).

  2. Создайте xen.cfg в том же каталоге с таким содержанием:

    [global] default = 4.1.13-8.pvops .qubes.x86_64

    [4.1.13-8.pvops.qubes.x86_64] options = loglvl = all kernel = vmlinuz-4.1.13-8.pvops.qubes.x86_64 root = / dev / dm-2 vconsole.font = latarcyrheb-sun16 rd.lvm.lv = qubes_dom0 / root ramdisk = initramfs -4.1.13-8.pvops.qubes.x86_64.img

    Настройте версию ядра, параметры root = и rd.lvm.lv =.

  3. Убедитесь, что файлы ядра и initramfs находятся в том же каталоге, что и xen.cfg (скорее всего, вам нужно будет скопировать их из / boot). Крайне иметь их в системном разделе EFI (даже если Grub может загружать их из других мест).

  4. Добавьте запись grub:

    menuentry 'Qubes UEFI' { chainloader /EFI/qubes/xen-4.6.0.efi }

Для устранения неполадок см. Здесь: { {1}} https://www.qubes-os.org/doc/uefi-troubleshooting/ https: // github.com / QubesOS / qubes-issues / issues / 794

3
01.11.2018, 23:34
2 ответа

Мне кажется, что вам придется создавать команды curlи затем передавать их в xargs:

awk -F, '{print "curl '\''" $4 "'\'' > '\''" $1".jpg'\''"}' < input.csv | xargs -P2 -I {} sh -c '{}'

Команда выглядит немного некрасиво, потому что я заключил в одинарные кавычки URL-адрес и порядковый номер/имена файлов на случай, если в них есть какие-либо специальные символы оболочки -, (, например.&).

1
27.01.2020, 21:25

ЕСЛИ Скотт может использовать один из предложенных способов получить GNU Parallel https://oletange.wordpress.com/2018/03/28/excuses-for-not-installing-gnu-parallel/, тогда это может сработать:

parallel --colsep, 'curl {4} > {1}.jpg' :::: input.csv
2
27.01.2020, 21:25

Теги

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