Начальная версия скользящих релизов

Один вариант с Python находится в Memory-map файл и воспользоваться тем, что библиотека регулярной экспрессии Python может работать непосредственно с отображенными памятью файлами. Хотя это появляется появление запущенных циклов в файле, сопоставление памяти гарантирует, что ОС оптимально приносит доступную физическую память в Play

import mmap
import re
with open('test.file', 'rt') as f1, open('test.file') as f2:
    with mmap.mmap(f1.fileno(), 0, flags=mmap.MAP_SHARED, access=mmap.ACCESS_READ) as m1,\
        mmap.mmap(f2.fileno(), 0, flags=mmap.MAP_SHARED, access=mmap.ACCESS_READ) as m2:
        for line1 in re.finditer(b'.*?\n', m1):
            for line2 in re.finditer(b'.*?\n', m2):
                print('{} {}'.format(line1.group().decode().rstrip(),
                    line2.group().decode().rstrip()))
            m2.seek(0)

попеременно быстрое решение в Python, хотя эффективность памяти все еще может быть заботой

from itertools import product
with open('test.file') as f:
    for a, b  in product(f, repeat=2):
        print('{} {}'.format(a.rstrip(), b.rstrip()))
Row1,10 Row1,10
Row1,10 Row2,20
Row1,10 Row3,30
Row1,10 Row4,40
Row2,20 Row1,10
Row2,20 Row2,20
Row2,20 Row3,30
Row2,20 Row4,40
Row3,30 Row1,10
Row3,30 Row2,20
Row3,30 Row3,30
Row3,30 Row4,40
Row4,40 Row1,10
Row4,40 Row2,20
Row4,40 Row3,30
Row4,40 Row4,40

-121-12- --31384-

В случае, A = $ B Вы назначаете значение переменной b на A . В случае в случае A = B Вы назначаете A значение литеральной строки « B »

E.g. B = 10 , теперь предположим, что вы хотите назначить A одинаковое значение, что и B . Вы можете сделать одно из следующих действий:

a=$b

или

a=10

0
21.08.2018, 03:50
2 ответа

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

Но как сказал Базиль , зло в деталях. Arch wiki рекомендует делать регулярные обновления , в основном, чтобы избежать множества ручных вмешательств одновременно на разных пакетах.

В большинстве случаев, когда вы обновляете систему, все будет работать как шарм. Но для того, чтобы получить настоящий беспорядок, нужно всего несколько хитрых обновлений (таких как systemd/SysV) из сотен. И шанс получить такие обновления растет с возрастом системы, которую вы обновляете.

Итак, может быть, начиная с ежемесячной системы, она будет отлично работать, но я не понимаю, как рисковать, чтобы потерять время, делая скучные вещи, чтобы заставить вещи работать, когда вам просто нужно загрузить свежее изо, чтобы значительно снизить этот риск.

1
28.01.2020, 02:50

Arch Linux периодически выпускает образ установщика. Программа установки Arch, в отличие от программы установки Debian, всегда устанавливает или пытается установить самую новую версию Arch, независимо от «версии» установщика (при условии, что установщик был недавно выпущен за последние несколько лет). Установщик Arch загружает новейшие версии пакетов из репозиториев Arch, и поэтому независимо от того, какую версию установщика вы используете, вы получите идентичную систему.

Программа установки Debian устанавливает определенную версию дистрибутива. Обновление, например, старой стабильной версии на стабильную, теоретически должно дать вам идентичную систему, но могут быть различия в установленных пакетах по умолчанию. Также могут быть несовместимости в способах обновления, хотя команда Debian пытается избежать этих проблем. Использование установщика Debian для стабильной, но слегка устаревшей версии, скорее всего, приведет к установке основных пакетов из образа установщика. В зависимости от типа установщика он может установить все пакеты из образа или самые последние пакеты из стабильного репозитория. После установки вы можете обновить пакеты до самой последней версии. Это гораздо более тщательно протестированная процедура, и в результате будет получена идентичная система, независимо от версии установщика.

0
28.01.2020, 02:50

Теги

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