Reinstalar o Linux

Acontece regularmente

Conteúdo da página

Preciso ter uma sequência padrão de tarefas pós-instalação para referência, então estou registrando-a aqui.

Muito vazio ubuntu tesktop

Onde

Normalmente uso distribuições baseadas em ubuntu. A instalação mais recente é a Mint 21.3 (baseada no ubuntu 22.04).

Como

algumas ferramentas maravilhosas

sudo apt-get install git git-lfs gimp mc flameshot htop nvtop chkservice

# se o trabalho gráfico estiver no horizonte
sudo apt-get install imagemagick
git lfs install

# se for necessário manipular pdf
sudo apt-get install poppler-utils

manipulação de json

Veja exemplos em Bash Cheat Sheet

sudo apt-get install jq jo

Instalar drivers NVidia

Método 1

Remover drivers NVidia locais

sudo apt-get purge 'nvidia*'
sudo apt-get autoremove
sudo apt-get autoclean

Adicionar PPA e atualizar referências locais de pacotes

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

Verificar qual versão de driver a NVidia recomenda para o seu dispositivo

ubuntu-drivers devices

Instalar

sudo apt-get install nvidia-driver-535
sudo reboot

Verificar se você pode ver sua GPU e qual versão está instalada

nvidia-smi

Método 2

Veja aqui para a versão do seu sistema operacional: https://developer.nvidia.com/cuda-downloads

Para instalar a versão do módulo do kernel aberto:

sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555

Instalar CUDA

O mesmo da NVidia oficial: https://developer.nvidia.com/cuda-downloads

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-9

flatpacks

vlc, obsidian, nextcloud desktop, foliate, dbeaver

ungoogled-chromium

https://github.com/ungoogled-software/ungoogled-chromium

echo 'deb http://download.opensuse.org/repositories/home:/ungoogled_chromium/Ubuntu_Jammy/ /' | sudo tee /etc/apt/sources.list.d/home:ungoogled_chromium.list
curl -fsSL https://download.opensuse.org/repositories/home:ungoogled_chromium/Ubuntu_Jammy/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_ungoogled_chromium.gpg > /dev/null
sudo apt update
sudo apt install ungoogled-chromium

golang

Esta instalação instala uma versão bastante antiga, atualmente 1.18

sudo apt-get install golang-go

então, vá para https://go.dev/dl/ e escolha a sua versão mais recente, depois,

sudo bash

e

wget https://go.dev/dl/go1.24.3.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz

depois adicione ao $HOME/.profile

export PATH=$PATH:/usr/local/go/bin

depois

source $HOME/.profile
go version

vs code

https://code.visualstudio.com/docs/setup/linux

Instale o pacote deb (precisa baixá-lo primeiro). A instalação do pacote .deb instalará automaticamente o repositório apt e a chave de assinatura para permitir a atualização automática usando o gerenciador de pacotes do sistema.

Ou faça o mesmo manualmente abaixo:

sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg

Em seguida, atualize o cache do pacote e instale o pacote usando:

sudo apt install apt-transport-https
sudo apt update
sudo apt install code # ou code-insiders

Instale extensões do vs code:

Python, C#, Go, Hugohelper, Front Matter CMS, React*, Flutter

O vs code padrão tem alguns rastreamentos - parcialmente removidos nas configurações: user:application:telemetry=>off … mas ainda …

O flatpack do VSCodium é uma versão sem rastreamento, não muito atrasada.

Python e Anaconda

Instale pip

sudo apt install python3-pip

https://www.anaconda.com/download/success

baixe a versão linux como

wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh

e execute

bash Anaconda3-2024.06-1-Linux-x86_64.sh

preste atenção no final:

Se preferir que o ambiente base do conda não seja ativado no início da sessão,
   execute o seguinte comando quando o conda estiver ativado:

conda config --set auto_activate_base false

Você pode desfazer isso executando `conda init --reverse $SHELL`? [sim|não]

hugo

https://gohugo.io/installation/linux/

por exemplo, este: https://github.com/gohugoio/hugo/releases/tag/v0.124.1

baixe e instale hugo_extended_0.124.1_linux-amd64.deb

kubectl

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management

sudo apt-get update
# apt-transport-https pode ser um pacote falso; se for, você pode pular esse pacote
sudo apt-get install -y apt-transport-https ca-certificates curl
# Se a pasta /etc/apt/keyrings não existir, ela deve ser criada antes do comando curl, leia a nota abaixo.
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # permite que programas APT não privilegiados leiam este keyring
# Isso sobrescreve qualquer configuração existente em /etc/apt/sources.list.d/kubernetes.list
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list   # ajuda ferramentas como command-not-found a funcionar corretamente
sudo apt-get update
sudo apt-get install -y kubectl

chaves ssh

copie as chaves ssh para ~/.ssh

depois copie a id para todos os ipaddrs no seu laboratório

ssh-copy-id username@ipaddr

docker

sudo docker images

desinstale o existente

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Instale usando o repositório apt

# Adicione a chave oficial do Docker:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Adicione o repositório aos fontes do Apt:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

se você usar derivativos do ubuntu, precisa usar UBUNTU_CODENAME em vez de VERSION_CODENAME, como

# Adicione a chave oficial do Docker:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Adicione o repositório aos fontes do Apt:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Instale a versão mais recente:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verifique

sudo docker run hello-world

Opcionalmente, adicione o usuário atual ao grupo docker

usermod -aG docker $USER

portainer

Para começar, você precisará:

  • Da versão mais recente do Docker instalada e funcionando
  • Acesso sudo na máquina que hospedará a instância do servidor Portainer
  • Por padrão, o servidor Portainer exporá a interface do usuário pela porta 9443 e exporá um servidor de tunelamento TCP pela porta 8000. O último é opcional e é necessário apenas se você planejar usar as funcionalidades de computação de borda com agentes de borda.

Requisitos:

  • O SELinux está desativado na máquina que executa o Docker. Se você precisar do SELinux, precisará passar a bandeira –privileged ao Docker ao implantar o Portainer.

Primeiro, crie o volume que o servidor Portainer usará para armazenar seu banco de dados:

sudo docker volume create portainer_data

Em seguida, baixe e instale o contêiner do servidor Portainer:

sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

verifique

sudo docker ps

Navegue até: https://localhost:9443

O nome de usuário é admin, defina a senha na interface

Agente do Kubernetes Portainer

Crie o ambiente do k8s, o agente

kubectl apply -f https://downloads.portainer.io/ce2-19/portainer-agent-k8s-lb.yaml
kubectl get services --all-namespaces

depois copie e cole o endereço ip externo do serviço do portainer na interface, não se esqueça da porta 9001

.netcore sdk

https://learn.microsoft.com/en-gb/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2204

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0 aspnetcore-runtime-8.0

ou se não for esperado aspnet

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0 dotnet-runtime-8.0

Dependências

Quando você instala com um gerenciador de pacotes, estas bibliotecas são instaladas para você. Mas, se você instalar manualmente o .NET ou publicar um aplicativo autônomo, você precisará garantir que estas bibliotecas estejam instaladas:

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu70
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

As dependências podem ser instaladas com o comando apt install. O seguinte trecho demonstra a instalação da biblioteca zlib1g:

sudo apt install zlib1g

awscli

Para instalar awscli do repositório ubuntu (em julho de 2024, você obterá v1.22.34-1):

sudo apt install awscli

Para verificar a versão do awscli instalada no seu pc:

aws --version

Ou para obter a versão mais recente fresca da Amazon (2.0): https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

atualmente:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update

Terraform

O Terraform pode ser instalado de muitas formas, veja aqui: https://developer.hashicorp.com/terraform/install

Estou instalando do repositório da hashicorp para ubuntu

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

E para linux mint, tenha cuidado, o instalador do terraform não funciona corretamente. Verifique as saídas desses comandos

lsb_release -cs

cat /etc/upstream-release/lsb-release 

Agora vá para Fontes de Software e substitua em Hashicorp o ‘virginia’ por ‘Jammy’ e execute novamente

sudo apt update && sudo apt install terraform

Para verificar que o terraform foi instalado corretamente, execute

terraform version

Controle de serviços systemd

Pode usar

systemctl status
systemctl stop some-service
systemctl disable some-service 

ou pode usar chkservice

sudo apt-get install chkservice

sudo chkservice