Repository для raspberry

Repository для raspberry

I’m trying to install http://www.openhantek.org/ on my PI.

I’m not even getting through the first hurdle, it appears the command «add-apt-repository» is not found.

How do I add a repository to Raspbian? I’ve tried Googling to no avail. Is it even possible to add a repository?

Re: How to add a repository

Look in the /etc/apt directory. In particular /etc/apt/sources.list and/or files in the /etc/apt/sources.list.d directory.

These are all system files. You’ll need to use sudo nano or similar to edit the files.

Re: How to add a repository

I’m trying to install http://www.openhantek.org/ on my PI.

I’m not even getting through the first hurdle, it appears the command «add-apt-repository» is not found.

How do I add a repository to Raspbian? I’ve tried Googling to no avail. Is it even possible to add a repository?

When using Ubuntu, OpenHantek can be easily installed from it’s launchpad repository. To add the repository just execute the following command:

$ sudo add-apt-repository ppa:oliverhaag/openhantek

Since you are using Raspbian, you cannot be using Ubuntu. So the rest of the sentence does not apply to you.

You will have to use the instructions which follow on that page, headed «Compiling from source»

esr/faqs/smart-questions.html
How to Report Bugs Effectively: http://www.chiark.greenend.org.uk/

Re: How to add a repository

I have also been toying with the idea to hook up my Hantek DSO 2090 with a RPi . Have you had any success. Any help will be greatly appreciated .

Rudie Lamprecht
South Africa

Re: How to add a repository

Raspberry pi comes without it installed by default, but running this quick command will make add-apt-repository available for you.

sudo apt-get install python-software-properties

Re: How to add a repository

«adding a repository» is just adding another URL to a list of web-sites (repositories) in a text file.

you can do that with any text editor.

The real question is simply where the text file is located, and what its name is.

For that google is your friend.

Re: How to add a repository

A more important question is «Is that repository compatible with Raspbian and the Raspberry Pi?»

That one probably isn’t (if it doesn’t say it is compatible, assume it is not).

The earlier comment about compiling from source is the safest option.

Re: How to add a repository

grese wrote: Raspberry pi comes without it installed by default, but running this quick command will make add-apt-repository available for you.

sudo apt-get install python-software-properties

Re: How to add a repository

Re: How to add a repository

If i can insert the software source.. Which mean i can install wine n no need that exagear? Am i right?

Re: How to add a repository

MHerman wrote: Somebody.

If i can insert the software source.. Which mean i can install wine n no need that exagear? Am i right?

Wine is compiled for machines with x86 / ppc CPU machines:

The RPi has ARM CPU, Exagear I believe use an x86 emulator to run Wine.

Re: How to add a repository

Re: How to add a repository

Seems like qemu virtual machine can virtualise a x86 environment and the package is available from the Radpbian Jessie repository:

Re: How to add a repository

I found myself needing a library from a distro that I’d just upgraded from. I had upgraded to Stretch from Jessie and I needed libjpeg8-dev to make Omxiv which is not available in Stretch. I added the old distro back to the sources list as follows.

In a terminal I entered:
sudo pico /etc/apt/sources.list

Next, edit the sources file to add Jessie by entering the following lines:
deb http://raspbian.raspberrypi.org/raspian/ jessie main contribute non-free rpi

Next write/save (Ctrl o) the file and exit (Ctrl x).

Next, run update:
sudo apt-get update

That’s it! I just did an install of libjpeg8-dev without any problems. Next I went back and opened the sources.list file again in Pico and commented out the souces that I had added by placing a # at the start of my Jessie sources so that I could add them back if needed.

Lastly, I ran update again to refresh the sources without Jessie so that no future installs could access the old distro unless I had no choice but to provide them access.

The end result was that I was finally able to run Raspicast on Stretch.

Источник

Создаём собственный Raspbian репозиторий

В Windows для установки софта как правило следует запустить файл инсталятора и следовать его инструкциям в оконном режиме, задав папку для установки и т.д

В Linux концепция установки ПО полностью отличается. Хотя Windows-подобные инсталяторы встречаются и для Linux софта, наиболее распространёнными вариантами являются:

  • Установка ПО из исходных кодов
  • Установка ПО из бинарных пакетов

Второй вариант является самым простым и распространённым. В этой статье мы рассмотрим структуру таких пакетов, методику их создания, а также менеджер пакетов apt-get и создание репозитория, из которого apt-get может устанавливать ПО.

В мире Linux наиболее распространёнными форматами пакетов являются rpm ( используются в дистрибутивах Red Hat, Fedora), и deb (используются в дистрибутивах Debian, Ubuntu).

В Raspbian соответственно используются deb пакеты

Установка/удаление пакета производится утилитой dpkg:

установка: dpkg -i файл_пакета.deb

частичное удаление пакета: dpkg -r файл_пакета.deb Остаются настройки пакета, пользовательские данные и т.д

полное удаление пакета: dpkg -P файл_пакета.deb

дополнительные возможности dpkg:

dpkg -L название_пакета — список файлов, установленных пакетом в файловую систему.

dpkg -S имя_файла — покажет, какой пакет установил данный файл

dpkg -s название_пакета — вывод информации об установленном пакете.

dpkg -l — список установленных пакетов

dpkg -c файл_пакета.deb — список файлов, упакованных в deb пакет

dpkg -I файл_пакета.deb — информация о пакете

Deb пакет не установится, если в системе отсутствуют важные пакеты, от которых зависит работоспособность ПО, упакованного в deb пакет. Зависимости задаются разработчиком, при упаковке файлов в deb пакет.

Автоматически установить требуемые зависимости dpkg не может, поэтому для упрощения установки ПО в Linux были придуманы менеджеры пакетов.

В Raspbian используется менеджер пакетов apt-get.

Установка пакета осуществляется командой sudo apt-get install название_пакета

Во время выполнения данной команды apt-get произведёт поиск пакета в репозиториях, указанных в конфиге /etc/apt/sources.list, а также поиск всех зависимостей данного пакета, после чего будет произведена установка.

Обратите внимание, что apt-get ведёт поиск пакетов по локально сохранённому «индексу» пакетов. Поэтому периодически необходимо обновлять этот индекс командой sudo apt-get update

Удаление пакета осуществляется командой sudo apt-get remove название_пакета, если к команде добавить ключ -purge, то будут удалены и конфигурационные файлы пакета

Чтобы обновить все пакеты, установленные через apt-get до самой свежей версии используется команда sudo apt-get upgrade. Я этой функцией не пользуюсь без крайней необходимости — как показывает опыт, если что-то нормально работает, то это лучше не трогать

Создание собственных deb пакетов

Создание deb пакета довольно обширная тема, в рамках этой статьи мы рассмотрим только основы.

Допустим вы разработчик ПО для raspberry pi, создали и скомпилировали программный комплекc, состоящий из бинарника my_raspi_soft и конфига к нему my_raspi_soft.conf

Для упрощения дистрибуции вашей программы упакуем её в deb-пакет и добавим его в собственный репозиторий, чтобы

ваши пользователи могли легко установить вашу программу командой apt-get my_raspi_soft install

Итак, создадим в удобном месте (например в домашней директории) папку (в дальнейшем я буду называть её директорией пакета), в которой будем создавать структуру пакета

и установим инструменты необходимые для создания deb пакета:

В директории пакета создаём папку DEBIAN (в ней будут храниться служебные файлы пакета, необходимые для его правильной упаковки):

и файловую структуру установки пакета — она указывает, куда копировать файлы пакета во время его установки. Допустим мы предполагаем, что во время установки пакета файл my_raspi_soft должен быть скопирован в /usr/bin, а его конфиг my_raspi_soft.conf в /etc/. Тогда файловая структура должна иметь вид:

Теперь приступим к наполнению папки DEBIAN служебными файлами.

Главным служебным файлом является файл control, в него заносятся свойства пакета в формате свойство: значение свойства.

Свойства, которые добавляются в control файл (обязательные свойства я выделил жирным шрифтом):

Package — имя пакета. Именно оно используется при установке через apt-get install. Допустимо использовать латинские буквы, цифры и дефис (Package: my-raspi-soft)

Version — версия программы и пакета в формате версия_программы-версия_пакета. (пример: 0.9-1)

Maintainer — «мэйнтейнер», создатель пакета, ответственный за его обновление и т.д Формат вида имя email (Vasya )

Architecture — архитектура процессора, для которого предназначен пакет. В случае с Raspberry Pi это будет armhf

Section — категория ПО, упакованного в пакет. Перечень категорий:

admin, base, comm, contrib, devel, doc, editors, electronics, embedded, games, gnome, graphics, hamradio, interpreters, kde, libs, libdevel, mail, math, misc, net, news, non-free, oldlibs, otherosfs, perl, python, science, shells, sound, tex, text, utils, web, x11

Description — описание пакета

Depends — список зависимостей — пакетов, без которых не возможна работа нашей my_raspi_soft. Также можно указать требуюмую версию таких пакетов при помощи операторов >, =. Допустим в нашем проекте используется библиотека wiringPi. Тогда в config добавим строку — Depends:libwiringpi

Conflicts — список пакетов, с которыми конфликтует наша программа. Пока эти пакеты установлены в системе, установка пакета с нашей программой будет невозможна.

В итоге наш файл control будет выглядеть как-то так:

Это необходимый минимум служебных файлов для сборки deb пакета.

Какие ещё служебные файлы можно разместить в папке DEBIAN?

copyright — текст лицензии и декларация авторских прав

changelog — история изменений в специальном формате

conffiles — список файлов конфигурации (полный путь). Это нужно для того, чтобы при обновлении пакета можно было оставить старые настройки. Можно добавить сюда наш /etc/my_raspi_soft.conf

md5sums — контрольные суммы файлов пакета. можно заполнить так:

Кроме служебных файлов в папке DEBIAN можно разместить скрипты, которые будут выполняться до/после установки/удаления пакета.

preinst — скрипт с таким именем выполняется до установки пакета

postinst — скрипт, выполняющийся после установки пакета

prerm — скрипт, выполняющийся перед удалением пакета

postrm — скрипт, выполняющийся после удаление пакета

Минимальная структура пакета создана, теперь можно приступать к его упаковке в deb файл!

Переходим на 1 папку выше директории пакета и выполняем команду

Всё, пакет готов. Осталось лишь переименовать его согласно стандарту имяпакета_версия_архитектура.deb:

В завершении протестируем пакет на ошибки при помощи lintian:

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

Создание репозитория deb пакетов

Нам потребуется сервер с установленным веб-сервером Apache (или любым другим).

Создаём в конфиге апача новый виртуальный хост для домена (например repo.yourserver.com), на котором будет висеть наш репозиторий. В настройках виртуального хоста обязательно разрешаем просмотр папок в DOCUMENT_ROOT (Options All Indexes)

В этом примере в качестве DOCUMENT_ROOT будет выступать директория — /home/repo/www

Создаём структуру репозитория:

Загружаем наш deb пакет my-raspi-soft_0.9-1_armhf.deb в /home/repo/www/apt/pool/main/

Создание GPG ключей

Публичный GPG ключ должен быть создан и затем скачан пользователями вашего репозитория. Если этого не сделать, то каждый раз при установке пакетов из вашего репозитория apt-get будет выводить предупреждение.

Создаём ключ командой:

Вывод этой команды будет примерно таким:

Индексация и подпись пакетов

Чтобы клиентские менеджеры пакетов apt-get могли устанавливать пакеты из нашего репозитория, необходимо произвести индексацию пакетов, которые мы загрузили в /home/repo/www/apt/pool/main/

Для этого можно использовать вот такой несложный скрипт. Он произведёт индексацию всех пакетов в /home/repo/www/apt/pool/main, создаст файл /home/repo/www/apt/pool/main/Release, который содержит MD5 и SHA хэши всех файлов пакета и подпишет файл Release ключом Release.gpg.

Запускать этот файл нужно каждый раз после загрузки нового deb пакета в наш репозиторий (GPG_NAME заменить на параметр, который соответствует вашему ключу, созданному в предыдущем шаге)

Сохраните код скрипта в /home/repo/www/apt/reindex.sh и запустите его:

В результате выполнения скрипта, структура файлов в нашем репозитории примет вид:

Источник

Raspberry Pi

Pinned

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.

The official documentation for Raspberry Pi computers and microcontrollers

NOOBS (New Out Of Box Software) — An easy Operating System install manager for the Raspberry Pi

Source code for ARM side libraries for interfacing to Raspberry Pi GPU.

Installation scripts and binaries for the closed sourced Raspberry Pi 4 EEPROMs

1 Updated Oct 6, 2022

New libcamera based python library

1 Updated Oct 6, 2022

The official documentation for Raspberry Pi computers and microcontrollers

9 Updated Oct 6, 2022

33 Updated Oct 6, 2022

Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/

50 Updated Oct 5, 2022

One click ban for phpBB 3.1.x line

0 Updated Oct 5, 2022

Firmware files for the Raspberry Pi

1 Updated Oct 5, 2022

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.

1 Updated Oct 5, 2022

0 Updated Oct 5, 2022

17 Updated Oct 4, 2022

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Most used topics

© 2022 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Adblock
detector