{"id":37830,"date":"2019-10-31T22:20:00","date_gmt":"2019-10-31T19:20:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/koe-chto-eshhe-pakety-prilozhenij-haiku\/"},"modified":"2019-10-31T22:20:00","modified_gmt":"2019-10-31T19:20:00","slug":"koe-chto-eshhe-pakety-prilozhenij-haiku","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","title":{"rendered":"Mais uma coisa: pacotes de aplicativos Haiku?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/90604411e96ca7ef7b2d7dccac374d4e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>TL;DR<\/strong>: o Haiku pode receber suporte adequado para pacotes de aplicativos, como por exemplo cat\u00e1logos de aplicativos (como <code>.app<\/code> no Mac) e\/ou imagens de aplicativos (Linux <code>AppImage<\/code>)? Parece-me que isso seria uma adi\u00e7\u00e3o valiosa, mais f\u00e1cil de implementar do que em outros sistemas, uma vez que a maior parte da infraestrutura j\u00e1 existe.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">H\u00e1 uma semana<\/a><\/noindex> descobri o Haiku, um sistema surpreendentemente bom. E como eu me interesso h\u00e1 muito tempo por cat\u00e1logos e imagens de aplicativos (inspirados na simplicidade do Macintosh), n\u00e3o \u00e9 surpresa que a ideia tenha surgido na minha mente...<\/p>\n<p><\/p>\n<p>Para plena compreens\u00e3o: eu sou o criador e autor do AppImage, um formato de distribui\u00e7\u00e3o de aplicativos Linux, voltado para a simplicidade do Mac e que d\u00e1 total controle a autores de aplicativos e usu\u00e1rios finais (se quiser saber mais, veja. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/AppImage\">wiki<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.appimage.org\/\">documenta\u00e7\u00e3o<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h2 id=\"chto-esli-my-sdelaem-appimage-dlya-haiku\">E se fiz\u00e9ssemos um AppImage para o Haiku?<\/h2>\n<p><\/p>\n<p>Vamos teorizar um pouco: o que seria necess\u00e1rio para obter <noindex><a rel=\"nofollow\" href=\"https:\/\/appimage.org\/\">AppImage<\/a><\/noindex>, ou algo semelhante, no Haiku? N\u00e3o \u00e9 preciso criar algo agora, j\u00e1 que o sistema que j\u00e1 existe no Haiku funciona surpreendentemente bem, e uma experi\u00eancia imagin\u00e1ria seria interessante. Al\u00e9m disso, demonstra a sofistica\u00e7\u00e3o do Haiku em compara\u00e7\u00e3o com os ambientes de trabalho Linux, onde coisas assim s\u00e3o incrivelmente dif\u00edceis (tenho o direito de dizer isso: h\u00e1 10 anos luto com depura\u00e7\u00e3o).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/f72209cb7c70702e614729f3b250c1b8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>No Macintosh System 1, cada aplicativo era um arquivo separado, 'gerenciado' no Finder. Usando AppImage, estou tentando recriar essa mesma experi\u00eancia do usu\u00e1rio no Linux.<\/em><\/p>\n<p><\/p>\n<p>Primeiro, o que \u00e9 AppImage? \u00c9 um sistema para lan\u00e7ar aplicativos de terceiros (por exemplo, <noindex><a rel=\"nofollow\" href=\"https:\/\/ultimaker.com\/software\/ultimaker-cura\">Ultimaker Cura<\/a><\/noindex>), permitindo que aplicativos sejam lan\u00e7ados quando e como desejarem: n\u00e3o \u00e9 necess\u00e1rio conhecer as particularidades de diferentes distribui\u00e7\u00f5es, pol\u00edticas de constru\u00e7\u00e3o ou infraestrutura de constru\u00e7\u00e3o, n\u00e3o h\u00e1 necessidade de suporte de depend\u00eancias, e eles n\u00e3o dizem aos usu\u00e1rios o que (n\u00e3o) pode ser instalado em seus computadores. O AppImage deve ser entendido como algo semelhante a um pacote para Mac no formato <code>.app<\/code> dentro da imagem do disco <code>.dmg<\/code>. A principal diferen\u00e7a \u00e9 que os aplicativos n\u00e3o s\u00e3o copiados, mas permanecem dentro do AppImage para sempre, da mesma maneira que os pacotes do Haiku <code>.hpkg<\/code> s\u00e3o montados, e nunca s\u00e3o instalados no sentido convencional.<\/p>\n<p><\/p>\n<p>AppImage, ao longo de mais de 10 anos de exist\u00eancia, ganhou certa atratividade e popularidade: Linus Torvalds o aprovou publicamente, e projetos amplamente utilizados (como LibreOffice, Krita, Inkscape, Scribus, ImageMagick) adotaram-no como principal m\u00e9todo de distribui\u00e7\u00e3o de vers\u00f5es cont\u00ednuas ou noturnas, sem interferir em aplicativos instalados ou n\u00e3o instalados dos usu\u00e1rios. No entanto, ambientes de trabalho e distribui\u00e7\u00f5es Linux ainda frequentemente se agarram ao modelo de distribui\u00e7\u00e3o tradicional e centralizado, baseado em pacotes e\/ou promovem seus pr\u00f3prios programas empresariais e\/ou t\u00e9cnicos baseados em <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Flatpak\">Flatpak<\/a><\/noindex> (RedHat, Fedora, GNOME) e <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Snappy_%28%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8%29\">Snappy<\/a><\/noindex> (Canonical, Ubuntu). Chega <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.gnome.org\/hughsie\/2019\/07\/12\/gnome-software-in-fedora-will-no-longer-support-snapd\/\">a ser c\u00f4mico<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"kak-vse-rabotaet\">Como tudo funciona<\/h3>\n<p><\/p>\n<ul>\n<li>Cada AppImage cont\u00e9m duas partes: um pequeno execut\u00e1vel ELF de clique duplo (chamado de <code>runtime.c<\/code>), junto com a imagem do sistema de arquivos <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/SquashFS\">SquashFS<\/a><\/noindex>.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/c48bdc61fb08cdd9d2a2be10d4cfa5a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>O sistema de arquivos SquashFS cont\u00e9m a carga \u00fatil do aplicativo e tudo que \u00e9 necess\u00e1rio para sua execu\u00e7\u00e3o, que n\u00e3o se pode, em s\u00e3 consci\u00eancia, considerar parte da instala\u00e7\u00e3o padr\u00e3o para cada sistema alvo relativamente moderno (distribui\u00e7\u00e3o Linux). Ele tamb\u00e9m cont\u00e9m metadados, como o nome do aplicativo, \u00edcones, tipos MIME, entre outros.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/57285196436aaa5468f544942b39a608.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>Ao ser iniciado pelo usu\u00e1rio, o runtime utiliza FUSE e squashfuse para montar o sistema de arquivos, ap\u00f3s o que processa o lan\u00e7amento de um ponto de entrada (chamado de AppRun) dentro do AppImage montado.<br \/>\nO sistema de arquivos \u00e9 desmontado assim que o processo \u00e9 conclu\u00eddo.<\/li>\n<\/ul>\n<p><\/p>\n<p>Parece tudo simples.<\/p>\n<p><\/p>\n<p>Mas essas coisas complicam tudo:<\/p>\n<p><\/p>\n<ul>\n<li>Com essa variedade de distribui\u00e7\u00f5es Linux, nada pode ser considerado 'parte da instala\u00e7\u00e3o padr\u00e3o para cada novo sistema de destino' em s\u00e3 consci\u00eancia. Estamos contornando esse problema atrav\u00e9s da constru\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/AppImage\/pkg2appimage\/blob\/master\/excludelist\">excludelist<\/a><\/noindex>, que define o que ser\u00e1 empacotado no AppImage e o que precisar\u00e1 ser buscado em outro lugar. Apesar disso, \u00e0s vezes falhamos, mesmo com tudo funcionando bem no geral. Por esse motivo, recomendamos que os criadores de pacotes testem AppImages em todos os sistemas alvo (distribui\u00e7\u00f5es).<\/li>\n<li>Os aplicativos na forma de carga \u00fatil devem ser m\u00f3veis dentro do sistema de arquivos. Infelizmente, muitos aplicativos t\u00eam caminhos absolutos r\u00edgidos para, por exemplo, recursos em <code>\/usr\/share<\/code>. Isso precisa ser corrigido de alguma forma. Al\u00e9m disso, \u00e9 necess\u00e1rio exportar <code>LD_LIBRARY_PATH<\/code>, ou corrigir <code>rpath<\/code> para que o carregador possa encontrar bibliotecas relacionadas. O primeiro m\u00e9todo tem suas desvantagens (que s\u00e3o contornadas de maneiras complicadas), enquanto o segundo \u00e9 simplesmente volumoso.<\/li>\n<li>A maior armadilha de UX para os usu\u00e1rios \u00e9 que \u00e9 necess\u00e1rio <noindex><a rel=\"nofollow\" href=\"https:\/\/discourse.appimage.org\/t\/how-to-run-an-appimage\/80\">definir o bit execut\u00e1vel<\/a><\/noindex> do arquivo AppImage ap\u00f3s o download. Acredite se quiser, mas para algumas pessoas isso \u00e9 uma barreira real. A necessidade de instalar a permiss\u00e3o de execu\u00e7\u00e3o \u00e9 complicada at\u00e9 mesmo para usu\u00e1rios experientes. Como uma solu\u00e7\u00e3o alternativa, sugerimos a instala\u00e7\u00e3o de um pequeno servi\u00e7o que monitora os arquivos AppImage e atribui a permiss\u00e3o de execu\u00e7\u00e3o a eles. Em sua forma pura, n\u00e3o \u00e9 a melhor solu\u00e7\u00e3o, pois n\u00e3o funcionar\u00e1 'pronto para uso'. As distribui\u00e7\u00f5es Linux n\u00e3o fornecem esse servi\u00e7o, portanto, os usu\u00e1rios 'pronto para uso' t\u00eam dificuldades.<\/li>\n<li>Os usu\u00e1rios Linux esperam que um novo aplicativo tenha um \u00edcone no menu de inicializa\u00e7\u00e3o. Voc\u00ea n\u00e3o pode simplesmente dizer ao sistema: 'Olha, ali est\u00e1 um novo aplicativo, deixe que ele funcione'. Em vez disso, de acordo com a especifica\u00e7\u00e3o XDG, \u00e9 necess\u00e1rio copiar o arquivo <code>.desktop<\/code> para o lugar certo em <code>\/usr<\/code> para uma instala\u00e7\u00e3o global, ou em <code>$HOME<\/code> para uma instala\u00e7\u00e3o individual. Os \u00edcones de tamanhos espec\u00edficos, conforme a especifica\u00e7\u00e3o XDG, devem ser colocados em locais determinados em <code>usr<\/code> ou <code>$HOME<\/code>, depois do que \u00e9 necess\u00e1rio executar comandos no ambiente de trabalho para atualizar o cache de \u00edcones, ou esperar que o gerenciador de janelas perceba e descubra tudo automaticamente. O mesmo se aplica aos tipos MIME. Como uma solu\u00e7\u00e3o alternativa, recomenda-se usar o mesmo servi\u00e7o que, al\u00e9m de configurar o bit execut\u00e1vel, copiar\u00e1 os \u00edcones e outros do AppImage para os lugares apropriados conforme o XDG, quando dispon\u00edveis. Ao remover ou mover, o servi\u00e7o supostamente limpar\u00e1 tudo. Claro, h\u00e1 diferen\u00e7as no comportamento de cada ambiente de trabalho, nos formatos de arquivos gr\u00e1ficos, seus tamanhos, locais de armazenamento e maneiras de atualizar caches, o que gera um problema. Resumindo, esse m\u00e9todo \u00e9 uma gambiarra.<\/li>\n<li>Se o que foi mencionado acima n\u00e3o for suficiente, ainda n\u00e3o h\u00e1 \u00edcone AppImage no gerenciador de arquivos. No mundo Linux, ainda n\u00e3o foi tomada uma decis\u00e3o sobre a implementa\u00e7\u00e3o do elficon (apesar de <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.kubuntu.org\/ELFIconSpec\">desativaram<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pld-linux\/elficon\">implementa\u00e7\u00e3o<\/a><\/noindex>), ent\u00e3o n\u00e3o \u00e9 poss\u00edvel embutir um \u00edcone diretamente no aplicativo. Assim, resulta que os aplicativos no gerenciador de arquivos n\u00e3o possuem seus pr\u00f3prios \u00edcones (independentemente de serem AppImage ou outra coisa), eles s\u00f3 existem no menu de inicializa\u00e7\u00e3o. Como uma solu\u00e7\u00e3o alternativa, estamos usando miniaturas \u2014 um mecanismo que foi originalmente desenvolvido para que os gerenciadores de desktop pudessem mostrar imagens reduzidas como \u00edcones para uma pr\u00e9via de arquivos gr\u00e1ficos. Portanto, o servi\u00e7o para atribuir a permiss\u00e3o de execu\u00e7\u00e3o tamb\u00e9m atua como um 'miniaturizador', criando e salvando miniaturas de \u00edcones nos locais apropriados. <code>\/usr<\/code> e <code>$HOME<\/code>. Al\u00e9m disso, esse servi\u00e7o realiza a limpeza se o AppImage for removido ou movido. Devido ao fato de que cada gerenciador de desktop se comporta de forma um pouco diferente, por exemplo, quais formatos aceitam \u00edcones, quais tamanhos ou locais, isso acaba sendo bastante complicado.<\/li>\n<li>O aplicativo simplesmente falha durante a execu\u00e7\u00e3o se ocorrem erros (por exemplo, se h\u00e1 uma biblioteca que n\u00e3o faz parte do sistema base e n\u00e3o \u00e9 fornecida no AppImage), e ningu\u00e9m informa ao usu\u00e1rio no GUI o que exatamente est\u00e1 acontecendo. Come\u00e7amos a contornar isso usando <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/notification-spec\/\">pelos desenvolvedores da lista de bloqueio EasyPrivacy, foi<\/a><\/noindex> na \u00e1rea de trabalho, o que significa que precisamos capturar os erros do terminal, transform\u00e1-los em mensagens compreens\u00edveis para o usu\u00e1rio, que ent\u00e3o devem ser exibidas na \u00e1rea de trabalho. E, claro, cada ambiente de trabalho processa isso de maneira ligeiramente diferente.<\/li>\n<li>No momento atual (setembro de 2019, \u2014 nota do tradutor) n\u00e3o encontrei um caminho simples para informar ao sistema que o arquivo <code>1.png<\/code> deve ser aberto com o Krita, e <code>2.png<\/code> \u2014 com o GIMP.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/347e54772a7312e27c83fef68be98e66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>O local de armazenamento das especifica\u00e7\u00f5es cross-desktop, usadas em <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/GNOME\">GNOME<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/KDE\">KDE<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Xfce\">Xfce<\/a><\/noindex> \u00e9 freedesktop.org. <\/em><\/p>\n<p><\/p>\n<p>Alcan\u00e7ar um n\u00edvel de sofistica\u00e7\u00e3o, profundamente entrela\u00e7ado no ambiente de trabalho Haiku, \u00e9 dificultado, para n\u00e3o dizer \u2018imposs\u00edvel\u2019, devido \u00e0s especifica\u00e7\u00f5es <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freedesktop.org\/wiki\/\">XDG do freedesktop.org<\/a><\/noindex> para cross-desktop, bem como as implementa\u00e7\u00f5es dos gerenciadores de desktop baseados nessas especifica\u00e7\u00f5es. Por exemplo, uma \u00edcone comum do sistema do Firefox: aparentemente, os autores do XDG n\u00e3o consideraram que um usu\u00e1rio poderia ter v\u00e1rias vers\u00f5es do mesmo aplicativo instaladas.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/d9743766c183f78e68a2669b09aa48d9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>\u00cdcones de diferentes vers\u00f5es do Firefox.<\/em><\/p>\n<p><\/p>\n<p>Eu me perguntei o que o mundo Linux poderia aprender com o Mac OS X para evitar erros na integra\u00e7\u00e3o de sistemas. Se voc\u00ea tiver tempo e estiver envolvido com isso, definitivamente leia o que Arnaud Gourdol, um dos primeiros engenheiros do Mac OS X, disse:<\/p>\n<p><\/p>\n<blockquote><p>Quer\u00edamos que instalar o aplicativo fosse t\u00e3o simples quanto arrastar o \u00edcone do aplicativo de algum lugar (servidor, disco externo) para o disco do seu computador. Para isso, todas as informa\u00e7\u00f5es est\u00e3o salvas no pacote do aplicativo, incluindo \u00edcones, vers\u00e3o, tipo de arquivo processado, tipo de esquema de URL que o sistema precisa saber para gerenciar o aplicativo. Isso tamb\u00e9m inclui informa\u00e7\u00f5es para 'armazenamento centralizado' na base de dados dos Servi\u00e7os de \u00cdcones e Servi\u00e7os de Lan\u00e7amento. Para suportar o desempenho do aplicativo, ele \u00e9 'detectado' em v\u00e1rios locais 'bem conhecidos': no diret\u00f3rio de Aplicativos do sistema e do usu\u00e1rio, al\u00e9m de alguns outros automaticamente, caso o usu\u00e1rio acesse o Finder no diret\u00f3rio que cont\u00e9m o aplicativo. Na pr\u00e1tica, isso funcionou muito bem.<\/p><\/blockquote>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/qQsnqWJ8D2c\">https:\/\/youtu.be\/qQsnqWJ8D2c<\/a><\/noindex><br \/>\n<em>Apple WWDC 2000 sess\u00e3o 144 - Mac OS X: empacotamento de aplicativos e impress\u00e3o de documentos.<\/em><\/p>\n<p><\/p>\n<p>N\u00e3o h\u00e1 nada similar nesta infraestrutura em ambientes de trabalho Linux, ent\u00e3o estamos procurando maneiras de contornar as limita\u00e7\u00f5es estruturais no projeto AppImage.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/a2550cb690d92d1aeb4fccff7e7fa57b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Ser\u00e1 que o Haiku est\u00e1 correndo em nosso socorro?<\/em><\/p>\n<p><\/p>\n<p>Al\u00e9m disso: as plataformas Linux, como base para ambientes de trabalho, geralmente est\u00e3o t\u00e3o subespecificadas que muitas coisas que s\u00e3o bem simples em um sistema coeso com pilha completa frustram pela fragmenta\u00e7\u00e3o e complexidade no Linux. Eu dediquei uma palestra inteira a quest\u00f5es relacionadas \u00e0 plataforma Linux para ambientes de trabalho (desenvolvedores experientes confirmaram: isso ficar\u00e1 assim por muito tempo).<\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"SQ8OXf7o6UA\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/SQ8OXf7o6UA\/hqdefault.jpg\" alt=\"Por que no hosting comum a administra\u00e7\u00e3o do PrestaShop \u00e9 lenta, e no seu n\u00e3o \u00e9?\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><em>Minha palestra sobre os problemas dos ambientes de trabalho Linux em 2018<\/em><\/p>\n<p><\/p>\n<p>At\u00e9 Linus Torvalds reconheceu que devido \u00e0 fragmenta\u00e7\u00e3o, a ideia de ambientes de trabalho n\u00e3o teve sucesso.<\/p>\n<p><\/p>\n<p>\u00c9 bom ver o Haiku!<\/p>\n<p><\/p>\n<h2 id=\"s-haiku-vse-stanovitsya-potryasayusche-prostym\">Com o Haiku, tudo se torna incrivelmente simples.<\/h2>\n<p><\/p>\n<p>Embora a abordagem ing\u00eanua para 'transferir' AppImage para Haiku consista em simplesmente tentar compilar (principalmente runtime.c e o servi\u00e7o) seus componentes (o que pode at\u00e9 ser poss\u00edvel!), isso n\u00e3o trar\u00e1 grandes benef\u00edcios para o Haiku. Porque na verdade a maioria desses problemas j\u00e1 foi resolvida no Haiku e \u00e9 conceitualmente fundamentada. Haiku fornece exatamente os blocos que eu procurei por tanto tempo em ambientes de trabalho no Linux e n\u00e3o consegui acreditar que eles n\u00e3o estavam l\u00e1. Ou seja:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/29f583bd24bd06cd67311a5087243639.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Acredite ou n\u00e3o, mas isso n\u00e3o pode ser superado por muitos usu\u00e1rios do Linux. No Haiku, tudo acontece automaticamente!<\/em><\/p>\n<p><\/p>\n<ul>\n<li>Arquivos ELF, que n\u00e3o possuem o bit de executabilidade, recebem isso automaticamente ao serem clicados duas vezes no gerenciador de arquivos.<\/li>\n<li>Os aplicativos podem ter recursos embutidos, como \u00edcones, que s\u00e3o exibidos no gerenciador de arquivos. N\u00e3o \u00e9 necess\u00e1rio copiar uma infinidade de imagens para diret\u00f3rios espec\u00edficos de \u00edcones, portanto, n\u00e3o \u00e9 necess\u00e1rio limpar ap\u00f3s a remo\u00e7\u00e3o ou movimenta\u00e7\u00e3o do aplicativo.<\/li>\n<li>H\u00e1 um banco de dados para associar aplicativos a documentos, n\u00e3o \u00e9 necess\u00e1rio copiar arquivos para isso.<\/li>\n<li>No diret\u00f3rio lib\/ pr\u00f3ximo ao arquivo execut\u00e1vel, as bibliotecas s\u00e3o buscadas por padr\u00e3o.<\/li>\n<li>N\u00e3o existem in\u00fameras distribui\u00e7\u00f5es e ambientes de desktop, tudo que funciona \u2014 funciona em qualquer lugar.<\/li>\n<li>N\u00e3o existe um m\u00f3dulo separado para executar que se diferen\u00e7asse do diret\u00f3rio Aplicativos.<\/li>\n<li>Nos aplicativos, n\u00e3o h\u00e1 caminhos absolutos embutidos para seus recursos, existem fun\u00e7\u00f5es especiais para determinar localiza\u00e7\u00f5es em tempo de execu\u00e7\u00e3o.<\/li>\n<li>A ideia de imagens de sistemas de arquivos comprimidas foi implementada: isso \u00e9 qualquer pacote hpkg. Todos s\u00e3o montados pelo kernel.<\/li>\n<li>Cada arquivo \u00e9 aberto pelo aplicativo que o criou, a menos que explicitamente indicado de outra forma. Que legal!<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/335fedea2cc70e9d9e0c8f3dbcd41560.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Dois arquivos png. Note os diferentes \u00edcones, indicando que eles ser\u00e3o abertos por aplicativos diferentes ao serem clicados duas vezes. Tamb\u00e9m observe o menu suspenso 'Abrir com:', onde o usu\u00e1rio pode escolher um aplicativo espec\u00edfico. Que f\u00e1cil!<\/em><\/p>\n<p><\/p>\n<p>Parece que muitos gambiarras e caminhos alternativos necess\u00e1rios para o AppImage no Linux se tornam desnecess\u00e1rios no Haiku, que tem em sua base simplicidade e sofistica\u00e7\u00e3o, permitindo que atenda \u00e0 maioria de nossas necessidades.<\/p>\n<p><\/p>\n<h2 id=\"nuzhny-li-haiku-pakety-prilozheniy-v-konce-koncov\">Ser\u00e3o necess\u00e1rios pacotes de aplicativos Haiku, afinal?<\/h2>\n<p><\/p>\n<p>Isso leva a uma grande quest\u00e3o. Se criar um sistema semelhante ao AppImage no Haiku se revelar muito mais f\u00e1cil do que no Linux, valeria a pena investir tempo nisso? Ou o Haiku, com seu sistema de pacotes hpkg, eliminou de fato a necessidade de desenvolver uma ideia semelhante? Bem, para responder, precisamos olhar para a motiva\u00e7\u00e3o por tr\u00e1s da exist\u00eancia dos AppImages.<\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-polzovatelya\">A perspectiva do usu\u00e1rio<\/h3>\n<p><\/p>\n<p>Vamos dar uma olhada no nosso usu\u00e1rio final:<\/p>\n<p><\/p>\n<ul>\n<li>Eu quero instalar um aplicativo sem que seja solicitada a senha do administrador (root). <em>No Haiku, n\u00e3o existe o conceito de administrador; o usu\u00e1rio tem controle total, uma vez que se trata de um sistema pessoal!<\/em> (Na verdade, pode-se imaginar isso em modo multiusu\u00e1rio, espero que os desenvolvedores mantenham a simplicidade)<\/li>\n<li>Quero receber as \u00faltimas e melhores vers\u00f5es dos aplicativos, sem esperar que elas apare\u00e7am na minha distribui\u00e7\u00e3o (na maioria das vezes isso significa 'nunca', a menos que eu atualize todo o sistema operacional). <em>No Haiku, isso \u00e9 'resolvido' por meio de lan\u00e7amentos flutuantes. Isso significa que h\u00e1 a possibilidade de obter as \u00faltimas e melhores vers\u00f5es dos aplicativos, mas para isso \u00e9 necess\u00e1rio atualizar constantemente o restante do sistema, transformando-o efetivamente em um 'alvo em movimento'.<\/em>.<\/li>\n<li>Gostaria de ter v\u00e1rias vers\u00f5es do mesmo aplicativo lado a lado, pois n\u00e3o posso saber o que foi quebrado na \u00faltima vers\u00e3o, ou, digamos, como desenvolvedor web, preciso testar meu trabalho em diferentes vers\u00f5es de navegadores. <em>No Haiku, o primeiro problema \u00e9 resolvido, mas o segundo n\u00e3o. As atualiza\u00e7\u00f5es podem ser revertidas, mas apenas para o sistema como um todo; n\u00e3o \u00e9 poss\u00edvel (pelo que sei) executar, por exemplo, v\u00e1rias vers\u00f5es do WebPositive ou do LibreOffice ao mesmo tempo.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>Um dos desenvolvedores afirma:<\/p>\n<p><\/p>\n<blockquote><p>Basicamente, a justificativa \u00e9 a seguinte: o cen\u00e1rio de uso \u00e9 t\u00e3o raro que a otimiza\u00e7\u00e3o para isso n\u00e3o faz sentido; trat\u00e1-lo como um caso especial no HaikuPorts parece mais do que aceit\u00e1vel.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Preciso poder armazenar aplicativos onde eu quiser, e n\u00e3o apenas no disco de boot. Frequentemente fico sem espa\u00e7o nos discos, ent\u00e3o preciso conectar um disco externo ou um diret\u00f3rio de rede para armazenar os aplicativos (todas as vers\u00f5es que baixei). Quando conecto tal disco, gostaria que os aplicativos fossem iniciados com um duplo clique. <em>O Haiku mant\u00e9m vers\u00f5es antigas dos pacotes, mas n\u00e3o sei como transferi-los para um disco externo, nem como depois executar os aplicativos de l\u00e1.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>Coment\u00e1rio do desenvolvedor:<\/p>\n<p><\/p>\n<blockquote><p>Tecnicamente, isso j\u00e1 \u00e9 poss\u00edvel com a equipe mount. Claro, faremos uma GUI para isso assim que houver um n\u00famero suficiente de usu\u00e1rios interessados.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>N\u00e3o preciso de milh\u00f5es de arquivos espalhados pelo sistema de arquivos que n\u00e3o posso gerenciar manualmente. Quero um arquivo por aplicativo que eu possa baixar, mover e excluir facilmente. <em>No Haiku, esse problema \u00e9 resolvido com pacotes <code>.hpkg<\/code>, que transportam, por exemplo, o Python, de milhares de arquivos para um s\u00f3. Mas se houver, por exemplo, o Scribus usando Python, terei que lidar com pelo menos dois arquivos. E eu preciso me certificar de que estou guardando as vers\u00f5es que funcionam entre si.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/94ccb9d0b693b7411946b432f3d2f347.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>M\u00faltiplas vers\u00f5es de AppImages, executadas lado a lado em um Linux<\/em><\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-razrabotchika-prilozheniy\">Uma vis\u00e3o do ponto de vista do desenvolvedor de aplicativos<\/h3>\n<p><\/p>\n<p>Vamos olhar do ponto de vista do desenvolvedor de aplicativos:<\/p>\n<p><\/p>\n<ul>\n<li>Quero ter controle total sobre a experi\u00eancia do usu\u00e1rio. N\u00e3o quero depender do sistema operacional que me dir\u00e1 quando e como devo lan\u00e7ar aplicativos. <em>No Haiku, os desenvolvedores podem trabalhar com seus pr\u00f3prios reposit\u00f3rios hpkg, mas isso significa que os usu\u00e1rios precisar\u00e3o configur\u00e1-los manualmente, o que torna essa ideia 'menos atraente'.<\/em><\/li>\n<li>Tenho uma p\u00e1gina de download no meu site onde distribuo <code>.exe<\/code> para Windows, <code>.dmg<\/code> para Mac e <code>.AppImage<\/code> para Linux. E talvez eu queira monetizar o acesso a essa p\u00e1gina, tudo pode acontecer? O que preciso colocar l\u00e1 para o Haiku? <em>Basta um arquivo <code>.hpkg<\/code> com depend\u00eancias apenas do HaikuPorts<\/em><\/li>\n<li>Meu software precisa de vers\u00f5es espec\u00edficas de outro software. Por exemplo, \u00e9 sabido que para o Krita \u00e9 necess\u00e1ria uma vers\u00e3o corrigida do Qt, ou um Qt que esteja exatamente configurado para uma vers\u00e3o espec\u00edfica do Krita, pelo menos at\u00e9 que as corre\u00e7\u00f5es voltem para o Qt. <em>\u00c9 poss\u00edvel empacotar seu pr\u00f3prio Qt para o aplicativo em um pacote <code>.hpkg<\/code>, mas provavelmente isso n\u00e3o \u00e9 bem-vindo.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/7dcb146d08ebd570899d0d73b6517faa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Uma p\u00e1gina de download comum de aplicativos. O que colocar aqui para o Haiku?<\/em><\/p>\n<p><\/p>\n<p>Os kits (existindo na forma de diret\u00f3rios de aplicativos, como AppDir ou <code>.app<\/code> estilo Apple) e\/ou imagens (na forma de AppImages fortemente modificadas ou <code>.dmg<\/code> de aplicativos da Apple) \u00e9 um complemento \u00fatil para o ambiente de trabalho Haiku? Ou isso ir\u00e1 desvirtuar a vis\u00e3o geral e levar \u00e0 fragmenta\u00e7\u00e3o, tornando tudo mais complexo? Estou em d\u00favida: por um lado, a beleza e a sofistica\u00e7\u00e3o do Haiku se baseiam no fato de que geralmente h\u00e1 uma maneira de fazer algo, e n\u00e3o v\u00e1rias. Por outro lado, grande parte da infraestrutura para diret\u00f3rios e\/ou pacotes de aplicativos j\u00e1 existe, portanto, o sistema clama para que os restantes poucos por cento se integrem.<\/p>\n<p><\/p>\n<p>De acordo com o desenvolvedor <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/u\/f103a52f4b96?source=post_page-----1803a11f9748----------------------\">mr. waddlesplash<\/a><\/noindex><\/p>\n<p><\/p>\n<blockquote><p>No Linux, eles (<em>diret\u00f3rios e pacotes de aplicativos \u2014 nota do tradutor<\/em>) provavelmente s\u00e3o uma solu\u00e7\u00e3o t\u00e9cnica para problemas sist\u00eamicos. No Haiku, preferimos simplesmente resolver os problemas sist\u00eamicos.<\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"a-vy-chto-dumaete\">E voc\u00ea, o que acha?<\/h2>\n<p><\/p>\n<h3 id=\"prezhde-chem-otvetite\">Antes de responder...<\/h3>\n<p><\/p>\n<p>Espere, vamos fazer uma r\u00e1pida verifica\u00e7\u00e3o da realidade: na verdade <em>diret\u00f3rios de aplicativos<\/em> \u2014 j\u00e1 fazem parte do Haiku:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Mais uma coisa: pacotes de aplicativos Haiku?\" src=\"\/wp-content\/uploads\/2019\/09\/b9d3c8ce130d256bc645bd2ee28905a7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Os diret\u00f3rios de aplicativos j\u00e1 existem no Haiku, mas ainda n\u00e3o s\u00e3o suportados no gerenciador de arquivos<\/em><\/p>\n<p><\/p>\n<p>Eles simplesmente n\u00e3o s\u00e3o t\u00e3o bem suportados quanto, digamos, no Finder do Macintosh. Seria incr\u00edvel se o diret\u00f3rio do QtCreator tivesse, no canto superior esquerdo, o nome e o \u00edcone do &#171;QtCreator&#187;, abrindo o aplicativo com um duplo clique?<\/p>\n<p><\/p>\n<p>Um pouco antes, eu j\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@probonopd\/historic-software-can-your-package-manager-handle-this-86563a46f8b5\">perguntei<\/a><\/noindex>:<\/p>\n<p><\/p>\n<blockquote><p>Voc\u00ea tem certeza de que conseguir\u00e1 executar seus aplicativos de dez anos atr\u00e1s hoje, quando todas as lojas de aplicativos e reposit\u00f3rios de distribui\u00e7\u00f5es esquecerem deles e de suas depend\u00eancias? Voc\u00ea tem certeza de que ainda poder\u00e1 acessar seu trabalho atual no futuro?<\/p><\/blockquote>\n<p>H\u00e1 alguma resposta por parte do Haiku, ou os diret\u00f3rios e pacotes de aplicativos poder\u00e3o ajudar aqui? Eu acho que poder\u00e3o.<\/p>\n<p><\/p>\n<p>De acordo com o sr. waddlesplash:<\/p>\n<p><\/p>\n<blockquote><p>Sim, temos uma resposta para a pergunta: vamos simplesmente suportar esses aplicativos pelo tempo que for necess\u00e1rio, at\u00e9 que algu\u00e9m consiga ler seus formatos de arquivo corretamente ou garantir a funcionalidade um a um. Nosso compromisso em manter a execu\u00e7\u00e3o dos aplicativos BeOS R5 no Haiku \u00e9 uma prova disso\u2026<\/p><\/blockquote>\n<p>Exatamente!<\/p>\n<p><\/p>\n<h3 id=\"kakoy-plan-deystviy-dolzhna-prinyat-haiku\">Qual deve ser o plano de a\u00e7\u00e3o do Haiku?<\/h3>\n<p><\/p>\n<p>Eu posso imaginar uma coexist\u00eancia pac\u00edfica entre hpkg, diret\u00f3rios e imagens de aplicativos:<\/p>\n<p><\/p>\n<ul>\n<li>Software de sistema utiliza <code>.hpkg<\/code><\/li>\n<li>Para o software mais utilizado (especialmente aquele que precisa de lan\u00e7amentos flutuantes programados), utiliza-se <code>.hpkg<\/code> (cerca de 80% de todos os casos)<\/li>\n<li>Alguns, instalados atrav\u00e9s de <code>.hpkg<\/code>, os aplicativos se beneficiar\u00e3o ao migrar para uma infraestrutura com diret\u00f3rios de aplicativos (por exemplo, QtCreator): eles ser\u00e3o distribu\u00eddos na forma de <code>.hpkg<\/code>, como antes.<\/li>\n<\/ul>\n<p><\/p>\n<p>mr. waddlesplash comenta:<\/p>\n<p><\/p>\n<blockquote><p>Se tudo o que voc\u00ea precisa \u00e9 visualizar aplicativos em <code>\/system\/apps<\/code>, em vez disso, \u00e9 necess\u00e1rio tornar os diret\u00f3rios na Deskbar mais gerenci\u00e1veis para os usu\u00e1rios, uma vez que <code>\/system\/apps<\/code> n\u00e3o \u00e9 projetado para que os usu\u00e1rios o abram e o visualizem regularmente (diferente do MacOS). Para tais situa\u00e7\u00f5es, o Haiku possui outra paradigma, mas essa abordagem \u00e9, em teoria, aceit\u00e1vel.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>O Haiku est\u00e1 recebendo infraestrutura para executar imagens de aplicativos, vers\u00f5es noturnas, cont\u00ednuas e de teste de software, bem como para os casos em que o usu\u00e1rio deseja &#171;congel\u00e1-lo no tempo&#187;, para software privado e interno, e outras situa\u00e7\u00f5es de uso especiais (cerca de 20% de todos). Essas imagens cont\u00eam os arquivos necess\u00e1rios para a execu\u00e7\u00e3o do aplicativo. <code>.hpkg<\/code>, montados pelos meios do sistema, e ap\u00f3s a conclus\u00e3o do aplicativo \u2014 desmontados. (Talvez, o gerenciador de arquivos poderia colocar arquivos <code>.hpkg<\/code> nas imagens de aplicativos, automaticamente ou a pedido do usu\u00e1rio \u2014 assim como quando voc\u00ea arrasta um aplicativo para um diret\u00f3rio de rede ou disco externo. Isso \u00e9 simplesmente uma can\u00e7\u00e3o! Ou melhor, uma poesia \u2014 haiku.) Por outro lado, o usu\u00e1rio pode querer instalar o conte\u00fado da imagem como arquivos<code>.hpkg<\/code>, ap\u00f3s o que eles ser\u00e3o atualizados e processados exatamente como se tivessem sido instalados atrav\u00e9s do HaikuDepot... Precisamos fazer uma sess\u00e3o de brainstorming.<\/li>\n<\/ul>\n<p><\/p>\n<p>Cita\u00e7\u00e3o de mr. waddlesplash:<\/p>\n<p><\/p>\n<blockquote><p>Executar aplicativos de discos externos ou diret\u00f3rios de rede pode ser potencialmente \u00fatil. E adicionar a possibilidade de configurar mais &#171;zonas&#187; para o pkgman definitivamente seria uma boa funcionalidade.<\/p><\/blockquote>\n<p>Um sistema como esse aproveitaria os benef\u00edcios do hpkg, diret\u00f3rios e imagens de aplicativos. Eles s\u00e3o bons separadamente, mas juntos se tornam invenc\u00edveis.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Conclus\u00e3o<\/h2>\n<p><\/p>\n<p>Para o Haiku, existe uma infraestrutura que fornece uma interface de usu\u00e1rio simples e sofisticada para PCs, e que vai muito al\u00e9m do que geralmente \u00e9 oferecido para PCs com Linux. O sistema de pacotes <code>.hpkg<\/code> \u2014 um desses exemplos, mas as outras partes do sistema tamb\u00e9m est\u00e3o imbidas de sofistica\u00e7\u00e3o. No entanto, um suporte adequado para cat\u00e1logos e imagens de aplicativos beneficiaria o Haiku. Como isso pode ser feito da melhor maneira \u2014 deve ser discutido com pessoas que conhecem o Haiku, sua filosofia e arquitetura muito melhor do que eu. Afinal, estou usando o Haiku h\u00e1 pouco mais de uma semana. Mas, mesmo assim, acredito que essa nova perspectiva ser\u00e1 \u00fatil para designers, desenvolvedores e arquitetos do Haiku. Pelo menos, estou feliz em ser um \"sparring partner\" para eles. Tenho mais de 10 anos de experi\u00eancia pr\u00e1tica com cat\u00e1logos e pacotes de aplicativos para Linux, e gostaria de encontrar uma aplica\u00e7\u00e3o para o Haiku, cuja concep\u00e7\u00e3o, na minha opini\u00e3o, \u00e9 perfeita para isso. As solu\u00e7\u00f5es potenciais que propus n\u00e3o s\u00e3o de forma alguma as \u00fanicas corretas para os problemas que descrevi, e se a equipe do Haiku decidir encontrar outras, mais elegantes \u2014 eu s\u00f3 estarei torcendo. <code>hpkg<\/code> ainda mais surpreendente, sem mudar a forma como opera. Aparentemente, a equipe do Haiku tem pensado em pacotes de aplicativos desde a implementa\u00e7\u00e3o do sistema de gerenciamento de pacotes, mas, infelizmente, (pelo que parece) a ideia foi para &#171;descartadas&#187;. Talvez seja hora de reviv\u00ea-la?<\/p>\n<p><\/p>\n<p>Experimente voc\u00ea mesmo! O projeto Haiku oferece imagens para download via DVD ou USB, geradas <noindex><a rel=\"nofollow\" href=\"https:\/\/download.haiku-os.org\/?source=post_page---------------------------\">diariamente<\/a><\/noindex>.<br \/>\nTem alguma d\u00favida? Convidamos voc\u00ea para o nosso canal em russo no <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/HaikuOS_RU_chat\">telegram<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Resumo de erros: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/pvs-studio\/blog\/461255\/\">Como dar um tiro no p\u00e9 em C e C++. Uma colet\u00e2nea de receitas do Haiku OS<\/a><\/noindex><\/p>\n<p><\/p>\n<p>A partir de <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/Finnix\/\">autor<\/a><\/noindex> tradu\u00e7\u00e3o: este \u00e9 o oitavo e \u00faltimo artigo de uma s\u00e9rie sobre o Haiku.<\/p>\n<p><\/p>\n<p>Lista de artigos: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">Primeiro<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461451\/\">Segundo<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/462815\/\">Terceiro<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463105\/\">Quarto<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463803\/\">Quinto<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/464819\/\">Sexto<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/465241\/\">S\u00e9timo<\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Apenas usu\u00e1rios registrados podem participar da pesquisa. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Entre<\/a><\/noindex>, por favor.<\/p>\n<h2 class=\"default-block__polling-title\">Vale a pena portar o sistema hpkg para Linux?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Sim<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    N\u00e3o<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    J\u00e1 implementado, escreverei nos coment\u00e1rios.<\/p>\n<\/li>\n<\/ul>\n<p>    Votaram 20 usu\u00e1rios. 5 usu\u00e1rios se abstiveram.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/466301\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043a\u0430\u043a .app \u0432 Mac) \u0438\/\u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (Linux AppImage)? \u041c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0443\u0436\u0435 \u0435\u0441\u0442\u044c. \u041d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u0442\u043a\u0440\u044b\u043b \u0434\u043b\u044f \u0441\u0435\u0431\u044f Haiku, \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041d\u0443 \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37830","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Algo mais: pacotes de aplicativos Haiku? | ProHoster","description":"TL;DR: ser\u00e1 que o Haiku pode.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster","og:description":"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:00+00:00","article:modified_time":"2019-10-31T19:20:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37830","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:26:35","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:20:22","updated":"2026-01-23 19:26:35","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/37830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=37830"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/37830\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/28393"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=37830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=37830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=37830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}