Python :Как настроить crontab для запуска скрипта в виртуальной среде

Невозможно проверить, как кто-то настроил ОС от вашего имени. Всегда есть возможность что-то спрятать. Если существует риск злонамеренного поведения со стороны поставщика, вам остается только

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

Вы можете записать sha256sum (хэш )каждого раздела в образе, а затем сравнить это позже с SD-картой , прежде чем подключать ее и загружать . Хотя теоретически они могли бы добавить дополнительный раздел, это было бы очень просто обнаружить.

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


Шаги для записи хэшей разделов

Эти шаги можно выполнить на любой машине с Linux. Вы можете использовать Raspberry Pi с достаточно большой SD-картой (, рекомендуется не менее 16 ГБ )

.

  1. Загрузите и изображение, с которым вы хотите работать. Например, :последнее изображение raspbian:

    wget --content-disposition https://downloads.raspberrypi.org/raspbian_full_latest
    unzip *raspbian-stretch-full.zip
    
    ls -lh *raspbian*
    -rw-r--r-- 1 philip philip 5.1G Apr  8 19:43 2019-04-08-raspbian-stretch-full.img
    -rw-r----- 1 philip philip 2.0G Apr  8 19:48 2019-04-08-raspbian-stretch-full.zip
    
  2. Настройте изображение.

  3. Настройка кольцевого устройства
    sudo losetup /dev/loop0 2019-04-08-raspbian-stretch-full.img
    sudo partprobe /dev/loop0
    
    ls -lh /dev/loop0*
    brw-rw---- 1 root disk   7, 0 May 15 19:18 /dev/loop0
    brw-rw---- 1 root disk 259, 0 May 15 19:18 /dev/loop0p1
    brw-rw---- 1 root disk 259, 1 May 15 19:18 /dev/loop0p2
    
  4. Получите сумму sha256 для каждого раздела (это займет некоторое время! ).Сохраните это в файл.
    sudo sha256sum /dev/loop0p*
    66aa77d8405ab585865d0e0378f06bd8baa5ab41bbb6e9cc23ac6b2be40974d4  /dev/loop0p1
    1895a2c5d9e93eb3b644d8cacab9d928184290e30bba6d27b7eb9d486c30e5e8  /dev/loop0p2
    
  5. Очистка
    sudo partx -d /dev/loop0
    sudo losetup -d /dev/loop0
    

Проверка хэшей

Подключите карту к любому работающему компьютеру с Linux. Если вы хотите использовать Raspberry Pi, вы можете использовать USB-устройство чтения SD-карт, чтобы подключить карту, которую хотите проверить, в качестве второй карты.

Карта появится как новый диск, например /dev/sdaили /dev/sdb...

Предполагая, что он отображается как /dev/sda, вы можете получить хэш для каждого раздела:

ls -lh /dev/sd*
brw-rw---- 1 root disk 8, 16 May  9 12:23 /dev/sda
brw-rw---- 1 root disk 8, 17 May  9 12:23 /dev/sda1
brw-rw---- 1 root disk 8, 18 May  9 12:23 /dev/sda2
sudo sha256sum /dev/sda1 /dev/sda2
66aa77d8405ab585865d0e0378f06bd8baa5ab41bbb6e9cc23ac6b2be40974d4  /dev/sda1
1895a2c5d9e93eb3b644d8cacab9d928184290e30bba6d27b7eb9d486c30e5e8  /dev/sda2

Настройка изображения

Эти шаги НЕЛЬЗЯ выполнять на любой машине с Linux, им нужен процессор ARM, такой как на raspberry pi.

  1. Установите контур -задней перегородки (/dev/loop0p2), созданной ранее. ОС установлена ​​на p2, загрузочная конфигурация — на p1.

    mkdir rpi-os
    sudo mount /dev/loop0p2 rpi-os
    
    df -h foo
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/loop0p2    4.9G  4.4G  202M  96% /home/philip/rpi-os
    
  2. chroot в смонтированную файловую систему
    sudo chroot rpi-os
    
  3. Установите любое программное обеспечение, которое вы хотите, внесите любые изменения, которые вы хотите. Например :
    apt-get update
    apt-get install some-new-package
    
  4. Выйти и размонтировать
    df -h rpi-os
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/loop0p2    4.9G  4.5G  149M  97% /home/philip/rpi-os
    
    exit
    sudo umount rpi-os
    

1
07.07.2021, 12:08
0 ответов

Теги

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