Instalar.
Se você tiver problemas relacionados à instalação do MATE, você pode perguntar em nosso canal IRC #mate na rede freenode.
Existem algumas distribuições proeminentes do Linux que incluem o MATE em seus repositórios oficiais:
Para instalar o MATE nessas distribuições, você deve usar o gerenciador de pacotes.
O MATE 1.8.1 está atualmente empacotado para o Debian 8 (jessie). O MATE 1.12 também está disponível nos testes Debian (“Stretch”) e unstable (“Sid”).
(Se o sudo estiver indisponível em seu sistema, simplesmente o omita e use um shell de root)
Primeiro, verifique se sua lista de pacotes está atualizada executando:
Para instalar o MATE, escolha uma das opções do apt-get abaixo.
Ubuntu 14.04 LTS (Trusty Tahr)
Os desenvolvedores do Ubuntu MATE utilizam um MATE 1.8.1 PPA Repo do Debian para uso com o Trusty (14.04) Ubuntu MATE Remix.
Adicionar Repositório.
Você pode adicionar este repositório às suas fontes do apt através dos seguintes comandos:
Instale o MATE 1.8.1.
Primeiro, certifique-se de que sua lista de pacotes e pacotes estejam atualizados executando:
Baunilha MATE.
Você pode escolher instalar o Vanilla MATE escolhendo uma das opções do apt-get abaixo.
Ubuntu MATE.
Alternativamente, você pode optar por instalar o Ubuntu MATE Remix.
O Ubuntu MATE é uma opção mais abrangente que oferece um layout, configuração e temas levemente otimizados para integrar o Ubuntu de uma maneira mais perfeita. Isso instalará o MATE Desktop Environment completo, bem como o LightDM e vários outros aplicativos para fornecer um desktop completo e bem arredondado.
Ubuntu 14.10 (Unicórnio Utópico)
MATE 1.8 está disponível em repositórios oficiais.
Mint Linux.
Instale o MATE na edição XFCE / KDE do Mint.
Para a versão Mint sem o MATE, você precisa instalá-lo separadamente.
Hortelã 15 "Olivia" e antes.
Nas versões 15 e anteriores do Mint, você pode instalar o mate-desktop-environment e o mate-core.
Hortelã 16 "Petra"
Em Mint Petra o pacote que instala o mate é mate-meta.
Hortelã 17 & quot; Rebecca & quot;
Em Mint Rebecca, o pacote que instala o mate é o mint-meta-mate.
Você pode instalar o MATE no Slackware usando o Projeto MATE SlackBuilds (MSB).
MATE SlackBuilds.
Por favor, visite a página do projeto em mateslackbuilds. github. io/ (backup: mateslackbuildslify /) para mais informações sobre este projeto.
Pacotes binários para o Slackware 14.0, 14.1, 14.2 e futuros lançamentos (x86 / x86_64) estão localizados em.
As pessoas que usam o Slackware-Current são aconselhadas a construir as fontes a partir do branch master no github / mateslackbuilds / msb e ler o predio prévio do CURRENT. TXT.
Red Hat Enterprise Linux 7
O MATE está disponível através do repositório Extra Packages for Enterprise Linux (EPEL), mantido pelo Projeto Fedora. Isso deve funcionar também no CentOS 7 e em quaisquer outros derivados compatíveis.
Depois de instalar o pacote epel-release-7 *.rpm para adicionar o repositório EPEL ao Yum, você pode instalar o MATE com o seguinte comando:
Se você instalar isso em um sistema mínimo sem uma GUI existente configurada (como uma área de trabalho GNOME ou KDE), você pode querer instalar o grupo X Window System também para logins gráficos locais:
você também pode querer mudar o alvo systemd padrão para gráfico:
A área de trabalho do MATE está incluída no Fedora e disponível para todos os lançamentos atuais. Existem várias maneiras de obter o MATE com o Fedora.
Novo com o fedora 21.
Versões mais antigas (f20) você pode fazer o download via torrent. torrents. fedoraproject /
Nota: Não escolha a estação de trabalho do fedora, isto é nada mais que um gnome livecd;)
MATE está disponível nos repositórios oficiais. Veja wiki. gentoo / wiki / MATE.
Para x86, o MATE é.
Por isso, se você executar um sistema estável, certifique-se de incluir as entradas necessárias em package. keywords.
Arch Linux.
Para instalar os componentes base do MATE, basta instalar o grupo de posicionamento.
Para instalar todo o MATE, instale os grupos mate e mate-extra.
Usuários do openSUSE podem instalar o MATE Desktop através do YaST2 META Installer, nós sugerimos fortemente este método. Por favor, visite a página do MATE Desktop Portal no wiki do openSUSE para mais informações.
Além das instruções de instalação, o MATE Desktop Portal no wiki do openSUSE também fornece outras informações úteis!
Frugalware Linux.
MATE foi fundido em corrente. Agora, você só precisa usar este comando:
Quando a instalação estiver concluída, reinicie o gerenciador de exibição e você poderá escolher o MATE como gerenciador de janelas.
Mageia 4.
A Mageia 4 fornece e suporta oficialmente o MATE. Use rpmdrake ou Mageia Control Center & gt; Instalar & amp; Remova o Software e instale o companheiro de tarefa para o MATE Desktop completo ou instale o conjunto de tarefas mínimo para uma instalação mínima do MATE Desktop. Você também pode instalar o MATE Desktop a partir da linha de comando: urpmi task-mate.
Devido às dependências de alguns outros aplicativos para pacotes MATE preteridos, o MATE 1.8 não será fornecido como uma atualização ou backport para evitar possíveis falhas / problemas. No entanto, há um repositório não-oficial, não suportado, que fornece a versão MATE 1.8. Por favor, leia a seção abaixo e use os mesmos comandos para adicionar o repositório.
Mageia packager e Mageia MATE, mantenedora de pacotes Atilla ÖNTAŞ & lt; a. k.a tarakbumba & gt; fornece um repositório não oficial do Mageia 3. Este repositório inclui pacotes MATE com backport do Cauldron e alguns pacotes não disponíveis nos repositórios oficiais da Mageia.
Para instalar o MATE Desktop no seu sistema Mageia 3,
Plataforma 7.
Os pacotes MATE 1.6 estão disponíveis no repositório oficial estável; use o apt-get ou o synaptic para instalar o mate-default para um conjunto razoável de pacotes, e também o metapacote mate-minimal para aqueles exigentes o suficiente.
Centaurus, a principal distribuição Linux da ALT, é baseada no MATE em sua versão 7.0; Há também um starterkit um tanto minimalista.
Pacotes MATE também estão disponíveis no repositório de desenvolvimento; as instruções de instalação são as mesmas e há compilações semanais do LiveCD Regular (imagens de inicialização / instalação x86 de 32 e 64 bits com suporte para CD / Flash e BIOS / UEFI).
Os builds do ARMv7 (hardfloat) também estão disponíveis.
O MATE está presente no PLD Th, a versão atual é 1.8.
Você pode instalar o desktop MATE usando o pacote metapackage-mate:
e instalar com mais alguns extras:
O MATE Desktop está disponível na árvore FreeBSD Ports e pode ser instalado através da meta-porta mate disponível no FreshPorts.
A instalação é suportada diretamente pela árvore de ports ou pelos repositórios de pacotes binários.
DragonFlyBSD.
O MATE Desktop está disponível nos Dports DragonFlyBSD.
A instalação é suportada diretamente através da árvore DPorts ou dos repositórios de pacotes binários.
O Mate 1.8 está disponível apenas no pkgsrc-wip “mate” é um pacote Meta.
O MATE está disponível na distribuição oficial do Cygwin; instale o pacote mate-session-manager e suas dependências com a configuração do Cygwin.
Libertação Limite.
"Se você veio aqui para me ajudar, então você está desperdiçando seu tempo ... Mas se você veio porque sua libertação está ligada à minha, então vamos trabalhar juntos." & # 8211; Lila Watson.
Pronomes de Gênero Preferidos de Gênero-Neutro e Não-Binário 101.
Pronomes neutros ou não binários são usados quando uma pessoa não sabe o sexo da pessoa sobre quem ela fala OU quando uma pessoa solicita um pronome não-binário em referência a si mesmo.
Normalmente, quando alguém não conhece o sexo da pessoa, “eles” e suas variantes são usados. Existe um debate sobre a correção gramatical do singular “eles”, mas muitos argumentam que é, de fato, um pronome singular correto. Neste post, eu incluí recursos sobre esse debate, então não vou entrar nisso aqui.
Quando alguém usa um pronome não-binário porque “ela” ou “ele” e suas variantes não atendem às suas necessidades, há muitas opções que podem ser usadas! No entanto, muitas pessoas não conhecem essas opções, então eu pensei em compilar alguns recursos para você!
Wiki: inclui alguns exemplos de idiomas, incluindo o histórico de inglês “Wikicionário: Lista de protologismos por tópico / pronomes neutros de gênero na terceira pessoa do singular” - inclui este gráfico com exemplos de uso (na página, ao qual o gráfico é vinculado, a imagem não é em formato de imagem, por isso deve ser acessível).
Aether Lumina: FAQ extensa sobre pronomes e exemplos neutros em termos de género wiseGEEK: apenas mais algumas informações sobre quais são os pronomes neutros em termos de género e as suas histórias Pronome Neutro em Género: inclui o gráfico abaixo (na página a que o gráfico está ligado, a imagem é não em formato de imagem, por isso deve ser acessível) com os pronomes mais usados. Também inclui descrições adicionais de pronomes e esta página (que inclui vários outros recursos e redes).
Para ser respeitoso, é sempre importante usar os pronomes que alguém prefere. Se você não entende, aprenda! Os pronomes podem não parecer grandes para você, mas podem ser para outra pessoa.
Capsula segura.
O Secure Shell (SSH) é um protocolo de rede que permite que os dados sejam trocados por um canal seguro entre dois computadores. A criptografia fornece confidencialidade e integridade dos dados. O SSH usa criptografia de chave pública para autenticar o computador remoto e permitir que o computador remoto autentique o usuário, se necessário.
O SSH é normalmente usado para efetuar login em uma máquina remota e executar comandos, mas também suporta tunelamento, encaminhamento de portas TCP arbitrárias e conexões X11; A transferência de arquivos pode ser realizada usando os protocolos SFTP ou SCP associados.
Um servidor SSH, por padrão, escuta na porta TCP padrão 22. Um programa cliente SSH é normalmente usado para estabelecer conexões com um daemon sshd aceitando conexões remotas. Ambos estão comumente presentes nos sistemas operacionais mais modernos, incluindo macOS, GNU / Linux, Solaris e OpenVMS. Existem versões proprietárias, freeware e de código aberto de vários níveis de complexidade e integridade.
OpenSSH.
O OpenSSH (OpenBSD Secure Shell) é um conjunto de programas de computador que fornece sessões de comunicação criptografadas em uma rede de computadores usando o protocolo ssh. Foi criado como uma alternativa de código aberto ao conjunto de software proprietário da Secure Shell oferecido pela SSH Communications Security. O OpenSSH é desenvolvido como parte do projeto OpenBSD, liderado por Theo de Raadt.
O OpenSSH é confundido ocasionalmente com o OpenSSL, de nome semelhante; no entanto, os projetos têm finalidades diferentes e são desenvolvidos por equipes diferentes, o nome semelhante é desenhado apenas a partir de objetivos semelhantes.
Instalação.
Uso do cliente.
Para se conectar a um servidor, execute:
Se o servidor permitir apenas autenticação de chave pública, siga as chaves SSH.
Configuração.
O cliente pode ser configurado para armazenar opções e hosts comuns. Todas as opções podem ser declaradas globalmente ou restritas a hosts específicos. Por exemplo:
Com essa configuração, os seguintes comandos são equivalentes.
Veja ssh_config (5) para mais informações.
Algumas opções não possuem equivalentes de opções de linha de comando, mas você pode especificar opções de configuração na linha de comandos com - o. Por exemplo - oKexAlgorithms = + diffie-hellman-group1-sha1.
Uso do servidor.
Configuração.
O arquivo de configuração do daemon SSH pode ser encontrado e editado em / etc / ssh / ssh d _config.
Para permitir o acesso apenas para alguns usuários, adicione esta linha:
Para permitir o acesso apenas para alguns grupos:
Para adicionar uma mensagem de boas vindas (por exemplo, do arquivo / etc / issue), configure a opção Banner:
As chaves do host serão geradas automaticamente pelos arquivos do serviço sshd. Se você quiser que o sshd use uma chave específica que você forneceu, você pode configurá-lo manualmente:
Se o servidor deve ser exposto à WAN, é recomendável alterar a porta padrão de 22 para uma aleatória superior como esta:
Para ajudar a selecionar uma porta alternativa que ainda não esteja atribuída a um serviço comum, revise a lista de números de porta TCP e UDP. Você também pode encontrar informações de porta localmente em / etc / services. Uma alteração de porta da porta padrão 22 reduzirá o número de entradas de log causadas por tentativas de autenticação automatizadas - não as eliminará. Veja Port knocking para informações relacionadas.
Também é recomendável desabilitar totalmente os logins de senha. Isso aumentará muito a segurança, consulte #Confira a autenticação de chave pública para obter mais informações. Veja #Protection para mais métodos de segurança recomendados.
Gerenciamento de demônios.
O openssh vem com dois tipos de arquivos de serviço systemd:
sshd. service, que manterá o daemon SSH permanentemente ativo e bifurcado para cada conexão de entrada. [1] É especialmente adequado para sistemas com uma grande quantidade de tráfego SSH. [2] sshd. socket + sshd @.service, que geram instâncias sob demanda do daemon SSH por conexão. Usá-lo implica que o systemd escuta no soquete SSH e só iniciará o processo do daemon para uma conexão de entrada. É a maneira recomendada de executar o sshd em quase todos os casos. [3] [4] [5]
Você pode iniciar e ativar sshd. service ou sshd. socket para começar a usar o daemon.
Se estiver usando o serviço de soquete, você precisará editar o arquivo da unidade se quiser que ele escute em uma porta diferente da padrão 22:
Protecção.
Permitir o logon remoto através do SSH é bom para fins administrativos, mas pode representar uma ameaça à segurança do seu servidor. Muitas vezes, o alvo de ataques de força bruta, o acesso SSH precisa ser limitado adequadamente para evitar que terceiros tenham acesso ao seu servidor.
Vários outros bons guias estão disponíveis no tópico, por exemplo:
Forçar autenticação de chave pública.
Se um cliente não puder autenticar por meio de uma chave pública, por padrão, o servidor SSH retornará à autenticação de senha, permitindo que um usuário mal-intencionado tente obter acesso forçando a senha brutalmente. Uma das maneiras mais eficazes de se proteger contra esse ataque é desabilitar totalmente os logins de senha e forçar o uso de chaves SSH. Isso pode ser feito desativando as seguintes opções no sshd_config:
Autenticação de dois fatores e chaves públicas.
Desde o OpenSSH 6.2, você pode adicionar sua própria cadeia para autenticar usando a opção AuthenticationMethods. Isso permite que você use chaves públicas, bem como uma autorização de dois fatores.
Consulte Google Authenticator para configurar o Google Authenticator.
Para usar o PAM com o OpenSSH, edite os seguintes arquivos:
Em seguida, você pode efetuar login com uma chave pública ou com a autenticação do usuário, conforme exigido pela sua configuração do PAM.
Se, por outro lado, você quiser autenticar o usuário em uma publickey e na autenticação do usuário, conforme exigido pela configuração do PAM, use uma vírgula em vez de um espaço para separar os AuthenticationMethods:
Com a autenticação obrigatória de pubkey e pam, você pode desativar o requisito de senha:
Protegendo contra ataques de força bruta.
O uso de força bruta é um conceito simples: um tenta continuamente efetuar login em uma página da Web ou em um prompt de login do servidor, como o SSH, com um alto número de combinações aleatórias de nome de usuário e senha.
Usando o iptables.
Se você já estiver usando o iptables, pode facilmente proteger o SSH contra ataques de força bruta usando as seguintes regras.
Antes que as regras a seguir possam ser usadas, criamos uma nova cadeia de regras para registrar e descartar muitas tentativas de conexão:
A primeira regra será aplicada aos pacotes que sinalizam o início de novas conexões para a porta TCP 42660.
A próxima regra diz ao iptables para procurar pacotes que correspondam aos parâmetros da regra anterior, e que também vêm de hosts já adicionados à lista de observação.
Agora o iptables decide o que fazer com o tráfego TCP para a porta 42660 que não corresponde à regra anterior.
Estamos anexando essa regra à tabela LOG_AND_DROP e usamos o operador - j (jump) para passar as informações do pacote para o recurso de registro.
Depois que eles são registrados pela primeira regra, todos os pacotes são descartados.
Ferramentas de força bruta.
Você pode se proteger de ataques de força bruta usando um script automatizado que bloqueia qualquer pessoa que tente forçar a entrada de força, por exemplo, fail2ban ou sshguard.
Permitir somente conexões SSH de entrada de locais confiáveis Use o fail2ban ou o sshguard para bloquear automaticamente endereços IP que falham na autenticação de senha muitas vezes. Use o pam_shield para bloquear endereços IP que realizam muitas tentativas de login em um determinado período de tempo. Em contraste com o fail2ban ou o sshguard, esse programa não leva em conta o sucesso ou a falha do login.
Limite o login da raiz.
Este artigo ou seção está desatualizado.
Geralmente, é considerado uma prática ruim permitir que o usuário root efetue login sem restrições sobre o SSH. Existem dois métodos pelos quais o acesso à raiz do SSH pode ser restrito para aumentar a segurança.
O Sudo fornece seletivamente direitos de root para ações que exigem isso sem exigir autenticação na conta raiz. Isso permite bloquear a conta root contra o acesso via SSH e potencialmente funciona como uma medida de segurança contra ataques de força bruta, já que agora um invasor deve adivinhar o nome da conta além da senha.
O SSH pode ser configurado para negar logins remotos com o usuário root editando a seção "Autenticação" em / etc / ssh / sshd_config. Simplesmente altere #PermitRootLogin prohibit-password para no e descomente a linha:
Em seguida, reinicie o daemon SSH.
Agora você não conseguirá efetuar login por meio do SSH em root, mas ainda poderá efetuar login com seu usuário normal e usar su ou sudo para fazer a administração do sistema.
Algumas tarefas automatizadas, como backup remoto completo do sistema, exigem acesso root completo. Para permitir isso de maneira segura, em vez de desabilitar o login raiz via SSH, é possível permitir somente logins raiz para os comandos selecionados. Isso pode ser feito editando.
root /.ssh / authorized_keys, prefixando a chave desejada, por ex. do seguinte modo:
Isso permitirá que qualquer login com essa chave específica apenas execute o comando especificado entre as aspas.
A superfície de ataque aumentada criada pela exposição do nome de usuário root no login pode ser compensada adicionando o seguinte ao sshd_config:
Esta configuração não apenas restringirá os comandos que o root pode executar via SSH, mas também desabilitará o uso de senhas, forçando o uso da autenticação de chave pública para a conta root.
Uma alternativa um pouco menos restritiva permitirá qualquer comando para o root, mas inviabiliza ataques de força bruta ao impor a autenticação de chave pública. Para esta opção, defina:
Protegendo o arquivo authorized_keys.
Para proteção adicional, você pode impedir que os usuários adicionem novas chaves públicas e se conectem a elas.
No servidor, faça o arquivo authorized_keys somente leitura para o usuário e negue todas as outras permissões:
Para evitar que o usuário simplesmente altere as permissões de volta, defina o bit imutável no arquivo authorized_keys. Depois disso, o usuário poderia renomear o arquivo.
diretório /.ssh para outra coisa e criar um novo.
diretório /.ssh e arquivo authorized_keys. Para evitar isso, defina o bit imutável no.
diretório /.ssh também.
Outros clientes e servidores SSH.
Além do OpenSSH, existem muitos clientes SSH e servidores disponíveis.
O cliente ssh da linha de comandos é denominado dbclient.
Aplicativo de terminal remoto que permite roaming, suporta conectividade intermitente e fornece edição inteligente de eco local e de linha de pressionamentos de tecla do usuário. Mosh é um substituto do SSH. É mais robusto e responsivo, especialmente em conexões lentas, como Wi-Fi, celular e longa distância.
Instale o pacote mosh ou mosh-git AUR para a revisão mais recente.
Mosh tem uma opção de linha de comando não documentada --predict = experimental que produz um eco mais agressivo das teclas locais. Os usuários interessados na confirmação visual de baixa latência da entrada do teclado podem preferir este modo de previsão.
Dicas e truques.
A precisão factual deste artigo ou seção é contestada.
Túnel SOCKS Criptografado.
Isso é muito útil para usuários de laptop conectados a várias conexões sem fio inseguras. A única coisa que você precisa é de um servidor SSH sendo executado em um local seguro, como sua casa ou no trabalho. Pode ser útil usar um serviço DNS dinâmico, como o DynDNS, para que você não precise se lembrar do seu endereço IP.
Etapa 1: inicie a conexão.
Você só precisa executar este único comando para iniciar a conexão:
em que user é seu nome de usuário no servidor SSH em execução no host. Ele pedirá sua senha e você estará conectado! O sinalizador N desabilita o prompt interativo, e o sinalizador D especifica a porta local na qual escutar (você pode escolher qualquer número de porta se desejar). O sinalizador T desabilita a alocação pseudo-tty.
É bom adicionar o sinalizador verboso (-v), porque você pode verificar se ele está realmente conectado a partir dessa saída.
Etapa 2: configure seu navegador (ou outros programas)
A etapa acima é completamente inútil se você não configurar seu navegador da Web (ou outros programas) para usar este túnel de meias recém-criado. Como a versão atual do SSH suporta SOCKS4 e SOCKS5, você pode usar qualquer um deles.
Para o Firefox: edite & gt; Preferências & gt; Avançado & gt; Rede & gt; Conexão & gt; Configuração :
Verifique o botão de opções Configuração manual do proxy e insira localhost no campo de texto do host SOCKS e insira o número da porta no próximo campo de texto (4711 no exemplo acima).
O Firefox não faz solicitações de DNS automaticamente através do túnel de meias. Essa possível preocupação com privacidade pode ser atenuada pelas seguintes etapas:
Digite about: config na barra de localização do Firefox. Procurar network. proxy. socks_remote_dns Defina o valor como true. Reinicie o navegador. Para o Chromium: Você pode definir as configurações do SOCKS como variáveis de ambiente ou como opções de linha de comando. Eu recomendo adicionar uma das seguintes funções ao seu. bashrc:
Agora abra um terminal e faça:
Aproveite o seu túnel seguro!
Encaminhamento X11.
O encaminhamento X11 é um mecanismo que permite que interfaces gráficas de programas X11 executados em um sistema remoto sejam exibidas em uma máquina cliente local. Para o encaminhamento do X11, o host remoto não precisa ter um sistema X11 completo instalado; no entanto, ele precisa ter pelo menos o xauth instalado. xauth é um utilitário que mantém as configurações do Xauthority usadas pelo servidor e pelo cliente para autenticação da sessão X11 (origem).
No sistema remoto:
instale os pacotes xorg-xauth e xorg-xhost em /etc/shsh/sshd_config: verifique se as opções AllowTcpForwarding e X11UseLocalhost estão definidas como yes e se X11DisplayOffset está definido como 10 (esses são os valores padrão se nada for alterado, veja sshd_config (5)) configure o X11Forwarding como yes e reinicie o daemon sshd.
No lado do cliente, ative a opção ForwardX11 especificando o comutador - X na linha de comandos para conexões oportunistas ou definindo ForwardX11 como yes na configuração do cliente.
A precisão factual deste artigo ou seção é contestada.
Efetue logon na máquina remota normalmente, especificando a opção - X se o ForwardX11 não estiver ativado no arquivo de configuração do cliente:
Se você receber erros ao tentar executar aplicativos gráficos, tente o ForwardX11Trusted:
Agora você pode iniciar qualquer programa X no servidor remoto, a saída será encaminhada para a sua sessão local:
Se você receber erros "Não é possível abrir a exibição", tente o seguinte comando como o usuário não raiz:
O comando acima permitirá que qualquer um encaminhe os aplicativos X11. Para restringir o encaminhamento para um tipo de host específico:
onde nome do host é o nome do host específico para o qual você deseja encaminhar. Veja xhost (1) para mais detalhes.
Tenha cuidado com alguns aplicativos enquanto eles verificam se há uma instância em execução na máquina local. O Firefox é um exemplo: feche a instância do Firefox em execução ou use o seguinte parâmetro start para iniciar uma instância remota na máquina local:
Se você tiver "Falha na solicitação de encaminhamento do X11 no canal 0" quando você se conectar (e o servidor /var/log/errors. log mostrar "Falha ao alocar o soquete de exibição do domínio do Internet X11"), verifique se o pacote xorg-xauth está instalado. Se a instalação não estiver funcionando, tente:
ative a opção AddressFamily em ssh d _config no servidor ou configure a opção AddressFamily em ssh d _config no servidor para inet.
Configurá-lo para inet pode corrigir problemas com clientes Ubuntu no IPv4.
Para executar aplicativos X como outro usuário no servidor SSH, é necessário adicionar xauth a linha de autenticação obtida da lista xauth do usuário conectado no SSH.
Encaminhando outras portas.
Além do suporte integrado do SSH para o X11, ele também pode ser usado para encapsular com segurança qualquer conexão TCP, usando o encaminhamento local ou o encaminhamento remoto.
O encaminhamento local abre uma porta na máquina local, cujas conexões serão encaminhadas para o host remoto e, a partir daí, para um determinado destino. Muito frequentemente, o destino de encaminhamento será o mesmo que o hospedeiro remoto, proporcionando assim uma concha segura e, e. uma conexão VNC segura, para a mesma máquina. O encaminhamento local é realizado por meio da opção - L e acompanha a especificação de encaminhamento na forma de & lt; porta do túnel & gt ;: & lt; endereço de destino & gt ;: & lt; porto de destino & gt; .
usará o SSH para acessar e abrir um shell no 192.168.0.100 e também criará um túnel a partir da porta TCP 1000 da máquina local para o mail. google na porta 25. Uma vez estabelecidas, as conexões ao localhost: 1000 se conectarão ao SMTP do Gmail porta. Para o Google, parecerá que qualquer conexão (embora não necessariamente os dados transmitidos através da conexão) foi originada de 192.168.0.100, e tais dados estarão seguros entre a máquina local e 192.168.0.100, mas não entre 192.168.0.100, a menos que outras medidas sejam tomadas.
permitirá conexões ao localhost: 2000 que serão transparentemente enviadas para o host remoto na porta 6001. O exemplo anterior é útil para conexões VNC usando o utilitário vncserver - parte do pacote tightvnc - que, embora muito útil, é explícito sobre sua falta de segurança.
O encaminhamento remoto permite que o host remoto se conecte a um host arbitrário através do túnel SSH e da máquina local, fornecendo uma reversão funcional do encaminhamento local e é útil para situações em que, por exemplo, o host remoto tem conectividade limitada devido ao firewall. É ativado com a opção - R e uma especificação de encaminhamento na forma de & lt; porta do túnel & gt ;: & lt; endereço de destino & gt ;: & lt; porto de destino & gt; .
irá abrir um shell em 192.168.0.200, e as conexões de 192.168.0.200 para si mesmo na porta 3000 (remotamente falando, localhost: 3000) serão enviadas através do túnel para a máquina local e depois para irc. freenode na porta 6667, portanto, neste exemplo, permitir o uso de programas IRC no host remoto a ser usado, mesmo se a porta 6667 normalmente fosse bloqueada para ele.
O encaminhamento local e remoto pode ser usado para fornecer um "gateway" seguro, permitindo que outros computadores aproveitem um túnel SSH, sem executar o SSH ou o daemon SSH, fornecendo um endereço de conexão para o início do túnel como parte do a especificação de encaminhamento, por exemplo & lt; endereço do túnel & gt ;: & lt; porta do túnel & gt ;: & lt; endereço de destino & gt ;: & lt; porto de destino & gt; . O & lt; endereço do túnel & gt; pode ser qualquer endereço na máquina no início do túnel, localhost, * (ou em branco), que, respectivamente, permitem conexões através do endereço fornecido, através da interface de loopback ou através de qualquer interface. Por padrão, o encaminhamento é limitado a conexões da máquina no "início" do túnel, ou seja, o endereço do túnel & lt; & gt; está definido como localhost. O encaminhamento local não requer configuração adicional, no entanto, o encaminhamento remoto é limitado pela configuração do daemon SSH do servidor remoto. Veja a opção GatewayPorts em sshd_config (5) para mais informações.
Salte anfitriões.
Em determinados cenários, pode não haver uma conexão direta com o daemon SSH de destino e o uso de um servidor de salto (ou servidor bastion) é necessário. Assim, tentamos conectar dois ou mais túneis SSH, e assumindo que suas chaves locais estão autorizadas contra cada servidor na cadeia. Isso é possível usando o encaminhamento do agente SSH (-A) e a alocação do pseudo-terminal (-t), que encaminha sua chave local com a seguinte sintaxe:
Uma maneira mais fácil de fazer isso é usando o sinalizador - J:
Vários hosts na diretiva - J podem ser separados por uma vírgula, eles serão conectados na ordem listada. O usuário. @ parte não é necessária, mas pode ser usada. As especificações do host para - J usam o arquivo de configuração ssh, portanto, opções específicas por host podem ser definidas lá, se necessário.
Reverse SSH através de um relé.
Este artigo ou seção precisa de linguagem, sintaxe wiki ou melhorias de estilo.
A idéia é que o cliente se conecte ao servidor por meio de outro relé, enquanto o servidor está conectado ao mesmo relé usando um túnel SSH reverso. Isso é útil, por exemplo, quando o servidor está atrás de um NAT e o relay é um servidor SSH de acesso público usado como proxy ao qual o usuário tem acesso. Portanto, o pré-requisito é que as chaves do cliente sejam autorizadas contra o relé e o servidor, e o servidor precisa ser autorizado contra o relé, bem como para a conexão reversa do SSH.
O exemplo de configuração a seguir assume que user1 é a conta de usuário usada no cliente, user2 no relay e user3 no servidor. Primeiro, o servidor precisa estabelecer o túnel reverso com:
Que também pode ser automatizado com um script de inicialização, serviço systemd ou autossh.
Este artigo ou seção precisa de expansão.
No lado do cliente, a conexão é estabelecida com:
O comando remoto para estabelecer a conexão ao túnel reverso também pode ser definido no relé.
/.ssh/authorized_keys incluindo o campo de comando da seguinte forma:
Neste caso, a conexão é estabelecida com:
Observe que a função de preenchimento automático do SCP no terminal do cliente não está funcionando e até mesmo as transferências de SCP não estão funcionando sob algumas configurações.
Multiplexação
O daemon SSH geralmente escuta na porta 22. No entanto, é prática comum que muitos hotspots públicos da Internet bloqueiem todo o tráfego que não esteja nas portas HTTP / S regulares (80 e 443, respectivamente), bloqueando efetivamente as conexões SSH. A solução imediata para isso é fazer com que o sshd ouça adicionalmente em uma das portas whitelisted:
No entanto, é provável que a porta 443 já esteja em uso por um servidor da Web que atende ao conteúdo HTTPS. Nesse caso, é possível usar um multiplexador, como sslh, que escuta na porta multiplexada e pode encaminhar pacotes de maneira inteligente para vários serviços.
Acelerando o SSH.
Existem várias opções de configuração do cliente que podem acelerar as conexões globalmente ou para hosts específicos. Veja ssh_config (5) para descrições completas destas opções.
Você pode fazer com que todas as sessões para o mesmo host compartilhem uma única conexão usando estas opções: where.
/.ssh/sockets pode ser qualquer diretório não gravável por outros usuários. O ControlPersist especifica por quanto tempo o mestre deve aguardar em segundo plano por novos clientes depois que a conexão inicial do cliente for fechada. Os valores possíveis são: não para fechar a conexão imediatamente após o último cliente desconectar, um tempo em segundos, sim para esperar para sempre, a conexão nunca será fechada automaticamente. Outra opção para melhorar a velocidade é ativar a compactação com a opção Sim de compactação ou o sinalizador - C.
O tempo de login pode ser reduzido ignorando a pesquisa IPv6 usando a opção inet AddressFamily ou o sinalizador -4. Por fim, se você pretende usar o SSH para SFTP ou SCP, o SSH / SCP de alto desempenho pode aumentar significativamente o rendimento, aumentando dinamicamente os tamanhos do buffer SSH. Instale o pacote openssh-hpn-git AUR para usar uma versão corrigida do OpenSSH com este aprimoramento.
Montando um sistema de arquivos remoto com o SSHFS.
Por favor, consulte o artigo do SSHFS para montar um sistema remoto acessível por SSH para uma pasta local, assim você poderá fazer qualquer operação nos arquivos montados com qualquer ferramenta (copiar, renomear, editar com vim, etc.). O sshfs é geralmente preferido em relação ao shfs, este último não foi atualizado desde 2004.
Mantenha vivo.
Por padrão, a sessão SSH desconecta automaticamente se estiver ociosa por um determinado período. To keep the session up, the client can send a keep-alive signal to the server if no data has been received for some time, or symmetrically the server can send messages at regular intervals if it has not heard from the client.
On the server side, ClientAliveInterval sets the timeout in seconds after which if no data has been received from the client, sshd will send a request for response. The default is 0, no message is sent. For example to request a response every 60 seconds from the client, set the ClientAliveInterval 60 option in your server configuration. See also the ClientAliveCountMax and TCPKeepAlive options. On the client side, ServerAliveInterval controls the interval between the requests for response sent from the client to the server. For example to request a response every 120 seconds from the server, add the ServerAliveInterval 120 option to your client configuration. See also the ServerAliveCountMax and TCPKeepAlive options.
Automatically restart SSH tunnels with systemd.
systemd can automatically start SSH connections on boot/login and restart them when they fail. This makes it a useful tool for maintaining SSH tunnels.
The following service can start an SSH tunnel on login using the connection settings in your ssh configuration. If the connection closes for any reason, it waits 10 seconds before restarting it:
Then enable and start the user service. See #Keep alive for how to prevent the tunnel from timing out. If you wish to start the tunnel on boot, you will need to rewrite the unit as a system service.
Autossh - automatically restarts SSH sessions and tunnels.
When a session or tunnel cannot be kept alive, for example due to bad network conditions causing client disconnections, you can use autossh to automatically restart them.
Connecting through a SOCKS-proxy set by Proxy settings:
With the - f option autossh can be made to run as a background process. Running it this way however means the passphrase cannot be entered interactively.
The session will end once you type exit in the session, or the autossh process receives a SIGTERM, SIGINT of SIGKILL signal.
Run autossh automatically at boot via systemd.
If you want to automatically start autossh, you can create a systemd unit file:
Here AUTOSSH_GATETIME=0 is an environment variable specifying how long ssh must be up before autossh considers it a successful connection, setting it to 0 autossh also ignores the first run failure of ssh. This may be useful when running autossh at boot. Other environment variables are available on the manpage. Of course, you can make this unit more complex if necessary (see the systemd documentation for details), and obviously you can use your own options for autossh, but note that the - f implying AUTOSSH_GATETIME=0 does not work with systemd.
Remember to start and/or enable the service afterwards.
You may also need to disable ControlMaster e. g.
Alternative service should SSH daemon fail.
For remote or headless servers which rely exclusively on SSH, a failure to start the SSH daemon (e. g., after a system upgrade) may prevent administration access. systemd offers a simple solution via OnFailure option.
Let's suppose the server runs sshd and telnet is the fail-safe alternative of choice. Create a file as follows. Do not enable telnet. socket!
É isso aí. Telnet is not available when sshd is running. Should sshd fail to start, a telnet session can be opened for recovery.
Solução de problemas.
Check these simple issues before you look any further.
/.ssh and its contents should be accessible only by your user (check this on both the client and the server): Check that the client's public key (e. g. id_rsa. pub ) is in.
/.ssh/authorized_keys on the server. Check that you did not limit SSH access with AllowUsers or AllowGroups in the server config. Check if the user has set a password. Sometimes new users who have not yet logged in to the server do not have a password. Append LogLevel DEBUG to /etc/ssh/sshd_config . Use journalctl - xe for possible (error) messages. Restart sshd and logout/login on both client and server.
Connection refused or timeout problem.
Port forwarding.
If you are behind a NAT mode/router (which is likely unless you are on a VPS or publicly addressed host), make sure that your router is forwarding incoming ssh connections to your machine. Find the server's internal IP address with $ ip addr and set up your router to forward TCP on your SSH port to that IP. portforward can help with that.
Is SSH running and listening?
If the above command do not show SSH port is open, SSH is NOT running. Check /var/log/messages for errors etc.
Are there firewall rules blocking the connection?
Iptables may be blocking connections on port 22 . Check this with:
and look for rules that might be dropping packets on the INPUT chain. Then, if necessary, unblock the port with a command like:
For more help configuring firewalls, see firewalls.
Is the traffic even getting to your computer?
Start a traffic dump on the computer you are having problems with:
This should show some basic information, then wait for any matching traffic to happen before displaying it. Try your connection now. If you do not see any output when you attempt to connect, then something outside of your computer is blocking the traffic (e. g., hardware firewall, NAT router etc.).
Your ISP or a third party blocking default port?
In some cases, your ISP might block the default port (SSH port 22) so whatever you try (opening ports, hardening the stack, defending against flood attacks, et al) ends up useless. To confirm this, create a server on all interfaces (0.0.0.0) and connect remotely.
If you get an error message comparable to this:
That means the port is not being blocked by the ISP, but the server does not run SSH on that port (See security through obscurity).
However, if you get an error message comparable to this:
That means that something is rejecting your TCP traffic on port 22. Basically that port is stealth, either by your firewall or 3rd party intervention (like an ISP blocking and/or rejecting incoming traffic on port 22). If you know you are not running any firewall on your computer, and you know that Gremlins are not growing in your routers and switches, then your ISP is blocking the traffic.
To double check, you can run Wireshark on your server and listen to traffic on port 22. Since Wireshark is a Layer 2 Packet Sniffing utility, and TCP/UDP are Layer 3 and above (see IP Network stack), if you do not receive anything while connecting remotely, a third party is most likely to be blocking the traffic on that port to your server.
Install either tcpdump or Wireshark with the wireshark-cli package.
where interface is the network interface for a WAN connection (see ip a to check). If you are not receiving any packets while trying to connect remotely, you can be very sure that your ISP is blocking the incoming traffic on port 22.
Possible solution.
The solution is just to use some other port that the ISP is not blocking. Open the /etc/ssh/sshd_config and configure the file to use different ports. For example, add:
Also make sure that other "Port" configuration lines in the file are commented out. Just commenting "Port 22" and putting "Port 1234" will not solve the issue because then sshd will only listen on port 1234. Use both lines to run the SSH server on both ports.
Restart the server sshd. service and you are almost done. You still have to configure your client(s) to use the other port instead of the default port. There are numerous solutions to that problem, but let us cover two of them here.
Read from socket failed: connection reset by peer.
Recent versions of openssh sometimes fail with the above error message when connecting to older ssh servers. This can be worked around by setting various client options for that host. See ssh_config(5) for more information about the following options.
The problem could be the ecdsa-sha2-nistp*-cert-v01@openssh elliptical host key algorithms. These can be disabled by setting HostKeyAlgorithms to a list excluding those algorithms.
If that does not work, it could be that the list of ciphers is too long. Set the Ciphers option to a shorter list (fewer than 80 characters should be enough). Similarly, you can also try shortening the list of MACs .
See also the discussion on the openssh bug forum.
"[your shell]: No such file or directory" / ssh_exchange_identification problem.
One possible cause for this is the need of certain SSH clients to find an absolute path (one returned by whereis - b [your shell] , for instance) in $SHELL , even if the shell's binary is located in one of the $PATH entries.
"Terminal unknown" or "Error opening terminal" error message.
If you receive the above errors upon logging in, this means the server does not recognize your terminal. Ncurses applications like nano may fail with the message "Error opening terminal".
The correct solution is to install the client terminal's terminfo file on the server. This tells console programs on the server how to correctly interact with your terminal. You can get info about current terminfo using $ infocmp and then find out which package owns it.
If you cannot install it normally, you can copy your terminfo to your home directory on the server:
After logging in and out from the server the problem should be fixed.
Alternatively, you can simply set TERM=xterm in your environment on the server (e. g. in. bash_profile ). This will silence the error and allow ncurses applications to run again, but you may experience strange behavior and graphical glitches unless your terminal's control sequences exactly match xterm's.
Connection closed by x. x.x. x [preauth]
If you are seeing this error in your sshd logs, make sure you have set a valid HostKey.
id_dsa refused by OpenSSH 7.0.
OpenSSH 7.0 deprecated DSA public keys for security reasons. If you absolutely must enable them, set the config option PubkeyAcceptedKeyTypes +ssh-dss (openssh/legacy. html does not mention this).
No matching key exchange method found by OpenSSH 7.0.
OpenSSH 7.0 deprecated the diffie-hellman-group1-sha1 key algorithm because it is weak and within theoretical range of the so-called Logjam attack (see openssh/legacy. html). If the key algorithm is needed for a particular host, ssh will produce an error message like this:
The best resolution for these failures is to upgrade/configure the server to not use deprecated algorithms. If that is not possible, you can force the client to reenable the algorithm with the client option KexAlgorithms +diffie-hellman-group1-sha1 .
tmux/screen session killed when disconnecting from SSH.
If your processes get killed at the end of the session, it is possible that you are using socket activation and it gets killed by systemd when it notices that the SSH session process exited. In that case there are two solutions. One is to avoid using socket activation by using ssh. service instead of ssh. socket . The other is to set KillMode=process in the Service section of ssh@.service .
The KillMode=process setting may also be useful with the classic ssh. service , as it avoids killing the SSH session process or the screen or tmux processes when the server gets stopped or restarted.
SSH session stops responding.
SSH responds to flow control commands XON and XOFF . It will freeze/hang/stop responding when you hit Ctrl+s . Use Ctrl+q to resume your session.
Página principal.
From OpenSimulator.
What is OpenSimulator?
Binaries Zip (0.9.0.0)
Binaries Tarball (0.9.0.0)
Source Zip (0.9.0.0)
Source Tarball (0.9.0.0)
Diva distro (0.9.0.0). Binary, all OSs.
Other downloads may be found at either the Download page, or the OpenSim Release Repository.
OpenSimulator is an open source multi-platform, multi-user 3D application server. It can be used to create a virtual environment (or world) which can be accessed through a variety of clients, on multiple protocols. It also has an optional facility (the Hypergrid) to allow users to visit other OpenSimulator installations across the web from their 'home' OpenSimulator installation. In this way, it is the basis of a nascent distributed Metaverse.
OpenSimulator allows virtual world developers to customize their worlds using the technologies they feel work best - we've designed the framework to be easily extensible. OpenSimulator is written in C#, running both on Windows over the Framework and on Unix-like machines over the Mono framework. The source code is released under a BSD License, a commercially friendly license to embed OpenSimulator in products. If you want to know about our development history, see History.
Out of the box, OpenSimulator can be used to simulate virtual environments similar to Second Life™, given that it supports the core of SL's messaging protocol. As such, these virtual worlds can be accessed with the regular SL viewers. However, OpenSimulator does not aim to become a clone of the Second Life server platform. Rather, the project aims to enable innovative feature development for virtual environments and the Metaverse at large.
OpenSimulator is getting more stable over time but is still a high complex software system that can suffer various bugs and quirks; handle with care!
Supports online, multi-user 3D environments as small as 1 simulator or as large as thousands of simulators. Supports 3D virtual spaces of variable size within one single instance. Supports multiple clients and protocols - access the same world at the same time via multiple protocols. Supports realtime Physics Simulation, with multiple engine options including Bullet and ODE. Supports clients that create 3D content in real time. Supports inworld scripting using including LSL/OSSL and C#. Provides unlimited ability to customize virtual world applications through the use of scene plugin modules.
For a more extensive list, see the Feature Matrix.
Running an OpenSimulator-Based World.
Participating in the OpenSimulator Community.
OpenSimulator is an open source project, and is powered by the community members that devote time and energy to the effort. There are many ways to participate and contribute to the community:
Participate via IRC. There are channels for users and developers. Participate via the Mailing Lists. There are mailing lists for OpenSimulator use and development, as well as broader topics such as education and the Hypergrid. Contribute to this wiki, making the OpenSimulator documentation even better. Don't be afraid of making mistakes - they can be easily corrected. Report bugs or submit patches via our mantis bug tracker. If you're submitting code, please read through the Contributions Policy before starting. Create an OpenSimulator related project hosted on the Forge or elsewhere on the web. In the forge there are over a dozen registered projects, and it's a great way to further extend the OpenSimulator community. Participate to open content creation for OpenSimulator. More details at Artist Home. Participate in the weekly Office Hours for OpenSimulator development.
Manual:user table.
The user table is where MediaWiki stores information about users. If using Postgres, this table is named mwuser .
Some of this information was adapted from schema. doc in the MediaWiki docs/ directory.
user_id Edit.
user_id is the primary key, used to uniquely identify a user.
user_name Edit.
user_name : Usernames must be unique, and must not be in the form of an IP address. Shouldn't allow slashes or case conflicts. See also Manual:$wgInvalidUsernameCharacters Manual:$wgInvalidUsernameCharacters . Spaces are allowed, and underscores are converted to spaces (the opposite than with page names).
user_real_name Edit.
user_real_name stores the user's real name (optional) as provided by the user in their "Preferences" section.
user_password Edit.
Since MediaWiki 1.24, $wgPasswordDefault defaults to pbkdf2. In this case you will get a concatenation of: The string ":pbkdf2:". The hashing algorithm used inside the pbkdf2 layer, by default "sha256". The colon character (":"). The cost for this algorithm, by default "10000". The colon character (":"). The length of the derived key; "128" by default. The colon character (":"). Base64 encoded "salt" of the hashing algorithm, e. g. "kkdejKlBYFV7+LP2m2thYA==" The colon character (":"). And finally the base64 encoded result of the hashing algorithm (that had a (default) length of 128 byte before base64 encoding). The hash of the plain text user password. Since MediaWiki 1.24, if the maintenance script wrapOldPasswords. phpManual:WrapOldPasswords. php has been used, passwords may also start with ":pbkdf2-legacyA:" or ":pbkdf2-legacyB:" like ":pbkdf2-legacyB:!sha256:10000:128. ". In MediaWiki 1.23 and older, if $wgPasswordSalt is true (default) it is a concatenation of: The string ":B:", A pseudo-random hexadecimal 31-bit salt between 0x0 and 0x7fff ffff (inclusive), The colon character (":"), and The MD5 hash of a concatenation of the salt, a dash ("-"), and the MD5 hash of the password. In MediaWiki 1.23 and older, if $wgPasswordSalt is false, it is a concatenation of: The string ":A:" and The MD5 hash of the password.
user_newpassword Edit.
user_newpassword is generated for the mail-a-new-password feature.
user_newpass_time Edit.
user_newpass_time is set to the current timestamp Manual:timestamp (wfTimestampNow()) when a new password is set. Like the other timestamps, it is in in MediaWiki's timestamp format (yyyymmddhhmmss, e. g. 20130824025644).
user_email Edit.
user_options Edit.
On older versions of mediawiki, it is a newline-separated list of name=value pairs of the information of Special:Preferences. Old user accounts who haven't logged in since the field stopped being used may still have this field set.
user_touched Edit.
user_touched the last time a user made a change on the site, including logins, changes to pages (any namespace), watchlistings, and preference changes.
user_token Edit.
user_token is a pseudorandomly generated value. When a user checks "Remember my login on this browser" the value is stored in a persistent browser cookie $ Token that authenticates the user while being resistant to spoofing.
user_email_authenticated Edit.
user_email_authenticated is the timestamp of when the user email was authenticated. Defaults to NULL.
user_email_token Edit.
user_email_token is a token used for confirming an email address. See User::newFromConfirmationCode in User. php.
user_email_token_expires Edit.
user_email_token_expires is the expiration timestamp of the email token.
user_registration Edit.
user_registration is the timestamp of when the user registered. For old users, they may have a value of NULL for this field. The fixUserRegistration. php Manual:fixUserRegistration. php script can be used to back-populate this field.
user_editcount Edit.
user_editcount is the rough number of edits and edit-like actions the user has performed. The following actions are counted as edits:
Creating or modifying a MediaWiki page even if the revision or page is later deleted (i. e. making a non-null edit) Creating or modifying a post on a Structured Discussions (former "Flow") board Moving a page to a new title (since version 1.30)
This field is not an exactly accurate copy of COUNT(*) FROM revision WHERE rev_user = user_id . However, it should be roughly accurate if the update scripts are consistently run and it's the only place edit count data is available to the software, so it's still used for serious purposes like deciding whether accounts have been autopromoted.
A number of things could cause this value to be incorrect. For example, it may be out of date or, for old accounts, NULL if the update script ( initEditCount. php Manual:initEditCount. php ) hasn't been run. Also, some deletions may not affect it consistently.
user_emailauthenticationtimestamp Edit.
user_password_expires Edit.
Date when user's password expires; null for no expiration date. Can also be set manually by calling User->expirePassword().
Começando.
btrfs is a fast-moving target . There are typically a great many bug fixes and enhancements between one kernel release and the next. Assim sendo:
If you are running a kernel two or more versions behind the latest one available from kernel, the first thing you will be asked to when you report a problem is to upgrade to the latest kernel. Some distributions keep backports of recent kernels to earlier releases -- see the page below for details.
Having the latest user-space tools are also useful, as they contain additional features and tools which may be of use in debugging or recovering your filesystem if something goes wrong.
The status of btrfs was experimental for a long time, but the the core functionality is considered good enough for daily use. There are new features being implemented and these should be considered experimental for a few releases when the bugs get ironed out when number of brave users help stabilizing it.
While many people use it reliably, there are still problems being found.
Reporting problems.
If you have a problem with btrfs, you should report it to either the Btrfs mailing list or to the IRC channel.
Enterprise distributions with btrfs support.
Since February 2012 there are two vendors who support btrfs in their distributions. They've put additional efforts to make btrfs supportable, so not everything written in the section above necessarily applies and it's recommended to ask the respective vendors about that.
SUSE Enterprise Linux.
With SLES11 SP2 comes support of btrfs, read more in the release notes section.
Unbreakable Enterprise Kernel Release 2 for Oracle Linux.
Available for both Oracle Linux 5 and 6, also available to Oracle Linux Customers from the Oracle Unbreakable Linux Network.
Distro support.
Many distros already enable Btrfs support in their kernels and have packages for the Btrfs userspace utilities. Refer to your distro for more documentation about the specifics, like package names or versions available. This wiki is focused on upstream community and for general information.
Btrfs is under active development, the stable kernels receive bugfixes during the development phase of new version and should be safe to use. The distribution kernels do not necesessarily track the most recent kernels but probably backport important fixes.
Compiling Btrfs from sources.
Download the latest utility programs and modules following these instructions.
For distribution-specific packages of the latest kernel or tools, please see the support links in the table above.
Compiling the kernel support.
Btrfs uses libcrc32c in the kernel for file and metadata checksums and zlib to compress data. The necessary options are automatically selected when you select to compile btrfs: CONFIG_LIBCRC32C, CONFIG_ZLIB_INFLATE and CONFIG_ZLIB_DEFLATE.
Compiling the userspace utilities.
The Btrfs utility programs require libuuid to build. This can be found in the e2fsprogs sources, and is usually available as libuuid, uuid-dev or e2fsprogs-devel from various distros. You also need the zlib development headers, usually available in a package called zlib-devel or zlib1g-dev.
Building the ext3 conversion tools requires libe2fs (usually available in e2fsprogs-devel or e2fslibs-dev) and libacl (may be available in libacl1-dev).
Building the utilities is just make . If you would also like the ext3 conversion program, type make convert .
make install will copy the programs into /usr/local/bin.
Basic Filesystem Commands.
Creating a filesystem of at least 1GiB is recommended.
mkfs. btrfs: create a filesystem btrfs: control program to create snapshots and subvolumes and scan devices Scan all devices looking for btrfs filesystems, or scan just one partition Snapshots and subvolumes mount - t btrfs /dev/sda2 /mnt/btrfs.
Now it is possible to mount the subvolumes.
btrfsck: do a limited check of the FS extent trees. btrfs-debug-tree: print all of the FS metadata in text form If a problem occures you can create an image of the fs with btrfs-image and send it to the devs. (All data will be zeroed, but metadata and the like is preserved.) Mount options - list of mount options.
No comments:
Post a Comment