В FreeBDS 12 нет пакета nosh
. Вместо этого просто запустите dbus-uuidgen --ensure
и скопируйте сгенерированный идентификатор :cp /var/lib/dbus/machine-id /etc/machine-id
. Затем startkde
запускает плазменный kde.
Сначала следует просто клонировать репозиторий с помощью git
, тогда будет проще сравнивать выпуски. Это выходит за рамки данного вопроса/ответа.
Я представляю два метода :веб-подход -и специальный подход GitHub с использованием API:
Вот быстрый -n -грязный -лайнер (разбитый здесь на несколько строк для удобства чтения ), требующий w3m
, awk
, xargs
и curl
. Этот специальный сценарий, вероятно, не предназначен для использования в каких-либо автоматизированных системах.
w3m
для форматирования содержимого страницы со всеми ссылками в конце, awk
для извлечения только ссылок, содержащих строку /releases/download/
и заканчивающихся на .tar.gz
в их URL, xargs
для преобразования вывода в параметры командной строки для передачи в curl
, чтобы загрузить их. Это даже подходит для n параллельных загрузок, если добавить -P n
кxargs
:.
w3m -o display_link_number=1 -dump https://github.com/GloriousEggroll/proton-ge-custom/releases |
awk '$1 ~ /\[[0-9]+\]/ && $2 ~ /\/releases\/download\/.*\.tar\.gz$/ { print $2 }' |
xargs -n 1 curl -JRLO
Вставка echo
перед curl
для предотвращения фактической загрузки приводит к этому:
curl -JRLO https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.10-GE-1/Proton-6.10-GE-1.tar.gz
curl -JRLO https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.9-GE-2-github-actions-test/Proton-6.9-GE-2-github-actions-test.tar.gz
curl -JRLO https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.9-GE-2/Proton-6.9-GE-2.tar.gz
curl -JRLO https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.9-GE-1/Proton-6.9-GE-1.tar.gz
curl -JRLO https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.8-GE-2/Proton-6.8-GE-2.tar.gz
curl -JRLO https://github.com/GloriousEggroll/proton-ge-custom/releases/download/6.8-GE-1/Proton-6.8-GE-1.tar.gz
примечание :опция -o display_link_number=1
на самом деле не документирована, но появляется в качестве примера на справочной страницеw3m
.
Это будет ограничено содержимым первой страницы, поэтому не все загрузки будут доступны. Поскольку ссылка на следующую страницу требует знать содержимое (, в частности последний отображаемый выпуск на странице ), обработка этого будет слишком сложной.
Лучше использовать...
Существует GitHub API, относящийся к выпускам , который не требует каких-либо учетных данных для этой задачи и выводит результаты в формате JSON, подходящем для обработки скриптов с помощью jq
(, который обычно доступен в виде дистрибутива. ). Для этого требуются curl
, xargs
, jq
. jq
будет отображать URL-адрес загрузки для каждого имени ресурса, оканчивающегося на .tar.gz
. (Изучение исходного curl дампа с помощью | jq.
позволяет найти полезные части ).
curl -H 'Accept: application/vnd.github.v3+json' 'https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases' |
jq -r '
.[].assets[] | if.name | endswith(".tar.gz") then
.browser_download_url
else
empty
end' |
xargs -n 1 curl -JRLO
Вставка echo
перед последним curl
даст тот же результат, что и в первом методе, за исключением того, что их будет 30 вместо ~6.
Как описано в API , на _страницу по умолчанию равно 30. Добавление к URL-адресу ?per_page=XX
может дать до 100 результатов. Для большего размера потребуется цикл с дополнительным параметром &page=Y
и определением его окончания.