Quem acompanha a evolução de alguma distribuição já deve ter sofrido com a falta de padronização em alguns comandos, aplicativos e diretórios, conforme a evolução destas distribuições. Empresas como a Microsoft e Apple prezam pela padronização para cativar seus usuários, mas o Linux ainda peca nesta área.
As empresas ou organizações que desenvolvem as distribuições Linux têm, constantemente, feito alterações de uma versão pra outra que complicam algumas rotinas já adquiridas na distro anterior. Algumas vezes um mesmo aplicativo tem nomes completamente diferentes de uma distribuição pra outra, ou até dentro da mesma distribuição, quando esta muda de versão.
O editor de texto "pico", que também é conhecido como "nano" é um exemplo claro deste problema. Em versões como Conectiva, Ubuntu e Red Hat o nome é pico, mas em outras, como Fedora o nome é "nano".
Esta falta de padronização atinge também alguns scripts, criados pelas próprias distros. No Ubuntu Server 8.10, o script que inicia, reinicia e para o dhcp é o "dhcp-server". Já na versão 9.10 do Ubuntu Server o nome do script é "dhcp3-server", e numa outra já foi "dhcpd", ou seja, três nomenclaturas diferentes para a mesma coisa.
O problema continua quando tentamos instalar algum aplicativo pelo apt-get. Já sofri bastante com as diversas diferenças entre os nomes dos pacotes, como em open-sshd, sshd-server, openssh-server, sshd, e assim por diante. Para resolver este problema eu faço uma consulta do nome do pacote antes de instalar, usando o comando apt-cache search nome_do_pacote.
Há também o problema da organização dos arquivos em pastas. Em algumas distribuições, um pendrive é montado automaticamente dentro da pasta /mnt, já em outras, como Ubuntu é na pasta /media. Dentro do mesmo Ubuntu Desktop, na versão 9.04 a área de trabalho ficava no diretório /home/usuário/Desktop. Já na versão 10.04 fica em /home/usuário/Área de trabalho.
Sei que terão pessoas dizendo que isso é o preço da evolução do sistema, que tocar um projeto grande, como a manutenção de uma distribuição, algumas "baixas de guerra" são necessárias para melhorar o sistema, porém, defendo minha posição por achar que estas mudanças podem ser "transparente" para o usuário.
Os mantenedores das distribuições devem ter, antes de tudo, uma maior preocupação com a facilidade proporcionada aos usuários, coisa que é primordial em outros sistemas operacionais, como os da Microsoft e Apple.
Muitos desistem do Linux e voltam a usar outros sistemas na menor dificuldade, antes de serem atraídos pelos benefícios do Linux e, uma vez insatisfeitos, não voltam mais.
Uma padronização melhoraria também o desenvolvimento de novas ferramentas. Agora falando em primeira pessoa, algumas vezes sinto-me desencorajado a criar um script e divulgá-lo na internet, porque tenho que me preocupar com as várias nomenclaturas e organização de pastas que variam conforme as distribuições e até mesmo dentro das próprias distribuições.
Este artigo é uma forma de protesto com a falta de padronização do Linux. Uso, estudo e trabalho para ajudar a desenvolver o Linux usando os meios que me são possíveis e hoje, minha contribuição não será com um programa, ou um script, ou uma dica, mas sim tornando pública esta reclamação, na qual também me incluo.
Agradeço a todos que puderem acrescentar algo a este artigo, quer seja com críticas, dicas ou sugestões.
[1] Comentário enviado por Lisandro em 15/06/2010 - 07:52h
Concordo que tem que haver um mínimo de padronização sem deixar o sistema preso.
Realmente as mudanças nos nomes de scripts e pacotes nos forçam a acompanhar as notas de lançamento das distribuições e não é qualquer usuário que tem paciência para isso.
Bom, quanto ao Pico e o Nano tenho que te dizer que não são o mesmo programa. O Nano é mais novo e feito por outros programadores, ele foi criado para ser um clone GNU do Pico. Pelo visto eles fizeram um bom trabalho já que a gente nem percebe as diferenças, né? XD
O caso de montar em /mnt ou em /media, não tem geito, é parte da evolução e opção por programas e filosofias que é particular (e desparelho) para cada distribuição. Não dá pra evitar essas diferenças sem que comprometa a evolução do sistema.
Bom artigo de alerta. Parabéns!
[2] Comentário enviado por ticones em 15/06/2010 - 08:56h
Com relação a Área de Trabalho, acredito que /home/usuário/Desktop seja o padrão se você instalar o Ubuntu em Inglês e, /home/usuário/Área de Trabalho em Português, ou seja, me parece que não é falta de padronização, mas apenas a internacionalização do nome das pastas. Não sei no Lucid, mas em algumas versões anteriores, quando você mudava o idioma do Gnome, ele perguntava se você desejava manter ou atualizar o nome das pastas do seu home. Mas com certeza, concordo nos outros pontos, realmente falta padronização em vários casos. []s
Agora no que se refere ao Desktop e as nomenclaturas de programa, cada distro tem suas regras, por exemplo, ao instalar o Mozilla Firefox no Arch Linux, me surge um tal de Namoroka, facilmente resolvido com um pacman -Sy firefox-i18n. No Debian o mesmo pacote chama-se Iceweasel, tudo isso devido às licenças.
Para mim, padronização deveria ocorrer nos nomes dos pacotes, veja outro exemplo, para instalar o kernel 2.6 no Debian e no Arch Linux:
[4] Comentário enviado por albfneto em 15/06/2010 - 14:02h
Acho um pouco curto para um artigo, mas o assunto é interessante e sem dúvida, pauta para um artigo.
sobre a padronização.
Problema que vejo é transformar todas as distros em.. Windows! todas iguais! Isso, acho, seria o fim de várias delas!
Uma das melhores coisas do Linux, é poder escolher... Se todos usarem .DEB, quem vai usar RPM, Portage, Pacman?
o Legal do Linux é ter vários tipos de coisas, ambientes gráficos, gerenciadores de pacotes..
Porque eu uso Sabayon, Gentoo, OpenSUSE e Mandriva? Entre outras coisas porque gosto de Portage, URPMI, Zypper,,,
Gosto de RPMs e Gentoos, mais do que os Debian, e essa preferência e bem pessoal...
Se os Linux forem muito padronizados, vão ficar todos iguais! Muita Gente usa Arch, Gentoo, Funtoo,porque eles são diferentes..
Pensem numa padronização muito grande... Porque transformar o histórico e clássico Slackware, amado e cultuado por seus usuários fanáticos em... Debian ou Ubuntu?
[5] Comentário enviado por Luiz Felipe FM C em 15/06/2010 - 20:57h
Acho que uma boa solução seria aderir a estratégia da Microsoft. Os problemas de diretórios, por exemplo, poderiam ser facilmente resolvidos com algo do tipo: %desktop%, %unixdir%, %documents%...
Se utilizasse "links" como os de cima, todas as distribuições continuariam se distinguindo entre elas, entretanto terão a mesmo compatibilidade de softwares. Sem dúvida seria um grande estímulo para desenvolvimento de software para Linux, principalmente para empresas. Quem que usava o Dreamweaver e o PhotoShop no Windows e quando migrou pro Linux não falou: "NOSSA, que p&$#%&, a Adobe não desenvolveu pacotes de design pro Linux?".
Os mesmos tipos de atalhos também poderiam suprir qualquer outra necessidade de padronização entre as distros, sem que, como o nosso amigo albfneto escreveu acima, todas se tornassem iguais. O único problema que eu vejo, e que é bem grande, é o nome de um mesmo programa que muda a cada versão, nesse ponto, com certeza deveria haver padronização total, com raras exceções.
[7] Comentário enviado por Nilodanx52 em 15/06/2010 - 23:49h
quando sai do ubuntu pro fedora tive dificuldades na questão de pacotes (os nomes e funções »» Me bati muito mesmo!!!) o melhor foi no arch e slackware (pelas particularidades!!!) portanto concordo em genero e grau com o fato de padronizar os pacotes... no arch eu ñ sofro muito com isso por ser rolling release dai ja sabem né... =-D
[8] Comentário enviado por juaor em 16/06/2010 - 10:30h
Djair, muito oportuno o seu artigo protesto, faço coro contigo, sou apenas usuário do ubuntu, mas sinto muitas dificuldades com essas mudanças que incomodam. Aproveito para questionar, por qual razão um determinado driver funciona em um kernel que, uma vez atualizado, não roda mais aquele driver?
Como ja comentaram acima, é interessante as variantes e diversas distribuições existentes, mas, quando se fala em massificação do linux, acredito que a padronização de pelo menos uma distribuição seria fundamental, inclusive por facilitar a vida daqueles que criam softwares para o Linux.
[10] Comentário enviado por Lordmetalex em 16/06/2010 - 12:53h
Bom, pra começar gostaria de dizer que sou iniciante no Linux ( +- 3 anos ), já usei por algum tempo o Ubuntu 8.10, o Fedora 8, o Famelix 2.0b e hoje eu uso o Big Linux 4.2 ( gostei muito desse ), não é fácil pra quem está começando ter tantos nomes diferentes, jeito de se fazer as mesmas coisas diferentes, programas que não são compatíveis ou que as vezes tem nomes diferentes, mas o que mais me atrapalha é a maneira que é distribuídas os diretórios.... No Windows, eu sei que a pasta usuário fica em ?:\documents and settings\usuário.
No Linux, dependendo da distro, não saberia te dizer..... Mesmo assim eu gosto muito desse sistema!!!
[11] Comentário enviado por albfneto em 16/06/2010 - 16:52h
LordMetalex...
o que ocorre é que o Linux, segue mais ou menos o Unix, não dá em linux,para colocar tudo do mesmo programa ou pacote numa pasta única, pq diferente do Windows, em linux, perifericos são controlados por arquivos texto e por scripts, modulos de kernel, localizados onde o sistema precisa deles etc....
ele, linux, não tem só executáveis, como o win, e os outros arquivos associados, não são "acessórios" que se pode tirar!
porisso em linux, nunca se sabe o que se pode apagar, a não seu que se conheça a estrutura dos diretórios...
o quer estou querendo dizer é que um pacote X, não vai funcionar se estiver tudo na pasta /X...
as configs ficarão em /etc/X, os executáveis, .run ou .bin, ficarão em /bin ou /sbin..
por ex... como o linux "sabe" que seu gravador de DVD é um dispositivo? é pq está no /dev (/device) ou no /opt (/ ótico)!
até dá pra "mudar", tem uma distro que faz isso, o GoboLinux, mas ela usa "links simbólicos" para associar.
a estrutura de diretórios de um sistema Unix Like, é muito mais rígida que do Windows... se não for achado o path, o caminho do arquivo, não funfa.
o lado bom, é que isso ensina muito linux, com o tempo, vc pega o jeito da sua distro e pode mexer nela, invés de só usar, e aí vai percebendo onde cada coisa tá gravada e como pode ser modificada ou personalizada, e isso não dá pra fazer em windows, ele sempre vai ficar mais ou menos igual...
[12] Comentário enviado por removido em 16/06/2010 - 17:15h
O MacOS X tem a mesma estrutura de diretórios do Linux! Porque ninguém reclama dele? O MacOS X mascara sua estrutura, assim como faz o GoboLinux.
A estrutura de diretórios do Linux é muito mais organizada do que a estrutura do Windows.
* Nano e Pico são dois programas diferentes.
* Linux também usa variáveis de ambientes assim como o Windows, se vocês passarem a usar estas variáveis em programas e scripts não estariam aqui reclamando.
* Sobre o driver de um kernel não funcionar em outro kernel é simples: muda-se alguma coisa e quebra-se a compatibilidade. Com o Windows acontece a mesma coisa, mas ninguém sai falando besteira por aí.
* Qualquer software escrito para o Ubuntu vai rodar em qualquer Linux, basta que as dependências sejam satisfeitas. Eu mesmo usava o Slackware Linux com softwares que foram desenvolvidos para Ubuntu, Fedora, Mandriva, Mandrake, etc. Bastava-me satisfazer as dependências e o meu Slackware estava rodando o aplicativo. Nota: fazia isto por não ter acesso à internet para download de pacotes para o Slackware, mas tinha vários CDs com pacotes de softwares para outras distribuições.
[13] Comentário enviado por ericulisses em 16/06/2010 - 21:16h
Concordo plenamente. Da para evoluir um sistema se que a estrutura de pastas e nomenclaturas sejam prejudicadas, basta q haja planejamento e estudos de caso.
Alguns desenvolvedores Linux tem uma visao muito fechada para alguns assuntos, o que infelizmente nao contribui muito com a popularizacao do Linux para alguns publicos.
[14] Comentário enviado por pinduvoz em 16/06/2010 - 21:27h
O artigo tem um propósito (melhorar o Linux) e fundamentos válidos (há diferenças desnecessárias entre as diversas distros). Vale como alerta, no mínimo.
[15] Comentário enviado por phantom x em 16/06/2010 - 22:45h
- nano não é pico
- Essa do /home/usuário/Área de trabalho é coisa do xdg-user-dirs.
- O profissional saberá contornar isso tudo aí se não for um acomodado.
- Para usuário normal isso não faz nenhuma diferença... Ele vai clicar num ícone e só. Isso que reclamou aí já é "transparente" para o usuário...
- Se quer algo padrão, use uma só e pronto.
[17] Comentário enviado por cruzeirense em 17/06/2010 - 13:56h
Parabéns pelo artigo,
Acho que perde-se muito tempo fazendo várias distros com o mesmo propósito, tempo este que poderia ser gasto com coisas mais necessárias.
Essa quantidade de distros só atrapalha. Sempre existiu uma "guerra" entre usuários linux e windows. Hoje existe guerras entre usuário debian e slack, ubuntu e mandriva, e por aí vai...
Daqui uns dias a microsoft vai acabar lançando uma distro linux só pra avacalhar mais ainda o negócio. É o tal do dividir para conquistar...
Eu costumo fazer o que o phantom x disse, utilizo apenas ubuntu que, apesar das pequenas diferenças entre versões, sempre me atendeu...
[18] Comentário enviado por gabrielsp em 18/06/2010 - 14:31h
Vale lembrar que isso acaba com um dos pilares do SO: Portabilidade
Do que adianta ser possivel instala-lo em qlq coisa sendo que temos "aprender denovo" a cada release ou cada distro diferente? O Unix-base surgiu porcausa disso, o sambadocriolodoido que era no ambiente Unix e que afetava diretamente no desempenho de quem tinha necessidade de ter varios... Enfim, também sou completamente a favor de uma "padronização" nas distro linux
[19] Comentário enviado por leandro_ramos em 07/09/2010 - 22:04h
Bom, uso o Ubuntu Lucid Lynx, e minha pasta desktop é exatamente a /home/leandro/Desktop, ainda não vi nenhuma que ficasse como Área de Trabalho. Mas concordo plenamente com o que você disse no artigo, passeando pelas ditros chega a dar raiva de algumas diferenças bobas. Gostei de ler o post. Parabéns.
[20] Comentário enviado por roney33 em 09/02/2011 - 03:33h
liberdade é uma coisa, e anarquia é outra; quando ha anarquia as coisas não funcionam como deveriam; deveriam reunir os representantes de cada uma das principais dostros, e colocá-los fechados em uma casa, durante uns 2 ou 3 meses; até todos eles chegarem em um acordo; para os usuários que querem liberdade para fazerem o que quiserem com o sistema, simplesmente libere o codigo fonte para ele compilar a maneira dele, compilar a distro dele pelo lfs, e ser feliz; para as empresas, escolas, cursos e outros, que precisam do bom uso do tempo, um único repositório para todos os programas em qualquer distro, que ele desejar usar; além das pastas padrão, para não haver incompatibilidade; 2 tipos de repositório, um com apenas software livre, e outro com proprietario; para qualquer distro; seja puppy, slack, debian ou suse e fedora; um repositório apenas com temas e icones, para as interfaces graficas; e um repositório apens com programas para rodar pelo wine, ms-dos e outros...
[22] Comentário enviado por m4iir1c10 em 03/08/2012 - 04:02h
Dica: Djair quando eu escrevo scripts para publicar na net eu crio uma variavel para cada aplicacao onde o caminho da aplicacao e injetado na minha variavel.
mplayer=$(builtin type -P mplayer);
check=$(echo $mplayer | sed 's/'$(basename $mplayer)'//g')
if [ ! -d $check ]
then echo "O mplayer nao esta instalado, por favor instale o mplayer antes de prosseguir"
fi
$mplayer video.avi
Claro que isso nao seria nescessario se todas as distros manter os padroes, eu creio que a falta de padronizacao se da pelo fato de distribuicoes querer ser diferente, porque a maneira que vemos as distros se promovendo e como se Red Hat fosse um sistema operacional completamente diferente do Debian sendo que o nucleo deles e o mesmo... e como comparar o Mac OS X com o BSD, superficialmente eles nao tem nada haver um com o outro, mais interiormente sao "a mesma coisa".
Coloco entre parenteses "a mesma coisa" porque a apple adicionou muita coisa encima do BSD para ser oque e hoje.
Solucao? 3 opcoes
1- TODOS os usuarios se unam contra a falta de padronizacao e exijam que haja um codigo de conduta para desenvolvedores na hora de programar (Missao hoje quase impossivel).
2- Escolha uma distro e mantenha-se nela, em todos os seus blogs, scripts, artigos publique o que quiser mais indique que e para sistema tal versao tal.
3- Estude o Linux como louco e crie uma distro anfibea que aceite instalacoes RPM, DEB, TGZ, codigo compilado, etc. que tenha uma applicacao e muitos links para a mesma coisa com nome diferente tipo: