Categoria: Linux

Feed desta categoria: linux

Listando os dispositivos e partições encontrados:

sudo fdisk -l

Montando a partição do dispositivo em uma pasta:

sudo mount /dev/sdb1 /media/usb/

Obs: A pasta /media/usb precisa ter sido criada antes.

Listando o espaço em disco dos dispositivos:

df

Desmontando a partição para remover o drive:

sudo umount /media/usb

Primeiro, instalamos tor e o connect-proxy:

sudo apt install tor connect-proxy

Depois, configuramos o arquivo ~/.ssh/config para usar o proxy:

Host *
CheckHostIP no
Compression yes
Protocol 2
ProxyCommand connect -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p

Por fim, conectamos no ssh:

ssh user@server

Se der a mensagem de erro ERROR: You must specify the destination port correctly., então precisa usar o ip do servidor, ao invés do hostname.

Primeiro, precisamos do comando sql que será executado.

Execute o comando no seu programa preferido (Workbench, direto na linha de comando, etc) e finalize o programa.

Execute o comando abaixo para ver o status do comando (oi?)

mysql -v -h ipdobanco -u login -psenha nomedabase -e "show processlist;"

O retorno será de pelo menos 2 linhas, uma detalhando o próprio comando SHOW PROCESSLIST, e outra com o comando que foi executado antes:

--------------
show processlist
--------------

+----------+--------+-----------------------+--------+---------+------+----------+------------------------------------------+-----------+---------------+
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined |
+----------+--------+-----------------------+--------+---------+------+----------+------------------------------------------+-----------+---------------+
| 19241044 | login | 127.0.0.1:39922 | nomedabase | Query | 529 | updating | delete from tabela | 0 | 416450 |
| 19258640 |login |127.0.0.1:54285 |nomedabase | Query | 0 | init | show processlist | 0 | 0 |
+----------+--------+-----------------------+--------+---------+------+----------+------------------------------------------+-----------+---------------+

Agora, precisamos executar esse comando de tempos em tempos, para verificarmos quando finalizou.

while sleep 60; do COMANDO; done

O exemplo acima fica assim:

while sleep 60; do mysql -v -h ipdobanco -u login -psenha nomedabase -e "show processlist;"; done

O 60 significa que o comando será executado a cada 60 segundos. Basta alterar pra executar numa frequência diferente.

O Debian vem com uma versão do Firefox, que é muito desatualizada.

Para poder usar a versão mais recente, o jeito é instalar manualmente. É mais simples do que brigar com o apt-get.

Primeiro passo é remover a versão atual do firefox:

sudo apt remove firefox (ou sudo apt remove firefox-esr)

Depois, precisamos criar uma pasta dentro de /opt, para armazenar o firefox:

mkdir /opt/firefox

Fazer o download da versão atual:
wget -O FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US"

Extrair o arquivo baixado na pasta que criamos:

tar xjf FirefoxSetup.tar.bz2 -C /opt/firefox/

Depois, criar o atalho no launcher:
Crie o arquivo /usr/share/applications/firefox.desktop, com o seguinte conteúdo:

[Desktop Entry]
Name=Firefox
GenericName=Firefox
Exec=/opt/firefox/firefox/firefox
Terminal=false
Icon=/opt/firefox/firefox/browser/icons/mozicon128.png
Type=Application
Categories=Application;Network;X-Developer;
Comment=Firefox Web Browser.

 

Como a instalação foi feita manualmente, a atualização também vai ter que ser manual. Pra isso, criei um pequeno script .sh, que pode ser utilizado pra isso.

Salve o conteúdo abaixo em um arquivo com a extensão .sh, depois dê permissão de execução nele (chmod +x):

sudo rm -Rf /opt/firefox/
wget -O FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US"
sudo mkdir /opt/firefox
sudo tar xjf FirefoxSetup.tar.bz2 -C /opt/firefox/

E é isso.

Fonte: https://linuxconfig.org/how-to-install-latest-firefox-browser-on-debian-9-stretch-linux

Às vezes aparecem uns arquivos chamados ?.pub, ou apenas ? na pasta home.

Na verdade, esse não é o nome dos arquivos. O que acontece é que o nome deles é formado por caracteres unicode que não podem ser exibidos no console.

O jeito é descobrir o inode dos arquivos, e excluir através dele.

Listando o inode dos arquivos:
ls -il


Excluindo através do inode:

find . -inum 15681478197 -exec rm -i {} \;

Fonte: https://unix.stackexchange.com/a/230030

Para remover arquivos com uma determinada extensão em várias sub-pastas, recursivamente:

find pasta -name '*.extensao' -exec rm -f {} \;

 

Obviamente, pode ser usado na pasta atual:

find . -name '*.extensao' -exec rm -f {} \;

Ao iniciar o Virtualbox, aparece uma mensagem dizendo para executar o /sbin/vboxconfig como root.

Ao executar o comando indicado, aparece a seguinte mensagem de erro:

This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
linux-headers-amd64 linux-headers-4.9.0-6-amd64
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
linux-headers-amd64 linux-headers-4.9.0-6-amd64

There were problems setting up VirtualBox. To re-start the set-up process, run
/sbin/vboxconfig
as root.

 

Para resolver, basta instalar os headers indicados na mensagem de erro.

sudo apt install linux-headers-amd64 linux-headers-4.9.0-6-amd64

E depois, rodar de novo o comando para configurar o Virtualbox:

sudo /sbin/vboxconfig

 

O detalhe aqui é verificar o header descrito na mensagem de erro.

Primeiro, são necessários os arquivos de instalação do jogo - seja via download, ou pelo cd de instalação.

mkdir -p ~/quake4/q4base

cp -v <DVD_OU_PASTA_COM_ARQUIVOS>/Setup/Data/q4base/*.pk4 ~/quake4/q4base

Depois, precisa do arquivo quake4-linux-1.4.2.x86.run, disponível neste link:

http://distro.ibiblio.org/rootlinux/rootlinux-ports/more/quake4/

chmod +x quake4-linux-1.4.2.x86.run

./quake4-linux-1.4.2.x86.run

Na hora de rodar o arquivo .run, vai perguntar qual o caminho da instalação. Informe o caminho criado acima:

~/quake4/q4base

Execute rodando um dos comandos abaixo:

./quake4-smp

./quake4

Se na hora de rodar, aparecer o erro "libGL error: unable to load driver: i965_dri.so", use os dois comandos abaixo:

rm libstdc++.so.6
rm libgcc_s.so.1

Fontes:

https://help.ubuntu.com/community/Games/Native/Quake4

https://askubuntu.com/questions/794106/quake-4-libgl-error-on-ubuntu-16-04-lts

http://distro.ibiblio.org/rootlinux/rootlinux-ports/more/quake4/

sudo swapon --show //consultando a utilização do swap
sudo swapoff -a //desligando swap
sudo swapon --show //confirmando se desligou
sudo fallocate -l 4G /swapfile //criando um arquivo de 4Gb para usar como swap
ls -lh /swapfile //conferindo o tamanho do arquivo
sudo chmod 600 /swapfile //dando permissão de acesso apenas ao root
sudo mkswap /swapfile //transformando o arquivo em swap
sudo swapon /swapfile //habilitando o swap
sudo swapon --show //conferindo se habilitou

cat /proc/sys/vm/swappiness //conferindo o swappiness
sudo sysctl vm.swappiness=30 //alterando o valor do swappiness para 30
gksudo gedit /etc/sysctl.conf //alterando permanentemente o valor de swappiness
vm.swappiness=10 //se nao existir esta linha, criar

update:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab //mantendo a alteração permanente

Obs: não esquecer de editar o /etc/fstab, comentando a linha da partição de swap.

Extrair um arquivo tgz:

tar -zxvf arquivo.tgz

Extrair um arquivo específico que está dentro do tgz:

tar -zxvf arquivo.tgz arquivo_interno.txt

Comprimindo uma pasta/arquivo no formato tgz:

tar -cvpzf arquivo.tgz pasta

Caso o arquivo seja .tar, basta tirar o z do comando:

tar -xvf arquivo.tar

Como do Dyndns agora é pago, o jeito é usar alguma outra solução de dns dinâmico, de preferência gratuita.

No caso não é exatamente gratuita - afinal, a Digital Ocean cobra pelo servidor - mas enfim.

 

Primeiro, siga os passos da instalação:
https://github.com/digitalm3/DigitalOcean_dyndns

Depois de seguir os passos, precisa criar um subdomínio no painel da DO.
Não esqueça que este subdomínio precisa ter uma entrada do tipo A apontado para o IP dinâmico, e não para o IP do servidor.

Para atualizar esse IP, instale o ddclient.
Configure o arquivo /etc/ddclient.conf da seguinte forma:
# /etc/ddclient.conf
script=/nic/update.php
protocol=dyndns2
#use=if, if=enp2s0
use=web, web=checkip.dyndns.org/
server=dyndns.meudominio.com
login=qualquercoisa
password='qualquercoisa'
meusubdominio.meudominio.com

Na linha server=dyndns.meudominio.com, informe a url de onde ficou instalado o script do primeiro passo. No meu caso, eu criei um subdomínio chamado dyndns, mas poderia ter instalado no domínio principal.

O login e senha podem ser qualquer coisa, já que o script não faz nenhuma autenticação (o que pode ser perigoso, caso vá rodar algum serviço sigiloso nesse ddns).

Já a última linha é o subdomínio que foi criado no segundo passo.

Depois, é só rodar um sudo ddclient update que o IP vai ser atualizado.

Ah, a linha use=web, web=checkip.dyndns.org/ é importante para que o ddclient pegue o IP externo da tua rede. Caso contrário, ele pode pegar o IP interno (192.168.0.6, por exemplo).

Comando pra atualizar o Ubuntu ou Debian.

Eu sempre esqueço...

 

sudo apt update -y && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt-get autoremove -y
sudo reboot