Перейти к публикации
Форум - ComputerCraft
SDV

Менеджер пакетов APT-GET

Рекомендованные сообщения

img6fV6.png

Доброго времени суток :)

Я вот спустя год решил вернуться к языку Lua.

Хоть честно я в нем не супер-профи как многие тут на форуме, но все же.

 

Так вот, пока многие игроки, в том числе и администрация занимается разработкой GUIшечных программ, я решил уйти в самую низину - КОНСОЛЬЩИНУ B-)

Честно, я не знаю может быть уже есть такая разработка, но я сам решил с нуля написать МЕНЕДЖЕР ПАКЕТОВ (МП).

Идея в чистую сворована с линуксовской "консольки" (даже по названию это понятно). Я решил назвать ее довольно-таки популярным менеджером пакетов для debian и ubuntu - APT.

 

Принцип ее работы должны знать многие линуксеры (ну или людей, работающих с консолью той же windows):

apt-get [операция] [название пакета]

 

Вот такие операции пока может МП:

install - установить пакет.

reinstall - переустановить пакет.

upgrade - обновление пакета APT-GET.

remove - удалить пакет.

update - скачать списки новых / обновленных пакетов.

search - найти пакет по имени.

 

Да, да друзья, многие могли заметить то что я даже "прифигачил" сюда sources.list :D

Все таки МП работают с репозиториями, то и МП для OpenComputers не исключение.

 

Вот кстати зеркало репозитория - http://mirror.zz.mu

Осторожно, хостинг бесплатный, не с первого раза загружается (ох уж этот "любимый" хостингер).

 

Вы спросите, а что такого там на зеркале находится и как он устроен? Ну вот сравните с mirror-ом Яндекса и поймете смысл.

 

Кстати, в репозитории также лежит sources.list. Он генерируется через cron на хостинге (кому интересно можете понажимать на файл list.php ;) )

 

Я не знаю конечно это все ерунда и смысла от МП нет (потому что уже все GUIшки рисуют и консоль никому не нужна).

Но если будет у форумчан желание поддержать мою разработку и продолжить ее усовершенствовать (добавить панель для загрузки в репозитории например и т.д.), то буду только рад.

Если нет - то пусть это будет как демонстрационный файл для новичков, начинающих работать с модом OC.

 

P.S. Кстати забыл, кто хочет опробовать МП, то вот его ссылка на pastebin.

Для демонстрации я в репозиторий загрузил 3 lua файла (это то что я нашел через поиск на форуме) - battleship   dropper  viewmethods

Можете поставить их и посмотреть как работает МП.

 

У кого возникнут вопросы как им пользоваться - просто введите apt-get (инструкция на английском понятное дело :rolleyes: )

 

Жду Ваших комментариев по поводу менеджера пакетов.

Изменено пользователем TuxShot
  • Like 8

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потенциал виден. :) Поддерживаю, разрабатывать есть смысл.

Я когда-то под CC писал Program Downloader, смысл тот же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потенциал виден. :) Поддерживаю, разрабатывать есть смысл.

Я когда-то под CC писал Program Downloader, смысл тот же.

Я рад что меня поддерживают в этой разработке.

Я как раз с тем и захотел создать МП, чтобы игрокам было удобно устанавливать (удалять и т.д.) lua программы (пакеты), дабы не искать на pastebin-е, ведь это довольно таки долго и муторно.

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

То есть это так называемый наш "локальный" пастебин и гитхаб в одном флаконе :-)

 

Эх, опять идеи Линуса Торвальдса победили :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хорошая идея, но... oppm уже не торт?

Хорошо спрошу по другому - как попасть в их репозиторий? как мне например загрузить в их репу свою программу?

Тем более надо нам свое. А то не известно что там "буржуи" вшили :-)

Я говорю, если большинство здесь игроков скажет НЕТ моему менеджеру пакетов, то окей будем пользоваться дальше oppm который уже не торт :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Хорошо спрошу по другому - как попасть в их репозиторий? как мне например загрузить в их репу свою программу?

Тем более надо нам свое.

oppm работает с GitHub.

Подробнее о добавлении своих прог описано на майн-вики.

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

 

А то не известно что там "буржуи" вшили :-)

Это же ОпенСорс!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробую перегнать проги из oppm в apt-get. Мне apt-get больше нравится :)

 

Даже moo есть!

Только зависимости добавь

Изменено пользователем evgkul

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Кто, кто? Кто с домино и с буфетчицей?

Ох этот гитхаб. Не люблю я его если честно (лично мое мнение)...

Попробую перегнать проги из oppm в apt-get. Мне apt-get больше нравится :)

Как перегнать? А в репу кто будет добавлять их?

Или на localhost? :-)

Даже moo есть! Только зависимости добавь

А то :-) Меня как раз супер корова и вдохновила :-)

Какие зависимости? Пакетов?

Так они же качаются по одному и это свой lua файл, не зависящий от других.

Или я что не понимаю.

Хм, сам сейчас на пингвине сижу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто, кто? Кто с домино и с буфетчицей?Ох этот гитхаб. Не люблю я его если честно (лично мое мнение)...Как перегнать? А в репу кто будет добавлять их?Или на localhost? :-)А то :-) Меня как раз супер корова и вдохновила :-)Какие зависимости? Пакетов?Так они же качаются по одному и это свой lua файл, не зависящий от других.Или я что не понимаю.Хм, сам сейчас на пингвине сижу.

Попробуй через oppm загрузить gml-tests (или как там его?). И несколько файлов загрузится, и зависимости...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробуй через oppm загрузить gml-tests (или как там его?). И несколько файлов загрузится, и зависимости...

Ну я понял про что разговор.

Кстати при попытке скачать gml-tests мне сказали - Package does not exist (и где пакет то?) :-)

Вот и недостаток oppm что удалят пакет и все ищи свищи его потом.

Я же предлагаю делать репу с обновляемыми программами (которые будут лежать потом в архиве).

Типичный любой линуксовский репозиторий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тогда ищи gml-test

Нет что-то нет этих пакетов.

Ладно фиг с ним.

Жду официального ответа (комментария) от нашей доблестной администрации :-)

gml-examples

Хм, создал в папке usr еще две папки bin и lib.

И почему oppm все закачивает в /usr.

Это что я как дурак в /bin заливаю.

Не знаю привычка, что бинарники должны быть в /bin.

sources.list в /etc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В /bin - системные проги. И найди в openos хоть один бинарник

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В /bin - системные проги. И найди в openos хоть один бинарник

А что ты подразумеваешь по словом бинарник?

Бинарник это исполняемый файл (типа exe, sh, run и т.д.), в O.C. бинарниками являются сами lua файлы.

Так что я подразумеваю это под этим.

Ведь apt-get можно тоже сказать что это бинарник, хоть и lua файл.

 

Вообще это очередной холливар :-)

Не хочу даже начинать его.

 

Не будем сравнивать среды обычных ОСей и OpenComputers :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отличная вещь. Не раз поднимался этот вопрос еще на заре нашего проекта. Рид еще миллион лет назад когда-то сделал php скриптик и программку для КК, который позволял загрузить или скачать файл с нашего хоста из папочки. Но куда его он дел, я не знаю.

Я когда-то Сереге Киберу предлагал сделать у нас что-то типа локального пастебинчика, но Серега сказал, что пастебин надежнее.

 

По сути репа, как сейчас  - это хорошо. Но что дает она рядовому пользователю? Если там лежат проверенные и одобренные проги и форумчанин может где-то узнать имена пакетов для определенных целей, это есть хорошо, и в принципе это имеет право на жизнь. Можно было бы на нашем хосте концентрировать программки.

 

Но с таким же успехом мы можем их качать и с пастебинов и гитхабов и прочее.  А вот загружать сложнее. Как мы знаем, нам нужно ручками лезть в свой аккаунт на пастбинчик, изменять там версию проги и прочее. Не знаю, можно ли на платном аккаунте pastebin  поменять код удаленно (то есть загрузить файл по конкретному адресу, который уже существует на хосте)

 

То есть, например, я пофиксил прогу в роботе, я знаю, что у меня эта прога лежит по адресу pastebin.com/5nQnaSD, ее там обновил удаленно, а все остальные роботы ее скачали автоматом, при этом я на сайт не захожу даже.

 

Можно ли как-то сделать так у нас на хосте? Какой-то аккаунт сделать, базу,  приватную папку, паблик мусорный и прочее. То есть я могу скачать свою прогу из любого места из игры, с любого компа, удалить ее или обновить, зайти на офф. репозитарий ридонли и т.д.   Вот именно так это реально ли организовать? Или тут есть какие-то подводные камни?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я могу сделать парсер. Я когда-то делал парсер файлов на сайте(хотел сделать своё веб-радио для тэйпов:D )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По сути репа, как сейчас  - это хорошо. Но что дает она рядовому пользователю? Если там лежат проверенные и одобренные проги и форумчанин может где-то узнать имена пакетов для определенных целей, это есть хорошо, и в принципе это имеет право на жизнь. Можно было бы на нашем хосте концентрировать программки.

Ахаха AlexCC ты меня так расмешил этим предложением.

Знаешь я тоже не знаю какие пакеты лежать в репозиториях debian, ubuntu, mint и т.д., но это не мешает мне устанавливать пакеты.

Да, необходимо описание для программ.

Но тогда наш МП превратиться в некий Google Play (App Store). Это кстати мой был первоначальный вариант реализации.

Я о нем думал год назад когда занимался местной Викой.

Просто надо тогда все таки добавлять базу данных (хотя бы ту же sqlite), и там хранить все данные (описание, версию и т.д.).

Надо насчет этого еще подумать.

А вот загружать сложнее.

Да, жаль что в пастебин нет контроля версий, как в том же гитхаб. Так можно было бы синхронизировать код с него в файлы которые лежат в репозитории.

Но смысл в том, чтобы изменять код на пастебине, а в репозитории он сам обновлялся (или хотя в полуавтоматическом режиме).

Можно ли как-то сделать так у нас на хосте? Какой-то аккаунт сделать, базу, приватную папку, паблик мусорный и прочее. То есть я могу скачать свою прогу из любого места из игры, с любого компа, удалить ее или обновить, зайти на офф. репозитарий ридонли и т.д. Вот именно так это реально ли организовать? Или тут есть какие-то подводные камни?

Много вопросов, я даже не знаю с чего и начать.

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

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

 

Вообщем пока я займусь организацией репозитория. Потом обо всех нововведениях я буду писать в своем блоге.

Там как будет более или менее стабильная версия будем думать о переносе (присоединении) репозитория к проекту. Но это как всегда вопросы к cyber01.

Он у вас ответственный за web-ку.

Я могу сделать парсер. Я когда-то делал парсер файлов на сайте(хотел сделать своё веб-радио для тэйпов :D )

Парсер чего? Файлов с пастебина?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Парсер чего? Файлов с пастебина?

Пакетов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пакетов

Каких пакетов?

Хм, добби устал. Добби нужно отдохнуть :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ахаха AlexCC ты меня так расмешил этим предложением.

Знаешь я тоже не знаю какие пакеты лежать в репозиториях debian, ubuntu, mint и т.д., но это не мешает мне устанавливать пакеты.

Да, необходимо описание для программ.

Но тогда наш МП превратиться в некий Google Play (App Store). Это кстати мой был первоначальный вариант реализации.

Ну я реально тебе говорю :)   То что там линуксоиды качают пакет, им и знать ничего не надо, видимо. 

В том то и разница пингвосистем, что там набрал что-то типа sudo apt-get install  tetris   и не думаешь, что он там еще подтягивает.

 

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

 

Вчера, например, зарегался на форуме Димончик13, который и приватить то не знает как. Ему эти репозитарии - как темный лес у негра в попке. Понимаешь? Где взять описалово пакетов, всякие сорслисты толковые, всякие там пингвосинаптики и так далее. Представь, какой там на твоей репе будет бардель после 6 месяцев))))  

 

Как по мне, то нужна именно личная папочка на хосте для хранения, аплоада и даунлоада своих файликов. Ну это как бы то, чего именно мне не хватает по опыту игры.И я не понимаю, если честно, как вообще можно писать программки в игровых компах. Обычно это сингл, прямой доступ к файлам средствами виндовс. Потом аплоад на пастбинчик, ну или через ФТП, если удаленно на ИТ что-то нужно подредачить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Загрузит туда Нео или ЛехаИнк прогу типа с названием ГладоксКакаксис и думай потом, что это за прога и нафига она вообще нужна. А может же для ее работы и библы нужны и прочее прочее. Как быть тогда? А инсталятор, сам знаешь, пишут единицы  игроков.

 

В том же настоящим apt-get также странные иногда названия, да и описания там толком нет. Apt это система управления пакетами, а не плэй маркет. А плей маркет, Сяб обещал написать, но как всегда ничего ещё даже не начато писаться.

В идеале иметь БД, там хранить название, описание и версии + id'шники версий. Например к версии 2.8.2281337 у проекта с ID 404, будет ID типо 404:2.82281337. И когда мы скачиваем определённую версию, идёт запрос а серверу, мол "Дай мне файлики 404:2.8.228.1337" и сервер кидает нам файлы.

 

PS: Немного бреда от клона LeshaInc'a.

PPS: Орфографические ошибки из-за того что словари на телефоне написаны из /dev/ass, короче Т9 кривой. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну я реально тебе говорю :) То что там линуксоиды качают пакет, им и знать ничего не надо, видимо.

В том то и разница пингвосистем, что там набрал что-то типа sudo apt-get install tetris и не думаешь, что он там еще подтягивает.

 

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

 

Вчера, например, зарегался на форуме Димончик13, который и приватить то не знает как. Ему эти репозитарии - как темный лес у негра в попке. Понимаешь? Где взять описалово пакетов, всякие сорслисты толковые, всякие там пингвосинаптики и так далее. Представь, какой там на твоей репе будет бардель после 6 месяцев))))

 

Как по мне, то нужна именно личная папочка на хосте для хранения, аплоада и даунлоада своих файликов. Ну это как бы то, чего именно мне не хватает по опыту игры.И я не понимаю, если честно, как вообще можно писать программки в игровых компах. Обычно это сингл, прямой доступ к файлам средствами виндовс. Потом аплоад на пастбинчик, ну или через ФТП, если удаленно на ИТ что-то нужно подредачить.

Смотри что я пока на придумывал.

Есть https://www.debian.org/distrib/packages там несколько ветвей. Предлагаю также сделать ветвь стабильную и тестирующую. Дальше сам можешь полистать и увидеть как все сделано по категориям и для каждого пакета есть своя страница с описанием и т.д. вот страница с зеркалом как у нас сейчас http://ftp.ru.debian.org/.

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

Насчёт организации личной парочки на хосте я подумаю. Придётся делать демонстрационный личный кабинет.

Насчёт синхронизации файлов с пастебин я тоже подумаю.

 

Сорри что не ссылками нормальными указал. Просто с планшета пишу на полной версии.

В том же настоящим apt-get также странные иногда названия, да и описания там толком нет. Apt это система управления пакетами, а не плэй маркет. А плей маркет, Сяб обещал написать, но как всегда ничего ещё даже не начато писаться.

В идеале иметь БД, там хранить название, описание и версии + id'шники версий. Например к версии 2.8.2281337 у проекта с ID 404, будет ID типо 404:2.82281337. И когда мы скачиваем определённую версию, идёт запрос а серверу, мол "Дай мне файлики 404:2.8.228.1337" и сервер кидает нам файлы.

PS: Немного бреда от клона LeshaInc'a.

PPS: Орфографические ошибки из-за того что словари на телефоне написаны из /dev/ass, короче Т9 кривой. :)

Хотите форкайте мой МП и делайте свой с блэкджеком и ... :-)

Я сделаю как я представляю все это. Не понравиться заберу себе :-)

Нет не охота делать подобие плей маркета.

Я свою идею описал выше уже.

Изменено пользователем TuxShot

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А нет ли  в природе готовых движков бесплатных каких-то?  Ну типа мол в базе SQL хранится юзер, аккаунт его, права, лимит папочки в КБ и прочее. Ну и сами пути к файликам, которые он загрузил, хранятся в базке.

Файлики лежат в папочке users/uuidВася

 

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

Или это все с нуля писать нужно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А нет ли  в природе готовых движков бесплатных каких-то?  Ну типа мол в SQL хранится юзер, аккаунт его, права, лимит папочки в КБ и прочее. Ну и сами пути к файликам, которые он загрузил, хранятся в базке.

Файлики лежат в папочке users/uuidВася

 

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

Или это все с нуля писать нужно?

И как называется движок - "репозиторий для бедных"? :-)

Не знаю может есть что то подобное. Я за этим не слежу.

Мне куда проще написать своё и в нём копаться, чем в чьём то чужом.

 

У нас просто проблемка в том что нам надо либо делать единый хостинг для файлов (но игроки мало вероятно что захотят юзать непонятные движки), либо синхронизировать пастебин и подобное.

 

Я вангую если придет сюда cyber01, он скажет что все ерунда это и мы занимаемся хренью (ну вот такое у меня мнение о человеке уже к сожалению :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я вангую если придет сюда cyber01, он скажет что все ерунда это и мы занимаемся хренью (ну вот такое у меня мнение о человеке уже к сожалению :-)

Это к бабке не ходи, именно так  он и скажет=)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@,@, Ну спасибо :)

 

 

А по поводу репозитория - сам менеджер пакетов хорошая задумка, но есть один косяк - проблемно заставить всех постить туда программы...

 

По поводу хранилища - а почему нет? Неплохая идея ,но вот найти подобное хранилище проблемно... Можно конечно написать, но опять же... как заставить всех постить туда программы? Пастебином и то 2 человека из 5 пользуются... 

 

@, что имелось ввиду под фразой "синхронизировать пастебин"?

 

Я конечно могу поставить движок пастебина, но будет тоже самое... Хотя по сути хранилище кода есть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@,@, Ну спасибо :)

 

 

А по поводу репозитория - сам менеджер пакетов хорошая задумка, но есть один косяк - проблемно заставить всех постить туда программы...

 

По поводу хранилища - а почему нет? Неплохая идея ,но вот найти подобное хранилище проблемно... Можно конечно написать, но опять же... как заставить всех постить туда программы? Пастебином и то 2 человека из 5 пользуются... 

 

@, что имелось ввиду под фразой "синхронизировать пастебин"?

 

Я конечно могу поставить движок пастебина, но будет тоже самое... Хотя по сути хранилище кода есть...

Хм, синхронизация типа на пастебине отредактировал файл, и он перенеся (сохранился) в репе.

Наверное единственный удобный способ проверять на md5 файл на пастебине.

2 из 5 человек. Не знаю я пока тут лазял по форуму столько новых программеров нашел.

 

Вообще реализация сыроватая ещё. Я как сделаю подобие репы тогда и можно будет дальше думать.

Сделаю минимум только через 2 недели. Очень сильно занят пока что.

Следующая неделя вообще сложная для меня.

 

Говорю, хотите форкайте МК и сделайте своё видение на то что я предложил.

Я конечно поздно прочитал, но оказывается в опеннете есть свой локальный пастебин.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гладос гласс Лехи будет какой-то такой: leshaink-gladosglass1-stable

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мда, написали тут много, а толку мало.

Что мне известно, так это то, что если на dropbox'е изменить расшаренный файл, то ссылка сохранится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гладос гласс Лехи будет какой-то такой: leshaink-gladosglass1-stable

В названии пакета имя автора обычно не пишут

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×