Как получить и изменить исходный код пакетов, установленных с помощью apt-get?

Я предполагаю, что все приложения, установленные через apt-get, являются открытым исходным кодом; но для тех, которые доступны таким образом, где я могу получить исходный код для этих приложений, а также обновить их?

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

В этом случае я имею в виду пакет hellanzb

1
задан 17 May 2015 в 12:39

4 ответа

Как правило, вы можете получить источник установленного пакета, выполнив следующую процедуру:

Включить исходные репозитории. Откройте панель инструментов (верхняя левая кнопка) и найдите sources. Это должно вызвать программу Software & Updates, запустите ее и убедитесь, что у вас есть опция «Исходный код»: Откройте терминал и запустите эту команду:
apt-get source vlc

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

Конечно, в случае vlc вы также можете скачать их прямо с веб-сайта videolan.org: https: //www.videolan. орг / VLC / скачать-sources.html

18
ответ дан 25 May 2018 в 22:47
  • 1
    Вам не нужно использовать sudo с 'apt-get source' – Squidly 3 February 2015 в 19:01
  • 2
    @MrBones argh! Нет, конечно, нет, привычка. Спасибо, что указали это. – terdon♦ 4 February 2015 в 16:11
  • 3
    в терминале: программные свойства-gtk & lt; ---, которые будут запускать " Software & amp; Обновления & Quot; Панель графического интерфейса пользователя. (Он не появлялся в поиске на панели инструментов по какой-либо причине.) – pestophagous 15 April 2017 в 05:10

Вы можете использовать apt-get source --compile напрямую:

sudo apt-get build-dep <package>
sudo apt-get source --compile <package>

Работал для меня. Файл .deb завершается в каталоге, в котором вы выполнили команду.

16
ответ дан 25 May 2018 в 22:47
  • 1
    Спасибо за помощь. Только одна дополнительная деталь: вы можете установить .deb с помощью sudo dpkg -i <package>.deb – waldyrious 24 November 2013 в 00:00
  • 2
    Лучшее решение, за исключением того, что apt вернется к версии репозитория, потому что вы забыли документировать журнал изменений с помощью «dch -i». – Futal 24 August 2016 в 16:44

Чтобы получить дополнительную информацию о пакете, включая URL-адрес вверху страницы и контакты проекта / программы, вы можете посмотреть файл с авторским правом (ссылка на сайт packages.debian.org).

Когда пакет включен и установленный в вашей системе, вы также можете прочитать файл авторского права прямо на /usr/share/doc/$package_or_program_name/copyright.

См. файл авторского права .

3
ответ дан 25 May 2018 в 22:47

Как упоминалось в https://askubuntu.com/a/81889/52975, существует также подход, специфичный для Ubuntu, с bzr.

Получить последнюю версию:

bzr branch lp:ubuntu/hello

TODO: это перестало работать на Ubuntu 16.04 Xenial, в противном случае с: bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".. bzr branch lp:ubuntu/wily/hello и bzr branch lp:ubuntu/xenial/hello снова не работает. По какой-то причине https://askubuntu.com/a/81889/52975 не показывает Xenial: https://web.archive.org/save/https://code.launchpad.net/ ubuntu / + source / hello

Конкретная версия:

bzr branch lp:ubuntu/trusty/hello

Вы также можете использовать pull-lp-source:

sudo apt-get install ubuntu-dev-tools
pull-lp-source hello

Тогда вы сможете отредактировать его:

cd hello
vim some_file

Восстановить его:

dch -i 
debcommit
bzr bd -- -b -us -uc

И установить его:

sudo dpkg -i ../hello.deb

https: // web .archive.org / save / https: //code.launchpad.net/ubuntu/+source/hello - хороший источник информации.

1
ответ дан 25 May 2018 в 22:47
  • 1
    bzr branch lp:ubuntu/hello bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/". bzr branch lp:ubuntu/xenial/lightdm bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/xenial/lightdm/". Руководство по упаковке Ubuntu , в частности 4.2. Получение источника говорит: bzr branch ubuntu:lightdm lightdm.quickswitch bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/lightdm/". Какой беспорядок. :-( – Stéphane Gourichon 15 August 2016 в 19:58
  • 2
    Вместо этого используется pull-lp-source, но тогда мы не получаем репозиторий bzr. bzr bd -- -b -us -uc говорит bzr: ERROR: Not a branch: "/org/gourichon/localdata/SG/projects/sysadmin/sysadmin_ergozel/2016/2016-08-15/blouarp/lightdm-1.18.3/".: - / Спасибо за любой намек. – Stéphane Gourichon 15 August 2016 в 20:03
  • 3
    @ StéphaneGourichon hummm, я воспроизвожу вас на Ubuntu 16.04 Xenial. Добавление конкретных версий работает: bzr lp:ubuntu/wily/hello, но почему-то нет версии xenial? И ни один из них не отображается: code.launchpad.net/ubuntu/+source/hello Перейти цифрой. – Ciro Santilli 包子露宪 六四事件 法轮功 17 August 2016 в 10:01
  • 4
    Спасибо, что позаботились о воспроизведении. Тогда вы выбрали неправильную карту. Открыт bugs.launchpad.net/ubuntu/+source/bzr/+bug/1614053 , упоминающий эту страницу. – Stéphane Gourichon 17 August 2016 в 13:53
  • 5
    Более удобно, чем некоторые другие подходы. И спасибо за другие подсказки для инсайдеров :) – nealmcb 3 May 2018 в 21:57

Другие вопросы по тегам:

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