Как преобразовать установочные пакеты APT-Get в YUM [закрыто]

Используя цикл и перехватывая пользовательский ввод, можно получить:

#!/bin/bash

# Store all list of files you want with extension png
arr=(./*.png)
for ((i=0; i<${#arr[@]};))
do
    # -s: do not echo input character
    # -n 1: read only 1 character (separate with space)
    read -s -n 1 key 

    for ((j=0; j<10; j++, i++))
    do  
        if [[ $key = "" ]]; then 
            open "${arr[$i]}";    # <--- This is where you will open your file.
        fi
    done
done
0
07.06.2019, 17:01
2 ответа

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

Немного предыстории

apt(apt-get)— это менеджер пакетов для установки пакетов в стиле Debian .dpkgи их зависимостей.

yum— это менеджер пакетов для установки пакетов в стиле красной -шляпы .rpmи их зависимостей.

Прежде чем вы начнете обсуждать вопросы прямой совместимости между. dpkgи .rpmсуществует более общая проблема, заключающаяся в том, что зависимости .dpkg/apt-getбудут вычислены для Raspbian . Они не будут соответствовать зависимостям для CentOS. Две операционные системы не только используют разные имена пакетов, но и имеют разные установленные версии соответствующих пакетов.Это означает, что даже в другой операционной системе, подобной Debian -, такой как Ubuntu, у вас могут возникнуть проблемы.

Короче говоря, пакеты .dpkg/apt-getне будут вам полезны в CentOS.

Добавлено усложнение

Поскольку пакет, который вы пытаетесь установить, связан с Python, существует третий менеджер пакетов, который должен знать:pip . Этот можно установить вместе с yum, но помните, что при установке с yum вы также позволяете yum обновлять эти пакеты по мере появления новых. С pip вам нужно будет периодически просить pip обновляться, потому что yum не сделает этого за вас.

Что ты можешь сделать?

Вы можете попробовать выполнить поиск в командной строке :, например yum search pil. Но, честно говоря, я предпочитаю Google для этой задачи. Это дает вам гораздо больше контекста для синонимов имен пакетов. На самом деле у вас нет большого выбора, кроме как самостоятельно работать с названными зависимостями и находить аналогичные пакеты для CentOS и/или pip. Это потребует много времени в Google, чтобы разработать правильный список.

Например (при установке с yum, а не pip), инструкция для:

sudo apt-get install python-pil python-smbus python-dateutil -y

Здесь я бы погуглил три вещи:

  1. пакет python для пакета centos
  2. smbus пакета python для пакета centos
  3. пакет centos для python dateutil

В итоге я стал устанавливать пакеты с помощью yum:

yum install python-pillow i2c-tools-python python-dateutil 

Обратите внимание, что python-pilстало python-pillow. Это форк того же пакета, но мы надеемся, что он будет совместим. Заметьте также, что python-smbusстало i2c-tools-python. Похоже, это правильное имя пакета в Centos

Если вы действительно не можете найти нужный пакет Python в виде RPM, возможно, вам придется установить его с помощью pip .

Если это не сработает

Как я упоминал ранее, версии пакетов могут не совпадать, что означает сбой зависимостей.Когда ты установил все что можно, а оно все равно не работает. Ваш следующий шаг должен состоять в том, чтобы вернуться к специалистам по сопровождению программного обеспечения (на GitHub )и вежливо спросить их , не могли бы они в середине помочь вам разобраться с зависимостями CentOS.

2
28.01.2020, 02:22

Я полагаю, что то, что доставляет тебе неприятности,:

# Install dependencies
sudo apt-get install git bc i2c-tools fonts-freefont-ttf whiptail make gcc -y
# For Python 2
sudo apt-get install python-pil python-smbus python-dateutil -y
# For Python 3
sudo apt-get install python3-pil python3-smbus python3-dateutil -y

Сначала я бы посоветовал убедиться, что установлен выпуск epel -(дополнительный репозиторий для yum):

yum -y install epel-release

теперь вы можете найти эквивалент для каждого из этих пакетов и установить его :например:

yum search i2c

дал мне:

i2c-tools.x86_64 : A heterogeneous set of I2C tools for Linux
i2c-tools-eepromer.x86_64 : Programs for reading / writing i2c / smbus eeproms
i2c-tools-python.x86_64 : Python bindings for Linux SMBus access through i2c-dev

к счастью, у пакета такое же имя; Таким образом, я могу бежать:

yum install i2c-tools

Если повезет; все имена пакетов будут одинаковыми; но возможно, что некоторые отличаются. просто попробуй:)

1
28.01.2020, 02:22

Теги

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