AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1543395
Accepted
CPlus
CPlus
Asked: 2025-03-11 08:06:46 +0800 CST2025-03-11 08:06:46 +0800 CST 2025-03-11 08:06:46 +0800 CST

Qual é a estrutura de arquivos de um aplicativo Ubuntu?

  • 772

No MacOS, um aplicativo é uma pasta, seja /Applicationsse instalado em todo o sistema ou ~/Applicationsse instalado apenas para um usuário específico, que contém um MacOSdiretório que contém o executável, um Resourcesdiretório que contém quaisquer ativos ou recursos extras que um aplicativo precisa para ser executado. Há também outros arquivos como Info.plistou Pkginfo.

Minha pergunta é: qual é a estrutura do Ubuntu para aplicativos? De acordo com isso, o executável é armazenado em /usr/binou algo assim. Mas isso parece ser apenas o executável. Onde os aplicativos armazenam os ativos, como o ícone do dock, texturas de jogos, etc.? Ou quaisquer outros dados que fazem parte do aplicativo, mas não do executável? No Mac, os aplicativos parecem ser pacotes autocontidos, mas não no Linux. Como todos os componentes do aplicativo são estruturados no sistema de arquivos?

PS: Eu esperava que isso fosse uma megaduplicata, mas por algum motivo todas as minhas pesquisas não deram em nada, exceto pela pergunta vinculada.

application-development
  • 1 1 respostas
  • 57 Views

1 respostas

  • Voted
  1. Best Answer
    vanadium
    2025-03-11T22:32:07+08:002025-03-11T22:32:07+08:00

    A estrutura de arquivos de um aplicativo Linux instalado pode ser bastante complexa. Arquivos do aplicativo (aplicativos, bibliotecas, dados, configuração) não estão contidos em um diretório específico, mas espalhados pela estrutura de arquivos do sistema de acordo com convenções, escritas no Filesystem Hierarchy Standard .

    Aplicativos em contêiner (Snap, flatpak, Appimage) terão todos os seus executáveis, bibliotecas, dados e configurações em diretórios específicos ou em arquivos de imagem única. Quando um pacote em contêiner é executado, ele é exposto a esse sistema de arquivos como se fosse o sistema de arquivos raiz real do seu computador.

    Cada aplicativo é iniciado com um executável , usado para iniciar o programa. Normalmente, o executável é instalado em um diretório que está listado na variável de ambiente $PATH. Você pode ver o conteúdo da variável de ambiente PATH com o comando printenv PATH.

    • Para programas instalados em DEB (por exemplo, usando apt), os executáveis ​​do sistema vão em /usr/sbin, outros executáveis ​​vão em /usr/bin.
    • Para programas instalados manualmente (por exemplo, compilados), a recomendação é colocá-los em um diretório diferente que não seja controlado pelo seu gerenciador de pacotes, ou seja, /usr/local/binou sbin.

    Binários executáveis ​​e bibliotecas privadas de um programa de terceiros são comumente colocados em /opt, totalmente distintos dos componentes principais do sistema operacional. Normalmente, os executáveis ​​de sob opt/são vinculados em /usr/local/bin, ou um script wrapper é colocado lá para que esses programas "opcionais" também possam ser iniciados convenientemente digitando um nome no prompt.

    Bibliotecas compartilhadas, ou seja, bibliotecas comumente usadas por diferentes aplicativos, normalmente são armazenadas em /usr/lib, aquelas de programas compilados em /usr/local/lib.

    Os arquivos de configuração geralmente ficam em /etc.

    Os dados do programa (logs, bancos de dados, cache, …) usados ​​durante a execução estão sob /var.

    O whereiscomando pode dar uma ideia de onde os arquivos de um aplicativo estão, por exemplo

    $ whereis firefox
    firefox: /usr/bin/firefox /usr/lib64/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz
    

    Para descobrir quais arquivos foram instalados onde por um pacote específico, você pode usar

    dpkg -L $package
    
    • 3

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve