Начну первый tutorial с создания деб пакетов. Если вы научитесь это делать, то забудете что такое
Для начала нам нужно создать папку, где будут сами запускные файлы. Назовём её test
Далее, самое главное, нужно создать папку с информацией о пакете. Это не относится к файлам программы, папка нужна только что бы сказать пакетнику (dpkg/apt) информацию о пакете. Папка должна называться DEBIAN
Далее, для лёгкого старта, нужно создать файл control, который будет содержать такие вещи как: Название, описание, зависимости, имя мейнтейнера(тот кто поддерживает пакет), версия, и т.д.
P.S. Я использую
Далее нужно написать следующее:
После этого сохраняете файл, выходите, делаете
что бы перенестись на директорию ваше
DEBIAN
Далее, вам нужно представить, что вы сейчас находитесь в корневой директории системы. / и теперь вам нужно запихать вашу программу, давайте представим, что она называется moonbuggy в папку
DEBIAN usr
(в папке usr лежит папка bin)
После этого нужно правильно задать права файлам и папкам, особенно папке DEBIAN. Делаем
Остальным файлам по вашему желанию. Поскольку мы делаем программу, запускной файл moonbuggy должен иметь хотя бы +x атрибут.
После всех этих процессов, задаёте по шаблону данные о пакете в файле control, затем переходите в директорию выше
И наконец делаете сам пакет.
После сборки пакет можно установить используя
И да, dpkg не умеет устанавливать зависимости. Он умеет их только проверять. Если вы хотите ещё и зависимости при установке пакета ставить, установите
Всо, теперь вы умеете делать в дебиане базовые пакеты.
Также если вам интересно как устроены другие пакеты и что они умеют, можете заглянуть сюда для получения более подробной информации, либо скачать какой нибудь деб пакет, а потом распаковать его вручную и посмотреть на его внутренности. Давайте представим что у нас есть viber.deb.
(достаем из пакета папку с информацией об этом самом пакете)
Теперь можете смотреть что тут есть.
Как обычно, спасибо за прочтение
make install :). Начнем с того, что вам нужно определиться с тем, что вы вообще собираетесь установить. Если вы собираете программу из исходников, достаточно скомпилировать то, что вам нужно, а затем вытащить бинарные файлы из папки, где они лежат. После этого начнем подготовку. Все действия выполняться будут в консоли.Для начала нам нужно создать папку, где будут сами запускные файлы. Назовём её test
$ mkdir testДалее, самое главное, нужно создать папку с информацией о пакете. Это не относится к файлам программы, папка нужна только что бы сказать пакетнику (dpkg/apt) информацию о пакете. Папка должна называться DEBIAN
$ cd test
$ mkdir DEBIAN
$ cd DEBIANДалее, для лёгкого старта, нужно создать файл control, который будет содержать такие вещи как: Название, описание, зависимости, имя мейнтейнера(тот кто поддерживает пакет), версия, и т.д.
$ touch control
$ имя_вашего_текстового_редактора controlP.S. Я использую
nano в качестве редактора.Далее нужно написать следующее:
Package: имяVersion: версияSection: basePriority: optionalArchitecture: (пишите тут i386 для х86_64, либо amd64 для x64, либо arm64 для арма и any для любой)Depends: первая_зависимость, вторая (>= версия), третья и т.д. [зависимости писать необязательно, если у вашей программы их нет]Maintainer: your name <your@e.mail>Denoscription: [описание]После этого сохраняете файл, выходите, делаете
$ cd ..что бы перенестись на директорию ваше
$ lsDEBIAN
Далее, вам нужно представить, что вы сейчас находитесь в корневой директории системы. / и теперь вам нужно запихать вашу программу, давайте представим, что она называется moonbuggy в папку
/usr/bin. Значит нам необходимо сделать эти папки здесь.$ mkdir usr
$ mkdir usr/bin
$ lsDEBIAN usr
(в папке usr лежит папка bin)
После этого нужно правильно задать права файлам и папкам, особенно папке DEBIAN. Делаем
$ chmod 755 DEBIANОстальным файлам по вашему желанию. Поскольку мы делаем программу, запускной файл moonbuggy должен иметь хотя бы +x атрибут.
После всех этих процессов, задаёте по шаблону данные о пакете в файле control, затем переходите в директорию выше
$ cd ..И наконец делаете сам пакет.
$ dpkg -b test moonbuggy.debПосле сборки пакет можно установить используя
# dpkg -i moonbuggy.debИ да, dpkg не умеет устанавливать зависимости. Он умеет их только проверять. Если вы хотите ещё и зависимости при установке пакета ставить, установите
gdebi. Он кстати ещё имеет графический интерфейс для установки, по этому можете кликами мыши установить свой пакет из файлового менеджера.# apt install gdebiВсо, теперь вы умеете делать в дебиане базовые пакеты.
Также если вам интересно как устроены другие пакеты и что они умеют, можете заглянуть сюда для получения более подробной информации, либо скачать какой нибудь деб пакет, а потом распаковать его вручную и посмотреть на его внутренности. Давайте представим что у нас есть viber.deb.
$ dpkg-deb -x viber.deb имяпапки$ dpkg-deb --control viber.deb имяпапки/DEBIAN(достаем из пакета папку с информацией об этом самом пакете)
$ cd имяпапкиТеперь можете смотреть что тут есть.
Как обычно, спасибо за прочтение
Тут меня кое кто недавно спрашивал про то, почему арч круто, а все остальные дистрибутивы не Ъ-тру. Тут я попытаюсь объяснить почему Arch Linux возможно может вам подойти, и чем он лучше и хуже других дистрибутивов. Сперва-наперво нужно понять, какой у вас опыт в использовании дистрибутивов GNU/Linux. Если он не больше месяцев трёх, и вы до сих пор не умеете настраивать сеть через консоль, то, возможно, вам не хватает опыта и/или интереса. Главная философия арча - минимализм, софт без лево-патчей и то, что тут вы будете полагаться сами на себя. Теперь задумайтесь над этим. Надо ли оно вам? Готовы ли смириться с тем, что у вас официально не будет пакетов под систему(потому что большая часть разработчиков и мейнтейнеров делают пакеты под Ubuntu/Debian), готовы ли вы чинить свой дистрибутив при установке некоторых обновлений? Хватит ли у вас времени? Готовы ли вы проводить некоторое время на местной вики что бы доработать кое что?
Если на вопросы сверху вы ответили "Да", то можно смело читать дальше. Если нет, то возможно арч не соответсвует вашим критериям или по просту вам не нужен. Подробно о философии, кстати, можно почитать ТУТ.
Если на вопросы сверху вы ответили "Да", то можно смело читать дальше. Если нет, то возможно арч не соответсвует вашим критериям или по просту вам не нужен. Подробно о философии, кстати, можно почитать ТУТ.
В первую очередь нужно рассказать о том, что арч представляет в плане пакетов. Тут всё отличается от многих популярных дистрибутив. Сам по себе дистрибутив предоставляет вам Rolling Release систему обновлений. Тоесть тут нету никаких версий дистрибутива, LTS ревизий. Тоже самое относиться и к пакетам и репозиториям. Всё, что обновили, сразу же прилетает на репозиторий, а старые версии выбрасываются на помойку, зато вы получаете самый свежий софт, подготовленный местными мейнтейнерами. Если для вас фраза "самые новые" вдруг созвучна с "забагованными", то это не так, в арче есть разделение репозитория на ветки stable и testing, по этому вы вряд-ли поломаете систему после обновления mesa например, что бы там про это на ЛОРе не писали. Поверьте мне, я уже около полу-года на арче, и у меня всё ещё ничего не сломалось, даже если я обновлял какие то серьезные компоненты системы. Но если очень сильно что-то нужно, или после обновления драйвера(привет невидия) полетели иксы, то можно пойти на архив репозитория и вытащить нужный пакетик и откатить его, либо просто установить его из кеша пакетного менеджера, тоесть как в apt, пакеты(загруженные перед самой установкой) сохраняются в одном месте(/var/cache/pacman/pkg) и сидят там до того момента как вы их либо не почистите(pacman -Sc), либо не откатите. Кстати о пакетном менеджере. Тут используется pacman(PACkage MANager), и он чертовски удобен. Он быстрый, благодаря тому что все пакеты запакованы в XZ архивы, он легкий, потому что не приходиться запоминать и использовать сотни ответвлений, по типу apt, apt-get, apt-cache, apt-list, dpkg, dpkg-deb и сотни других(видимо их сделали что бы вы тренировали память и мучелись когда вам нужна примитивная информация по типу версии пакета). В пакмане есть только пакман и его ключи. И это прекрасно. Сравните, что бы получить информацию о пакете нужно вводить pacman -Qi package вместо apt-cache policy package. Не забывайте что есть просто apt, а ещё и apt-cache с apt-file, соответвенно вы будете запоминать что за что отвечает. Пакман - один из лучших пакетных менеджеров, и если вы когда нибудь сядите за него и почитаете мануал, вы будете молниеносно выполнять операции с пакетами, и получать достаточно информативный список данных. Так вот, если вы готовы принять идеологию роллинг релизов, или просто считаете это хорошей идеей, то можете считать что арч - хороший выбор.Далее стоит сказать о том, как арч подходит к философии самого себя. В арче доминирует минимализм. В образе для установки дистрибутива(archiso) присутсвуют только самые необходимые инструменты, только консоль, консольный браузер, менеджеры соединения и только пара скриптов для самой установки. Наример arch-chroot(процесс изменения / каталога для использования системы параллельно основной с sharingом ядра), pacstrap(аналог debootstrap для подготовки ОС и установки нужных пакетов) и прочих. Но если вы думаете, что установка системы в консоли это для гиков, то да, вы будете от части правы. Но это только от части. Если знать принцип синтаксиса команд, уметь читать логи и размечать диск, а также хоть чуть чуть знать о таких вещах как bash, файловые системы, wpa_supplicant, монтирование томов и DNS адреса, то установка покажется вам тривиальным процессом. И да, она занимает у неподготовленного пользователя всего около часа. После того как вы набьёте шишек и загрузите наконец систему, вы поймёте, что теперь больше знаете и можете смело врываться в чаты и гордо писать "I use arch btw)))0". Теперь о патчах. Их практически нету. Единственные патчи, которые вносятся мейнтейнерами, это чисто арче-спицифические штуки что бы просто правильно работало с системой и учитывало что и где. Например gnome-software мог использовать pacman. Благодаря таким вещам, баги хоть и медленней фиксят чем в какой нибудь убунте, зато производительность системы становиться крайне высока. И вы это увидите, если попробуете. Траст ми.О софте. Многих могло отпугнуть что я написал сверху во время рассказа про то что большинство разработчиков софта под Линукс пакуют свой софт токо в deb пакеты. Да, это так. Но если вы откроете такую интересную вещь как AUR, то поймёте, что на арче больше софта, чем на всех дистрибутивах вместе взятых. АУР можно сказать является таким хранилищем пользовательских скриптов для сборки софта(или просто перепаковки) в пакеты для арча. Там сейчас храниться около 50000 пакетов, и можно сказать что некоторые скрипты(PKGBUILDы) не самого лучшего качества. Да, можно сказать что аур - большая помойка. Но тут выбор просто становится такой. Либо вы распаковываете деб пакетик и вручную суёте как дибил файлы в нужные места, либо пишите свой PKGBUILD, либо идёте на АУР и быстренько всё ставите. Что выберет обычный юзер? Правильно. Пойдет на АУР и быстро установит что надо. Но есть один минус. Официально АУР софт и скрипты не поддерживаются. Нужно вручную git клонить скрипт, ставить его, и потом идти на сайт аура каждый раз, когда вам нужно проверить обновления. Когда у вас одна программа из АУРа это проблем не состовляет. А если их 10? Сидеть и на сайтике проверять? Вот для этого и созданы AUR хелперы, которые могут и софт ставить, и зависимости разрешать, и обновлять. Один из таких я написал, и выложил в этот канал как файл под названием sakuri. Если кому интересно, попробуйте. Но так то yay сейчас является самым популярным хелпером, написанным на языке Go. Я и сам его юзал некоторое время, но потом понял что написать свой говноскрипт пизже. По этому такие дела.Вики. Да, у арча крутая и подробная вики со всем и обо всём. Тут вы найдете информацию обо всём. Начиная установкой GNOME заканчивая настройкой AppArmor. Можете поверить, что когда у вас появятся проблемы, вы первым делом пойдёте на местную вики, и в 90% случаев именно там и найдёте ответ на свой вопрос.Подводим итоги. Арч, безусловно, тот дистрибутив, на который вы должны обратить своё внимание, если вам стало интересно исходя из хотя бы одного пункта которого я тут написал. Он имеет хорошее комьюнити, быстрый и удобный пакетным менеджер, работает по принципу минимализма и старается придерживаться KISS(Keep It Simple, Stupid), не имеет кучу говна из коробки, у него есть крутой пользовательский репозиторий с практически всем софтом на Линукс, а также самые новые стабильные и нестабильные версии пакетов. Арч - дистрибутив, на который переходят многие люди, когда в должной мере осваивают какой нибудь Debian, и идут изучать GNU/Linux дальше. По этому давайте там. Слезайте с иглы убунту и идите к нам, на православный арч. Удачи, спасибо за внимание :3Вот так вот, если кому интересно. Андроид использует wpa_supplicant как менеджер соединений, причём старую версию. Вот тут хранятся ваши пароли. Даже не в зашифрованном виде. Но оно и понятно, кто же сможет к ним доступ получить, если доступ к файлам ограничивается специальными политиками SELinux, туда кроме настроек андроида всё равно никто не заглянет. Также я нашёл следы таких проектов как dnsmasq, hostapd и ещё dhcpcd и rftables. Вот так вот всё интересно.
Если что, конфиг лежит по пути /data/misc/wifi
Если что, конфиг лежит по пути /data/misc/wifi
Штош. Вот и подходит к концу 2019 год. Пришло время праздновать круглую дату. 2020. Вообще, я хотел в честь этого подготовить небольшой туториал про pkgbuild для арча, но звёзды не сошлись в этот день, по этому обязательно напишу об этом чуть позже. Канал тут пустует, но это потому, что я уже достаточно долгое время ничего необычного не увидел. А тут идёт в основном всякий флуд, вот. Так чо сказать то хотел. Всех поздравляю с этим замечательным праздником, надеюсь за этот год и вы и я выучили что то новое. Желаю вам достичь успехов там, где пока что не получилось. Терпения и старания так сказать. Всех с наступающим!✨
P.S. огромное спасибо @Verum_Corner за то, что сподвиг меня сделать этот канал
P.S. огромное спасибо @Verum_Corner за то, что сподвиг меня сделать этот канал
Сижу тут наушники настраиваю блютузные. Пока что единственное что бесит это кривое переключение вывода звука PulseAudio (наушники выбраны, а звук идёт через обычные динамики ноутбука), а также сам нерабочий звук, до тех пор, пока не переключил протокол A2DP. Ну и конечно же заикания после выхода из режима гипернации. Известный всем баг, который все ещё не исправлен в стеке блютуза BlueZ. Завтра буду пробовать некоторые хаки с арчвики. Отпишусь, если будет какой либо результат.
И так, что я сделал. Мне удалось сделать авто-коннект наушников после суспенда, и просто после включения самих наушников. Для этого в /etc/pulse/default.pa нужно добавить строчку
А теперь что не работает:
Иногда не с первого раза выбирается устройство для вывода звука(наушники)
Иногда фронтенд BlueZ глючит и, хоть и показывает что текущее устройство вывода звука это наши уши, всё равно вывод идет на динамики
Иногда приходится переключать устройства вывода. Наушники не подключаются как устройство вывода(возможно следует просто чуть подождать)
load-module module-switch-on-connect, а в файл /etc/pulse/daemon.conf прописать для default-sample-rate значение в 44100(иногда можно и 48000, но у меня в стиме например из за этого скрежет звука какой то). Также добавим в /etc/bluetooth/main.conf AutoEnable=true(это что бы можно было включать блютуз после перезагрузки/суспенда) и Discoverable=true(это сделано для того, что бы ваш комп смогли найти другие устройства). Теперь можете перезагрузить компутер и проверить работу звука. Если всё ещё есть какие то проблемы, и у вас сетевая карта от Интел, сделайте файл /etc/modprobe.d/iwlwifi.conf и пропишите там options iwlwifi bt_coex_active=0. Потом снова перезагрузитесь и проверите работу.А теперь что не работает:
Иногда не с первого раза выбирается устройство для вывода звука(наушники)
Иногда фронтенд BlueZ глючит и, хоть и показывает что текущее устройство вывода звука это наши уши, всё равно вывод идет на динамики
Иногда приходится переключать устройства вывода. Наушники не подключаются как устройство вывода(возможно следует просто чуть подождать)
Если кто-то хочет чуть более удобный способ для прослушивания Google музыки на ПК(в альфе ещё и работает YouTube Music), то вот. Google Play Music Desktop Player. Программа на электроне(извините) с очень маленьким и запоминающимся названием. Загрузить можно и на винду и на мак и на православный linux.
линк: https://www.googleplaymusicdesktopplayer.com/
линк: https://www.googleplaymusicdesktopplayer.com/
Спустя три часа, я все таки смог заставить работать функцию
Я хотел реализовать несколько условий:
||(или) в bash.Я хотел реализовать несколько условий:
Если команда 1 завершилась с ошибкой, то >> сделать вторую команду. Оборвать цикл ИЛИ. Продолжить выполнять остальные команды.Но все никак не мог сделать так, что бы цикл
|| обрывался. Потом до меня доперло, что для этого нужно поставить знак ;
Берегите себя и своих близких.И так ребятки. Я тут спустя 3 месяца решил вновь попробовать запустить Minecraft PE(сейчас Bedrock Edition) на линуксе. И к моему удивлению, git-версия заработала. Можно даже авторизоваться по Google Play и скачать лицензию от-туда. Теперь можно играть в нормальный кубач на C++ не только на винде.
Гайды:
https://mcpelauncher.readthedocs.io/en/latest/getting_started.html
Для арча: ставьте эти 4 пакета из AUR
mcpelauncher-linux-git
mcpelauncher-msa-git
mcpelauncher-msa-ui-qt-git
mcpelauncher-ui-git
Гайды:
https://mcpelauncher.readthedocs.io/en/latest/getting_started.html
Для арча: ставьте эти 4 пакета из AUR
mcpelauncher-linux-git
mcpelauncher-msa-git
mcpelauncher-msa-ui-qt-git
mcpelauncher-ui-git
Делаем звук в PulseAudio менее говнястым.
Звук в пульсе по-умолчанию — не очень приятная вещь. И что бы звук для приложений, использующих её был лучше, вот что можно сделать:
Открыть в текстовом редакторе файл
Далее делаем
Объяснения:
avoid-resampling это опция, которая позволяет пульсе дать возможность звуковой карте самой выбрать какую частоту для ресемплинга использовать. Но звуковая карта должна эту опцию поддеривать.
resample-method это метод того, как будет работать ресемплинг, и какие частоты дадут карте. (Пишите pulseaudio --dump-resample-methods и выбираете лучший по соотношению качество_звука/использование_CPU)
*-sample-* задает частоты и метод для ресемплинга.
Звук в пульсе по-умолчанию — не очень приятная вещь. И что бы звук для приложений, использующих её был лучше, вот что можно сделать:
Открыть в текстовом редакторе файл
/etc/pulse/daemon.conf и изменить следующие строки на(не забывайте убирать в начале строки знак ; ):avoid-resampling = yes (не везде работает корректно. Можете оставить no)resample-method = soxr-vhqdefault-sample-format = float32le
default-sample-rate = 44100
alternate-sample-rate = 48000Далее делаем
pulseaudio -k && pulseaudio --start и слушаем.Объяснения:
avoid-resampling это опция, которая позволяет пульсе дать возможность звуковой карте самой выбрать какую частоту для ресемплинга использовать. Но звуковая карта должна эту опцию поддеривать.
resample-method это метод того, как будет работать ресемплинг, и какие частоты дадут карте. (Пишите pulseaudio --dump-resample-methods и выбираете лучший по соотношению качество_звука/использование_CPU)
*-sample-* задает частоты и метод для ресемплинга.