Vou mandar uma dica aqui para quem resolveu instalar o Linux e volta e meia apanha quando instalando alguma coisa e ou compilando um pacote. Coisa simples, que eu gostaria muito que tivesse me ensinado quando comecei a mexer com Linux.
Abra o terminal e dê o seguinte comando:
sudo apt install build-essential
O comando acima instala um conjunto de pacotes chamado “build-essentials”, que são um conjunto de pacotes necessários para compilar softwares no Linux.
Esse comando instala automaticamente o depurador GNU, os compiladores g++/GNU e mais algumas ferramentas e bibliotecas necessárias para compilar um programa.
Ao instalar os pacotes build-essential, alguns outros pacotes como G++, dpkg-dev, GCC e make, etc. também são instalados em seu sistema.
Não resolve tudo, mas na prática ter esse conjunto de ferramentas ajuda e muito na instalação de pacotes e eu considero uma boa pedida o ter instalado no sistema.
Resposta originalmente postada no Quora em 16/07/2019
Tem sempre alguma coisa que a gente faz..
Vou citar uma aqui..
Certa feita tive de instalar um dual boot, Linux e Windows.
O Windows teve um update logo depois da instalação e zoou grandão o GRUB. O computador parou de funcionar.
Saquei meu script ‘reparagrub’ e rodei ele.
Programadores entenderão:
sudo mount /dev/sdb7 /mnt
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
sudo chroot /mnt
update-grub
grub-install /dev/sda
update-grub
exit
O
OS Kernel ou Núcleo do Sistema Operacional é um programa de computador
que é o coração do sistema operacional de um computador. Ele tem
controle completo sobre tudo que acontece no sistema.
Abaixo tem a estrutura básica de um sistema operacional Unix, situando o modo núcleo.
E aqui tem a estrutura básica de um sistema operacional Windows 7 situando o modo núcleo do sistema operacional:
Na
maioria dos sistemas ele é um dos primeiros programas a serem
carregados na inicialização, logo após do carregador inicial
(bootloader). Ele gerencia as demais inicializações assim como as
requisições de entrada e saída do software, traduzindo-as em instruções
de processamento de dados para o processador do computador. Ele também
manuseia a memória e periféricos como teclado, monitor, impressoras e
interface de áudio.
O Kernel faz a interface entre o software da aplicação e o hardware do computador.
A
parte crítica do código do Kernel é normalmente carregada em uma área
separada da memória a qual é protegida de ser acessada pelos programas
ou outras partes menos críticas do sistema operacional.
O
Kernel executa suas tarefas como rodar processos, gerenciar
dispositivos de hardware com o HD, fazer o gerenciamento de interrupções
dentro da área protegida do Kernel.
Por
outro lado, tudo o que o usuário faz é executado na área do usuário
(user space) como escrever um texto no editor de texto, rodar programas
em uma interface gráfica (GUI) e etc.
Essa
separação previne que os dados dos programas do usuário e os dados do
Kernel acabem interferindo um no outro o que pode causar instabilidade
no sistema, lentidão no processamento, erros nos programas e até causar
erros catastróficos no sistema operacional.