Как я могу вручную загрузить пакет моментальных снимков? Например, с помощью wget?

Предположим, что каждая страница начинается с^L(литерала Ctrl+L):

awk '/^L/ { p++ } (p-1) % 500 == 0 { f = FILENAME "-page-" p ".txt" } { print > f }' file.txt

Это будет подсчитывать строки с ^L, и если количество минус 1 составляет 500 (страница 1, страница 501, страница 1001 и т. д. ), переменная fбудет установлена ​​в имя файла. для вывода следующего текста.

^Lв коде awk— это не два символа ^и L, а литерал Ctrl+L(вы можете ввести это с Ctrl+VCtrl+L). Вы также можете использовать \014вместо этого.

Для небольшого тестового документаtest.txt:

^L
page 1
^L
page 2
^L
page 3
^L
page 4

... и изменив 500 на 2 для тестирования, это создает два файла, test.txt-page-1.txtи test.txt-page-3.txt, каждый из которых содержит две строки (маркер страницы и текст )из входного файла.

test.txt-page-1.txt:

^L
page 1
^L
page 2

test.txt-page-3.txt:

^L
page 3
^L
page 4

Файлы, которые должны быть проанализированы, по-видимому, имеют заголовок перед маркером первой страницы. Этот заголовок следует игнорировать. Следующий вариант приведенной выше команды awkделает это:

awk '/^L/ { p++ } (p-1) % 500 == 0 { f = FILENAME "-page-" p ".txt" } p > 0 { print > f }' file.txt

Ограничивая вывод до тех пор, пока pбольше нуля,мы требуем, чтобы хотя бы один маркер страницы был проанализирован, прежде чем что-либо выводить.

0
03.01.2020, 08:33
2 ответа

Snap-пакеты не предназначены для загрузки вручную, поэтому это довольно сложно. Я нашел это на стороне Ubuntu StackExchange.

Как не -пользователь root, вы можете использовать curlдля получения всей информации о пакете:

curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/chromium >> chromium.info

Если вам нужен другой пакет, просто замените chromiumдругим именем пакета. Предыдущая команда скопирует всю информацию о пакете в файл chromium.info. Если в вашей системе установлен процессор JSON, такой как jq, вы можете передать результат curlв jqс помощью

curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/chromium | jq

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

{
    "channel": {
    "architecture": "arm64",
    "name": "edge",
    "released-at": "2019-12-21T08:18:39.959452+00:00",
    "risk": "edge",
    "track": "latest"
    },
    "created-at": "2019-12-21T08:16:39.600827+00:00",
    "download": {
    "deltas": [],
    "sha3-384": "92c0824bfc8c136a2b8179fcdd14647f7174dd3103397e107b0100decc1ac8b29eb22fbba61949a4e1fdf1a282f2a8e0",
    "size": 144859136,
    "url": "https://api.snapcraft.io/api/v1/snaps/download/XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R_985.snap"
  },
  "revision": 985,
  "type": "app",
  "version": "80.0.3987.16"
},

и теперь вы можете wgetуказать указанный URL для загрузки файла пакета.

3
28.01.2020, 02:38

Вы можете загрузить моментальные снимки с помощью snap download (snapname), которые получат последний файл моментальных снимков стабильной версии и файл утверждения. После загрузки вы можете установить с помощью snap ack (file.assert)и snap install./file.snap.

0
28.01.2020, 02:38

Теги

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