Categoria: Linux

Feed desta categoria: linux

By default, Netdata only shows data from the last hour (unless configured to keep data for a longer period of time).

In version 1.15, they included a database engine, which can be used to store more data. It is very easy to enable it, but I could not find anywhere a guide showing how to do it. So, here it goes.


First, you must update your Netdata to at least v. 1.15.

Then, you must find your netdata install folder. There, you must look for a script called edit-config. In one of my servers, it is located at /etc/netdata, but in another one it was in a different location. Navigate to that folder, then run this command:

./edit-config health.d/dbengine.conf

You may need to use sudo.

After that, you must edit netdata.conf, which is in the same folder. Under [global], you must add these 3 lines:

memory mode = dbengine
page cache size = 32
dbengine disk space = 256

And that's it. Reboot, and load the netdata page at servername:19999. To make sure that it is working, I had to wait one hour to see if it would keep showing old data or not. Maybe there's a better way to check it, but that's what I did.

 

 

 

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 [email protected]

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

Listando:

ls -l

Ordenando pela data:

ls -l --sort=time

Ordenando inversamente:

ls -l --sort=time -r

Exibindo data e hora completos do arquivo:

ls -l --time-style=full-iso

Contando quantos arquivos tem na pasta:

ls | wc -l

Alterando data de modificação de arquivos:

touch -d "2 hours ago" filename

Fontes: https://unix.stackexchange.com/questions/1125/how-can-i-get-a-count-of-files-in-a-directory-using-the-command-line

https://askubuntu.com/questions/62492/how-can-i-change-the-date-modified-created-of-a-file

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