atualiza e limpa versão 12/25
sudo bash
#!/bin/bash
# ==================================================
# Script de Manutenção do Sistema Linux
# Atualiza sistema, pacotes DEB, Flatpak, Snap
# Remove pacotes órfãos, kernels antigos e cache
# ==================================================
# --- Configuração de Segurança ---
set -Eeuo pipefail
# --- Verificação de Privilégios ---
if [[ $EUID -ne 0 ]]; then
echo "Este script deve ser executado como root. Use: sudo ./script.sh"
exit 1
fi
# --- 1. Atualização do Sistema (APT) ---
echo "Atualizando lista de pacotes..."
apt-get update
echo "Atualizando sistema e pacotes instalados..."
apt-get dist-upgrade -y
# --- 2. Limpeza do Sistema (APT e Kernels Antigos) ---
echo "Removendo pacotes desnecessários e kernels antigos..."
apt-get autoremove --purge -y
echo "Limpando cache de pacotes..."
apt-get clean
# --- 3. Atualização de Formatos de Pacotes Adicionais ---
if command -v flatpak &> /dev/null; then
echo "Atualizando pacotes Flatpak..."
flatpak update -y
else
echo "Flatpak não está instalado. Pulando..."
fi
if command -v snap &> /dev/null; then
echo "Atualizando pacotes Snap..."
snap refresh
else
echo "Snap não está instalado. Pulando..."
fi
# --- 4. Verificação Final ---
echo "Verificando se restaram pacotes para atualizar..."
apt list --upgradable || true
# --- Finalização ---
echo ""
echo "Manutenção concluída com sucesso!"
echo ""
# --- Informações do Sistema (Opcional) ---
if command -v neofetch &> /dev/null; then
neofetch
fi
#!/bin/bash
# ==============================================================================
# Script para Instalar o Calibre e o Calibre Web no Linux Mint
# ==============================================================================
# Autor: Gemini (Google AI)
# Data: 08/08/2025
# ==============================================================================
# Cores para o terminal
GREEN='\\033[0;32m'
YELLOW='\\033[1;33m'
NC='\\033[0m' # Sem Cor
echo -e "${GREEN}Iniciando a instalação do Calibre e Calibre Web...${NC}"
# --- Passo 1: Atualizar pacotes e instalar dependências ---
echo -e "\\n${YELLOW}--> Passo 1: Atualizando a lista de pacotes e instalando Python...${NC}"
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv
# --- Passo 2: Instalar o Calibre ---
echo -e "\\n${YELLOW}--> Passo 2: Baixando e instalando a versão mais recente do Calibre...${NC}"
if command -v calibre &> /dev/null
then
echo -e "${GREEN}O Calibre já está instalado. Pulando esta etapa.${NC}"
else
sudo -v && wget -nv -O- <https://download.calibre-ebook.com/linux-installer.sh> | sudo sh /dev/stdin
# Cria a pasta padrão do Calibre se ela não existir
if [ ! -d "$HOME/Calibre Library" ]; then
echo -e "${YELLOW}Criando o diretório padrão da Biblioteca Calibre...${NC}"
mkdir -p "$HOME/Calibre Library"
fi
fi
# --- Passo 3: Criar o ambiente virtual e instalar o Calibre Web ---
echo -e "\\n${YELLOW}--> Passo 3: Configurando o ambiente para o Calibre Web...${NC}"
INSTALL_DIR="$HOME/calibre-web"
if [ -d "$INSTALL_DIR" ]; then
echo -e "${YELLOW}O diretório de instalação '$INSTALL_DIR' já existe. Pulando a criação do ambiente virtual.${NC}"
else
mkdir -p "$INSTALL_DIR"
python3 -m venv "$INSTALL_DIR/venv"
echo -e "${GREEN}Ambiente virtual criado em '$INSTALL_DIR/venv'.${NC}"
fi
echo -e "\\n${YELLOW}--> Instalando o Calibre Web...${NC}"
source "$INSTALL_DIR/venv/bin/activate"
pip install calibreweb
deactivate
# --- Passo 4: Criar script para iniciar o servidor ---
echo -e "\\n${YELLOW}--> Passo 4: Criando um script para iniciar o Calibre Web facilmente...${NC}"
# O 'readlink' garante que obteremos o caminho absoluto, mesmo se a home for um link simbólico.
CALIBRE_DB_PATH=$(readlink -f "$HOME/Calibre Library")
cat << EOF > "$HOME/iniciar_calibre_web.sh"
#!/bin/bash
echo "Iniciando o servidor Calibre Web..."
echo "Acesse em seu navegador: <http://localhost:8083>"
echo "Pressione Ctrl+C para parar o servidor."
# Ativa o ambiente virtual
source "$HOME/calibre-web/venv/bin/activate"
# Inicia o Calibre Web
cps
# Desativa o ambiente virtual ao sair
deactivate
EOF
chmod +x "$HOME/iniciar_calibre_web.sh"
# --- Conclusão ---
echo -e "\\n\\n${GREEN}====================================================="
echo -e " INSTALAÇÃO CONCLUÍDA COM SUCESSO!"
echo -e "=====================================================${NC}"
echo -e "Para iniciar o Calibre Web pela primeira vez, execute o seguinte comando no terminal:"
echo -e "\\n ${YELLOW}./iniciar_calibre_web.sh${NC}\\n"
echo -e "Depois, siga estas instruções:"
echo -e "1. Abra seu navegador e acesse: ${YELLOW}http://localhost:8083${NC}"
echo -e "2. Na página de configuração, no campo 'Localização do banco de dados do Calibre', insira o seguinte caminho:"
echo -e " ${YELLOW}$CALIBRE_DB_PATH${NC}"
echo -e "3. Clique em 'Salvar'."
echo -e "4. Faça login com o usuário '${YELLOW}admin${NC}' e a senha '${YELLOW}admin123${NC}'."
echo -e "5. ${YELLOW}É altamente recomendável alterar a senha padrão após o primeiro login.${NC}"
echo -e "\\nPara futuras execuções, basta rodar o script ${YELLOW}./iniciar_calibre_web.sh${NC} novamente."
echo -e "-----------------------------------------------------"
atualiza e limpa tudo versão 2
#!/bin/bash
# --- Configuração de Segurança ---
# Encerra o script imediatamente se um comando falhar.
# Isso evita que o sistema seja parcialmente atualizado ou que erros causem problemas maiores.
set -e
# --- 1. Atualização do Sistema Principal (APT) ---
echo "Iniciando a atualização da lista de pacotes..."
sudo apt update
echo "Instalando atualizações de pacotes e do sistema..."
# O '&&' garante que o dist-upgrade só aconteça se o upgrade for bem-sucedido.
sudo apt upgrade -y && sudo apt dist-upgrade -y
# --- 2. Limpeza do Sistema (APT e Kernels) ---
echo "Removendo pacotes desnecessários e kernels antigos..."
# O comando 'autoremove --purge' limpa dependências órfãs e remove arquivos de configuração,
# incluindo versões antigas do Kernel do Linux que não estão mais em uso.
sudo apt autoremove --purge -y
echo "Limpando o cache de pacotes baixados..."
# 'apt-get clean' é a maneira oficial e segura de limpar /var/cache/apt/archives/,
# sendo mais recomendado que 'rm -rf'.
sudo apt-get clean
# --- 3. Atualização de Formatos de Pacotes Adicionais ---
# Atualiza os pacotes Flatpak, se o comando estiver disponível.
if command -v flatpak &> /dev/null; then
echo "Atualizando pacotes Flatpak..."
flatpak update -y
else
echo "Flatpak não está instalado. Pulando..."
fi
# Atualiza os pacotes Snap, se o comando estiver disponível.
if command -v snap &> /dev/null; then
echo "Atualizando pacotes Snap..."
sudo snap refresh
else
echo "Snap não está instalado. Pulando..."
fi
# --- 4. Limpeza de Cache do Usuário (Seção de Risco) ---
# AVISO: O comando a seguir é agressivo e foi mantido a seu pedido.
# Ele pode causar instabilidade em aplicações que estão rodando no momento da execução.
# Dependendo de como o script é executado com 'sudo', o '~' pode se referir
# ao diretório do usuário root (/root) em vez do seu.
echo "Limpando o cache do diretório do usuário..."
sudo rm -rf ~/.cache/*
# --- 5. Verificação Final ---
echo "Verificando se restaram pacotes para atualizar..."
# Lista pacotes que, por algum motivo, não foram atualizados.
apt list --upgradable
# --- Mensagem de Finalização ---
echo ""
echo "Sistema atualizado e limpo com sucesso!"
echo ""
# --- Exibição de Informações do Sistema (Opcional) ---
# Verifica se o Neofetch está instalado antes de tentar executá-lo.
if command -v neofetch &> /dev/null; then
neofetch
fi
Limpa tudo 3 ( sem limpeza de cache - para maquina pessoal )
#!/bin/bash
# --- Definição de Cores ---
# Usamos 'tput' para melhor compatibilidade com diferentes terminais.
if command -v tput &> /dev/null; then
NC=$(tput sgr0) # Sem Cor (Reset)
BOLD=$(tput bold) # Negrito
RED=$(tput setaf 1) # Vermelho
GREEN=$(tput setaf 2)# Verde
YELLOW=$(tput setaf 3)# Amarelo
BLUE=$(tput setaf 4) # Azul
CYAN=$(tput setaf 6) # Ciano
else
# Fallback para códigos ANSI brutos se 'tput' não estiver disponível
NC='\\033[0m'
BOLD='\\033[1m'
RED='\\033[0;31m'
GREEN='\\033[0;32m'
YELLOW='\\033[0;33m'
BLUE='\\033[0;34m'
CYAN='\\033[0;36m'
fi
# --- Combinações de Cores ---
HEADER="${BOLD}${CYAN}" # Cabeçalho da Seção (Negrito Ciano)
SUCCESS="${BOLD}${GREEN}" # Mensagem de Sucesso (Negrito Verde)
INFO="${YELLOW}" # Mensagem de Informação (Amarelo)
CMD_INFO="${BLUE}" # Informação de Comando (Azul)
# --- Configuração de Segurança ---
# Encerra o script imediatamente se um comando falhar (exit on error).
# Isso evita que o sistema seja parcialmente atualizado ou que erros causem problemas maiores.
set -e
echo -e "${HEADER}--- Iniciando Script de Atualização e Limpeza ---${NC}"
# --- 1. Atualização do Sistema Principal (APT) ---
echo -e "\\n${HEADER}--- 1. Atualização do Sistema Principal (APT) ---${NC}"
echo -e "${INFO}Iniciando a atualização da lista de pacotes...${NC}"
sudo apt update
echo -e "\\n${INFO}Instalando atualizações de pacotes e do sistema...${NC}"
# O '&&' garante que o dist-upgrade só aconteça se o upgrade for bem-sucedido.
sudo apt upgrade -y && sudo apt dist-upgrade -y
# --- 2. Limpeza do Sistema (APT e Kernels) ---
echo -e "\\n${HEADER}--- 2. Limpeza Segura do Sistema (APT) ---${NC}"
echo -e "${INFO}Removendo pacotes desnecessários e kernels antigos...${NC}"
# O comando 'autoremove --purge' limpa dependências órfãs e remove arquivos de configuração,
# incluindo versões antigas do Kernel do Linux que não estão mais em uso.
# Esta é a forma segura de limpar o sistema.
sudo apt autoremove --purge -y
echo -e "\\n${INFO}Limpando o cache de pacotes baixados (/var/cache/apt/archives/)...${NC}"
# 'apt-get clean' é a maneira oficial e segura de limpar o cache do APT.
sudo apt-get clean
# --- 3. Atualização de Formatos de Pacotes Adicionais ---
echo -e "\\n${HEADER}--- 3. Atualização de Pacotes Adicionais ---${NC}"
# Atualiza os pacotes Flatpak, se o comando estiver disponível.
if command -v flatpak &> /dev/null; then
echo -e "${INFO}Atualizando pacotes Flatpak...${NC}"
flatpak update -y
else
echo -e "${CMD_INFO}Flatpak não está instalado. Pulando...${NC}"
fi
# Atualiza os pacotes Snap, se o comando estiver disponível.
if command -v snap &> /dev/null; then
echo -e "\\n${INFO}Atualizando pacotes Snap...${NC}"
sudo snap refresh
else
echo -e "${CMD_INFO}Snap não está instalado. Pulando...${NC}"
fi
# --- 4. Limpeza de Cache do Usuário (REMOVIDO) ---
echo -e "\\n${HEADER}--- 4. Limpeza de Cache do Usuário (REMOVIDO) ---${NC}"
echo -e "${CMD_INFO}A seção de limpeza de cache de usuário (~/.cache) foi removida.${NC}"
echo -e "${CMD_INFO}Esta é uma operação arriscada para ser automatizada${NC}"
echo -e "${CMD_INFO}e pode causar instabilidade nas aplicações em execução.${NC}"
# --- 5. Verificação Final ---
echo -e "\\n${HEADER}--- 5. Verificação Final ---${NC}"
echo -e "${INFO}Verificando se restaram pacotes para atualizar...${NC}"
# Captura a saída de 'apt list --upgradable' e remove o cabeçalho "Listing..."
UPGRADABLE_PACKAGES=$(apt list --upgradable 2>/dev/null | grep -v "Listing...")
if [ -n "$UPGRADABLE_PACKAGES" ]; then
echo -e "${INFO}Atenção! Os seguintes pacotes, por algum motivo, não foram atualizados:${NC}"
echo -e "${YELLOW}$UPGRADABLE_PACKAGES${NC}"
else
echo -e "${SUCCESS}Nenhum pacote pendente. O sistema está 100% atualizado.${NC}"
fi
# --- Mensagem de Finalização ---
echo -e "\\n${HEADER}--- Finalização ---${NC}"
echo -e "${SUCCESS}Sistema atualizado e limpo com sucesso!${NC}"
# --- Exibição de Informações do Sistema (Opcional) ---
# Verifica se o Neofetch está instalado antes de tentar executá-lo.
if command -v neofetch &> /dev/null; then
echo -e "\\n${INFO}Exibindo informações do sistema...${NC}"
neofetch
else
echo -e "\\n${CMD_INFO}(Neofetch não instalado. Para exibir infos, instale-o com 'sudo apt install neofetch')${NC}"
fi
echo ""
Atualiza e limpa original
#!/bin/bash
# Atualiza a lista de pacotes e o sistema
sudo apt update && sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
sudo apt autoclean -y
# Atualiza os pacotes Flatpak
if command -v flatpak &> /dev/null; then
echo "Atualizando pacotes Flatpak..."
flatpak update -y
else
echo "Flatpak não está instalado. Pulando..."
fi
# Atualiza os pacotes Snap
if command -v snap &> /dev/null; then
echo "Atualizando pacotes Snap..."
sudo snap refresh
else
echo "Snap não está instalado. Pulando..."
fi
# Limpeza adicional de caches
sudo rm -rf /var/cache/apt/archives/*
sudo rm -rf ~/.cache/*
# Verifica atualizações do kernel (opcional)
echo "Verificando kernels antigos para remoção..."
sudo apt autoremove --purge -y
# Listar pacotes que não foram atualizados
echo "Verificando pacotes que não foram atualizados..."
apt list --upgradable
# Mensagem de finalização
echo "Sistema atualizado e limpo com sucesso!"
# Exibe Logo
neofetch
codigo melhorado - criar pasta e compartilhar anonimo
#!/bin/bash
# Configurações
PASTA="/home/$USER/shared" # Ajusta dinamicamente para o usuário atual
USUARIO="$USER"
NOME_COMPARTILHAMENTO="shared"
# Criar a pasta
echo "Criando a pasta $PASTA..."
sudo mkdir -p "$PASTA"
# Ajustar permissões
echo "Ajustando permissões da pasta $PASTA..."
sudo chown -R "$USUARIO:$USUARIO" "$PASTA"
sudo chmod -R 777 "$PASTA"
# Instalar Samba se não estiver instalado
if ! dpkg -l | grep -q samba; then
echo "Instalando Samba..."
sudo apt update
sudo apt install -y samba
fi
# Adicionar configuração ao smb.conf (evitar duplicação)
echo "Configurando Samba..."
SAMBA_CONFIG="/etc/samba/smb.conf"
if ! grep -q "^\\[$NOME_COMPARTILHAMENTO\\]" "$SAMBA_CONFIG"; then
sudo bash -c "cat >> $SAMBA_CONFIG <<EOL
[$NOME_COMPARTILHAMENTO]
path = $PASTA
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
force user = $USUARIO
EOL"
else
echo "Configuração para $NOME_COMPARTILHAMENTO já existe no smb.conf. Ignorando."
fi
# Reiniciar serviços do Samba
echo "Reiniciando serviço Samba..."
if systemctl list-units | grep -q smbd.service; then
sudo systemctl restart smbd
else
echo "Serviço smbd não encontrado. Verifique a instalação do Samba."
fi
if systemctl list-units | grep -q nmbd.service; then
sudo systemctl restart nmbd
fi
echo "Pasta $PASTA criada e compartilhada com sucesso!"
Criar pasta compartilhada Scritp ( nao sei se foi testado)
#!/bin/bash
# Configurações
PASTA="/home/user/shared"
USUARIO="user"
GRUPO="familia"
NOME_COMPARTILHAMENTO="shared"
# Criar a pasta
echo "Criando a pasta $PASTA..."
sudo mkdir -p $PASTA
# Ajustar permissões
echo "Ajustando permissões da pasta $PASTA..."
sudo chown -R $USUARIO:$GRUPO $PASTA
sudo chmod -R 770 $PASTA
# Instalar Samba se não estiver instalado
if ! dpkg -l | grep -q samba; then
echo "Instalando Samba..."
sudo apt update
sudo apt install -y samba
fi
# Adicionar configuração ao smb.conf
echo "Configurando Samba..."
SAMBA_CONFIG="/etc/samba/smb.conf"
sudo bash -c "cat >> $SAMBA_CONFIG <<EOL
[$NOME_COMPARTILHAMENTO]
path = $PASTA
available = yes
valid users = $USUARIO
read only = no
browsable = yes
public = yes
writable = yes
EOL"
# Criar senha para o usuário Samba
echo "Criando senha para o usuário Samba..."
(echo "senha_do_user"; echo "senha_do_user") | sudo smbpasswd -a $USUARIO -s
# Reiniciar serviço Samba
echo "Reiniciando serviço Samba..."
sudo systemctl restart smbd
echo "Pasta $PASTA criada e compartilhada com sucesso!"
Criar com acesso anonimo ( funcionou)
#!/bin/bash
# Configurações
PASTA="/home/user/shared"
USUARIO="user"
GRUPO="familia"
NOME_COMPARTILHAMENTO="shared"
# Criar a pasta
echo "Criando a pasta $PASTA..."
sudo mkdir -p $PASTA
# Ajustar permissões
echo "Ajustando permissões da pasta $PASTA..."
sudo chown -R $USUARIO:$GRUPO $PASTA
sudo chmod -R 777 $PASTA
# Instalar Samba se não estiver instalado
if ! dpkg -l | grep -q samba; then
echo "Instalando Samba..."
sudo apt update
sudo apt install -y samba
fi
# Adicionar configuração ao smb.conf
echo "Configurando Samba..."
SAMBA_CONFIG="/etc/samba/smb.conf"
sudo bash -c "cat >> $SAMBA_CONFIG <<EOL
[$NOME_COMPARTILHAMENTO]
path = $PASTA
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
force user = $USUARIO
EOL"
# Reiniciar serviço Samba
echo "Reiniciando serviço Samba..."
sudo systemctl restart smbd
echo "Pasta $PASTA criada e compartilhada com sucesso!"