Estou usando o Ubuntu 18.04.
Renomeei a /etc
pasta para apache2
. Esse foi o meu maior erro
Agora não consigo renomeá-lo porque preciso usar sudo
, mas quando tento recebo o erro
sudo: unknown uid 1000
Como posso resolver este problema? Eu não tenho um sistema ativo para inicializar e, no modo de recuperação, o terminal raiz é aberto, mas depois fecha cannot open password database
.
/mnt
, renomeie e reinicie.Respostas:
Uma maneira fácil de corrigir problemas como esse geralmente é inicializar a partir de um sistema ativo, montar a partição raiz
/mnt
e renomear o arquivo.Se você não possui um sistema ativo ou um meio de criar um, ou não possui acesso físico ao sistema, mas pode reiniciar e obter o menu GRUB, pode usar o editor GRUB para obter um shell raiz e renomear o arquivo.
Reinicialize ou desligue, ligue e, se você normalmente não vê o menu GRUB na inicialização, pressione Shiftou Escpara acessar o menu GRUB.
Mova o cursor para baixo em Opções avançadas para Ubuntu e pressione e enter, em seguida, pressione epara editar as opções de inicialização (apenas uma vez - as alterações aqui não serão permanentes, portanto, não precisamos limpar depois).
Você verá uma tela parecida com esta 1 :
Mova o cursor para baixo até a linha que começa
linux
e, em seguida, mova o cursor para o final dessa linha ou para qualquer lugar entre os parâmetros de inicialização do kernel. Verifique se você está na linha correta e digite com cuidado aqui, pois o sistema pode falhar ao inicializar sem estar/etc
no lugar.Adicione o texto
init=/bin/bash
e pressione F10para inicializar.Isso iniciará o sistema com um shell Bash como init. Você receberá um shell raiz e o sistema de arquivos será montado somente para leitura. 2 Para tornar o sistema de arquivos gravável, digite o comando
Agora você pode renomear
/etc
(você pode quererls
primeiro)Agora você pode reiniciar ou concluir a inicialização normalmente daqui, solicitando que o shell raiz se substitua pelo sistema init normal 3 :
Eu testei este procedimento no Ubuntu MATE 18.04.
1 Muito obrigado ao Kulfy por obter uma captura de tela de boa qualidade do editor GRUB do VirtualBox!
2 Embora PATH não possa ser definido a partir dos arquivos de configuração
/etc
neste cenário, o Bash definirá automaticamente um .3 Se
exec systemd
não funcionar para você,exec /sbin/init
faça o truque. Caso contrário,readlink -e /sbin/init
deve fornecer o caminho para qualquer programa init que esteja em execução, o que você pode fazerexec
com o caminho completo. Se você não puder continuar dessa maneira, basta entrarreboot
.fonte
F10
apenas algumas linhas aparecerem e param na tela em branco. Você pode sugerir alguma coisa?Se você possui um USB ativo, poderá inicializá-lo e montar seu sistema de arquivos existente e renomeá-lo a
/etc
partir daí. Aqui está um tutorial sobre como criar um USB ativo, se necessário.Uma vez inicializado no USB ativo (se estiver usando uma unidade Ubuntu 18.04), selecione "Experimente o Ubuntu sem instalar" e, essencialmente, fornecerá uma instância completa de uma instalação do Ubuntu que não persistirá após o desligamento. Depois de inicializado, você tem algumas opções:
Maneira da linha de comando
Abra um terminal e corra
lsblk
. Procure o volume que seria a unidade da sua instalação original e observe qual é o número (/ dev / sd #)Em seguida, crie um ponto de montagem para a unidade com
mkdir -p /mnt/directory
e monte a unidade comsudo mount /dev/sd# /mnt/directory
. Navegue para o diretório comcd /mnt/directory
e agora você deve estar no diretório raiz da instalação, mas agora com umsudo
comando de trabalho . executesudo mv apache2 etc
e reinicie no seu sistema operacional hipoteticamente funcional.Maneira gráfica
Abra o utilitário de discos procurando por Discos. Selecione o volume que se parece com sua unidade de instalação e monte-a. Abra o gerenciador de arquivos e selecione o volume montado, clique com o botão direito do mouse na sua
/apache2
pasta, renomeie-a e/etc
, em seguida, reinicie.fonte
sudo nautilus
no terminal. (O Ubuntu usa o "nautilus" como seu gerenciador de arquivos da mesma maneira que o Windows usa o "explorer".)sudo -H nautilus
evitar que o root se torne o proprietário dos arquivos de configuração$HOME
, potencialmente tornando-os inacessíveis pelos programas executados como um usuário comum. Você provavelmente está ciente disso, mas estou mencionando outros leitores.Faça o USB inicializável, como mostrado aqui.
Inicialize a partir do USB pressionando a tecla conforme mostrado aqui.
Descubra sua partição do sistema de arquivos executando
gparted
. Suponha que seja sdxy.Executar no terminal
sudo mount /dev/sdxy /mnt
Executar no terminal
sudo mv /mnt/apache2 /mnt/etc
Verifique seu sistema de arquivos em / mnt para a alteração de nome.
Executar no terminal
sudo reboot
Quando solicitado, remova o USB e pressione enter
fonte
mount
programa é muito rigoroso e sempre deve ser executado como root; a única exceção é quando o sistema de arquivos está dentrofstab
e tem auser
opção O programaudisksctl
permite que usuários normais montem dispositivos usando, por exemploudisksctl mount -b /dev/sda1
(ele cria um ponto de montagem adequado/media/$USER/
). Eu não tentei usarudisksctl
a partir de um sistema ao vivo, mas em um sistema vivo é sempre um usuário privilegiado capaz de executarsudo
sem senha por isso não há necessidade de utilitários como oudisksctl
que são de outra maneira tão útil