sexta-feira, 20 de dezembro de 2019

obtendo informações de rede

informações sobre ip e placa de rede

$ ip addr show

ou

$ ifconfig

sobre roteador e ip e rotas
$ ip route

ou

$ route

informações sobre

tudo que esta escutando/ aguardando uma conexão
$ netstat -l

mostra apenas protocolos do tcp
$ ss -ltn

$ ss -lt (resolve nomes não mostra o numero das portas)
mostra protocolos udp
$ ss -lun

$ ss -lu (resolve nomes não mostra o numero das portas)

DNS config fica em /etc/resolv.conf
DNS local /etc/hosts

analisar logs de sistema

os logs ficam no diretório /var/log

quem cuida do gerenciamente de logs é o rsyslog
 o arquivo de configuração que cuida dos logs fica normalmente em
/etc/rsyslog.d/50-default.conf
/etc/rsyslog.conf

outro metodo simples para analisar o log do sistema é atravês do comando
$ dmesg

obter informações sobre a placa mãe

$ su

# dmidecode -t baseboard

quinta-feira, 19 de dezembro de 2019

linux comandos basicos

ver em qual tty o linux está rodando
$ tty

mudar tty
ctrl + alt + F2

informações sobre ttys
$ w

trocar bash alterar bash passwd
$ usermod -s /usr/bin/zsh
$ reboot

listar informações de arquivos
$ ls -Srlah

é possivel quebrar o comando com o \
ls \
-S \
-r \
-l \
-a \
-h

File Globbing
* = tudo

procurar arquivos apenas txt
$ ls *.txt

procurar apenas arquivos que começam com 2 digitos e final txt
$ ls ??.txt

procurar qualquer aquivo que começa com a palavra file + qualquer outro digito .txt
$ ls file?.txt

procurar arquivos que começam apenas com a letra f minuscula ou F maiusculo .txt
ls [Ff]*.txt

ignorar arquivos com a letra FfDd
ls [^FfDd]*

$PATH = procura qualquer comando que está declarado nos diretorios
para executar scripts pelo shell sem o ./
vamos supor que há um diretorio chamado binsh no diretorio /home/$USER
$ PATH=$PATH:/home/$USER/binsh


saber usuario
$ whoami
echo $LOGNAME

echo $USER


mostra quem está logado no momento
$ who

informações sobre usuario
id nomedousuario

trocar usuario
su nomedousuario


mostra o historico de sessões
$ last

desligar o linux
$ poweroff
$ halt
$ shutdown -h now
$ init 0

informações sobre kernel e arquitetura
$ uname -a
$ uname -p
$ uname -r

navegar nos diretorios
voltar para o home
$ cd
$ cd ~

entrar em diretorio com espaço
$ cd 'nome do diretorio'

voltar diretorio
$ cd -

voltar diretorio
$ cd ..

Entrar em diretorio com espaços
$ cd nome\ do\ diretorio/
ou

$ cd 'nome do diretorio'

diferença entre caminho absoluto e caminho relativo
/home/$USER/.config = caminho absoluto
~/.config = caminho relativo

historico do bash
os comandos ficam guardados em .bash_history do diretorio /home
as configurações do history utiliza variaveis locais

para listar variaveis
$ set | grep HIST

o .bash_history pode ter apenas 2000 linhas
HISTFILESIZE=2000

quantos comandos o history ira gravar na sessão
HISTSIZE=1000

exercutar novamente um comando
$ history
encontre o numero da linha que tenha o comando
$ !numerodocomando

arquivo de configuração do bash de todos os usuarios
$ cat /etc/bash.bashrc

arquivo de configuração do bash do usuario local /home/$USER/.bashrc
$ cat .bashrc

OBS: o arquivo .profile do bash só é chamado em shells não interativos (modo texto)

variaveis globais e locais
env = variaveis globais
set = variaveis locais

para exportar uma variavel local para global
$ export NOMEDAVARIAVEL


digitar varios comandos

sobre aspas duplas e simples
"aspas duplas" = indentifica variaveis
'aspas simples' = trata tudo como texto


cortar qualquer palavra antes de 2 pontos
$ cut -d : -f 1 /etc/passwd

procurar tudo que começa com a e termina com z e que no meio tenha qualquer conteúdo
$ grep '^a.*z$' nomedoarquivo

procurar tudo que começa com letra a ou z no começo do arquivo
$ grep '^[aAzZ]' nomedoarquivo

procurar tudo que não começo com a ou z
$ grep '^[^aAzZ]' nomedoarquivo

procura qualquer palavra que tenha como segunda letra a
$ grep '^.[a]' nomedoarquivo

procura por qualquer caracter que começa com www
$ grep 'www*' nomedoarquivo

ver grupos existentes para permissões
$ cat /etc/group

adicionar o usuario há um grupo
$ usermod -a -G nomedogrupo usuario

criar um grupo (obs: os grupos ficam no arquivo /etc/group)
$ groupadd nomedogrupo

os arquivos a serem copiados quando se cria um usuario padrão fica em /etc/skel pode-se adicionar arquivos nesse diretório e quando novos usuarios forem criados terão esses arquivos em seu /home

criar usuario e adicionar a um grupo
$ useradd -G IDdogrupo -m -c nomedousuario nomedelogin

arquivo de configuração do comando useradd
/etc/default/useradd 

definir senha de usuario
$ passwd nomedousuario

as senhas criptografadas de usuarios ficam em /etc/shadow
para informações sobre
$ man -k shadow

nas permissões sempre há 9 casas ex: rw-rw-r--
usuario dono/grupo dono/outros
as 3 primeiras casas sempre são relacionadas ao usuario
as proximas 3 casas são relacionadas ao grupo
e as proximas 3 relacionada a outros
r = read = 4
w = write = 2
x = execute = 1

forma octal ex: rw-rw-r--
rw = 4+2 = 6
rw = 4+2 = 6
r = 4 = 4
então no modo octal a permissão é 664
ex : # chmod 664 nomedoarquivoOUdiretorio
-rw-rw-r-- (permissão de leitura e escrita para usuario e grupo e apenas leitura para outros)

no chmod comando que dá permissões a diretorios e usuarios
usuarios são representados pela letra u
ex : # chmod u+r nomedoarquivoOUdiretorio

grupos são representados pela g
ex : # chmod g+w nomedoarquivoOUdireotiro

outros são representados pela letra o
ex : # chmod o+x nomedoarquivoOUdiretorio

apagar uma permissão no chmod
ex : # chmod u-w nomedoarquivoOUdiretorio

substituir uma permissão
ex: # chmod g=x nomedoarquivoOUdiretorio

aplicar uma permissão em tudo que esta dentro de um diretorio
e tudo que está dentro dele
# chmod u+rwx,g+rwx,o+rwx -R nomedodiretorio

mudar usuario ou grupo de arquivo
# chown usuario:grupo nomedoarquivo

mudar apenas usuario
# chown usuario: nomedoarquivo

mudar apenas grupo
# chown :grupo nomedoarquivo

mudar usuario e grupo em diretorio
# chown -R usuario:grupo nomedodiretorio

um link simbolico nada mais é que um atalho para outro arquivo

para criar um link

$ ln -s nomedoarquivo nomedolink

finalizar um link
$ unlink nomedolink

criar um link fisico
$ ln nomedoarquivo nomedolink

procurar arquivos e informações sobre comandos

procurar arquivos

$ updatedb
$ locate nomedo arquivo
 
$ find diretorio -iname nomedoarquivo

informações sobre arquivo

$ file nomedoarquivo

---

informações sobre o comando

$ which nomedoarquivo

$ whereis nomedocomando

$ type nomedocomando

segunda-feira, 2 de dezembro de 2019

ver todos os comandos do shell

listará todos os comandos que você pode executar.
$ compgen -c

listará todos os aliases que você pode executar.
$ compgen -a

listará todos os built-ins que você pode executar.
$ compgen -b

listará todas as palavras-chave que você pode executar.
$ compgen -k

listará todas as funções que você pode executar.
$ compgen -A function 

listará todos os itens acima de uma só vez.
$ compgen -A function -abck

lista todos os executáveis
printf '%s\n' ${PATH//:/\/* }

site com informações sobre comandos: https://ss64.com/bash/

domingo, 1 de dezembro de 2019

extrair initrd

*** extrair initrd ***
Extract:
zcat initrd.img | cpio -idm

*** compactar initrd ***
find . | cpio -o -H newc | gzip -9 > initrd.img
OBS: você deve estar dentro do director da nova initrd para compacta-la

sexta-feira, 29 de novembro de 2019

mudar terminal padrão devuan no i3

# update-alternatives --config x-terminal-emulator

desabilitar login grafico - devuan / startx

edite o arquivo default-display-manager

# vim /etc/X11/default-display-manager

comente a linha /usr/bin/slim

adicione abaixo
/bin/true

instalar virtualbox Debian 9 / Devuan ascii

$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

# echo "deb http://download.virtualbox.org/virtualbox/debian stretch contrib" >> /etc/apt/sources.list

# apt-get update
# apt-get install virtualbox-6.0

segunda-feira, 4 de novembro de 2019

mostrar porcentagem comando cp

cp arquivo /caminho/do/arquivo | progress -m

OBS: instale o progress

$ sudo apt-get install progress

alternativa

gcp

para instalar
$ sudo apt-get install gcp

menu shell script

while :
do
    clear
    cat<<EOF
    ==============================
    Menusystem experiment
    ------------------------------
    Please enter your choice:

    Option (1)
    Option (2)
    Option (3)
           (Q)uit
    ------------------------------
EOF
    read -n1 -s
    case "$REPLY" in
    "1")  echo "you chose choice 1" ;;
    "2")  echo "you chose choice 2" ;;
    "3")  echo "you chose choice 3" ;;
    "Q")  exit                      ;;
    "q")  echo "case sensitive!!"   ;; 
     * )  echo "invalid option"     ;;
    esac
    sleep 1
done

sexta-feira, 4 de outubro de 2019

problema polybar fullscreen

caso a barra fique aparecendo no modo fullscreen procure na config do polybar as linhas

wm-restack = bspwm

override-redirect = false

habilitando essas linhas a polybar ira sumir em janelas fullscreen

OBS: tire o ; da frente da linha

SOLUÇÃO: a start job is running for wait for network to be configured

sudo systemctl mask systemd-networkd-wait-online.service

quarta-feira, 2 de outubro de 2019

nmtui não lista wifi

após instalar o ubuntu server o nmtui não lista as wifi vou tentar resolver isso
segue  alguns links para estudo

https://askubuntu.com/questions/461825/how-to-connect-to-wifi-from-the-command-line

https://unix.stackexchange.com/questions/158328/network-manager-not-listing-wifi

https://askubuntu.com/questions/213806/ubuntu-12-10-network-manager-not-listing-wireless-networks

https://forum.manjaro.org/t/solved-cannot-connnect-to-or-discover-wireless-networks/32716/10

https://superuser.com/questions/164059/how-to-force-network-manager-to-rescan-connections

https://forums.linuxmint.com/viewtopic.php?f=53&t=230759&sid=83c9e3fef763b1874de4dc842ae8e642&start=20

https://www.centos.org/forums/viewtopic.php?t=65078


como esta configurado por padrão a internet no ubuntu

/etc/networks
# symbolic names for networks, see networks(5) for more information
link-local 169.254.0.0


/etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

/etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
03:00.0 Network controller: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter (rev 01) 
 
 
TENTE:

sudo systemctl restart NetworkManager

terça-feira, 1 de outubro de 2019

Instalação do BSPWM

para instalar o bspwm

instalação do github

$ sudo apt-get install git

instalação das dependências

$ sudo apt-get install xcb libxcb-util0-dev libxcb-ewmh-dev libxcb-randr0-dev libxcb-icccm4-dev libxcb-keysyms1-dev libxcb-xinerama0-dev libasound2-dev libxcb-xtest0-dev libxcb-shape0-dev

download do bspwm e sxhkd

$ git clone https://github.com/baskerville/bspwm.git
$ git clone https://github.com/baskerville/sxhkd.git

instalação do bspwm

$ cd bspwm
$ make
$ sudo make install

instalação do sxhkd
cd sxhkd
make
sudo make install

crie um diretório em config para o bspwm e sxhkd

$ mkdir .config/bspwm
$ mkdir .config/sxhkd

copie os arquivos bspwmrc e sxhkdrc para os diretórios criados

bspwmrc

$ mv bspwm/examples/bspwmrc /home/usuario/.config/bspwm/bspwmrc
$ sudo chmod +x bspwmrc

sxhkdrc

$ mv bspwm/examples/sxhkdrc /home/usuario/.config/sxhkd/sxhkdrc
$ sudo chmod +x sxhkdrc

agora adicione ao xinitrc

sudo vim /etc/X11/xinit/xinitrc

comente a linha . /etc/X11/Xsession

adicione as linhas
sxhkdrc &
exec bspwm

OBS: caso queira que o terminal abra quando você iniciar o bspwm adicione a linha urxvt & no arquivo xinitrc

add-apt-repository comando não encontrado

solução

sudo apt-get install software-properties-common

segunda-feira, 30 de setembro de 2019

Saber tamanho de arquivo e diretorio

Tamanho dos diretório individualmente
du -h /diretorio

total do diretório
du -hs /diretório

tamanho do arquivo
du -hs arquivo.ext

sábado, 28 de setembro de 2019

instalar fonts ubuntu

as fontes devem ser colocadas no diretório

/usr/share/fonts/

 

OBS: após colocar as fonts no diretorio rode o comando abaixo para atualizar o cache

$ fc-cache -f -v

Montar Pendrive / Flash USB automaticamente

a solução que encontrei quando se desabilita o lightdm foi adicionar a seguinte linha no arquivo xinitrc

$ vim /etc/X11/xinit/xinitrc

exec dbus-launch i3

sexta-feira, 27 de setembro de 2019

remover a imagem de entrada do ubuntu

sudo vim /etc/default/grub

procure a linha GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

altere para

GRUB_CMDLINE_LINUX_DEFAULT="console"

$ sudo apt remove plymouth-theme-ubuntu-text

$ sudo update-grub2

Ubuntu 18.04 Minimal com i3

O objetivo é configurar o ubuntu 18.04 com i3 e com pouca frescura

1 - Após fazer a instalação apenas do sistema básico do ubuntu minimal

$ sudo apt-get install i3 xinit thunar network-manager net-tools mplayer gtk-2.0 gtk-3.0 firefox vim leafpad htop pavucontrol transmission gcc lxappearance file-roller feh scrot rofi cron alsa-utils alsa-base pulseaudio libreoffice okular youtube-dl arandr xbacklight

---
Montar USB automaticamente

$ vim /etc/X11/xinit/xinitrc

exec dbus-launch i3

---


---
instalar gaps

$ sudo add-apt-repository ppa:kgilmer/speed-ricer
$ sudo apt-get update
$ sudo apt-get install i3-gaps
---

---

permissão de som

$ sudo adduser usuario audio
$ sudo gpasswd -a usuario audio

---

---

remover imagem de entrada do ubuntu

sudo vim /etc/default/grub

procure a linha GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

altere para

GRUB_CMDLINE_LINUX_DEFAULT="console"

sudo apt remove plymouth-theme-ubuntu-text

$ sudo update-grub2

---

configurar som hdmi / alternativa para pavucontrol

alsamixergui é muito leve e simples

para instalar

sudo apt-get install alsamixergui

para executar basta digitar alsamixergui

instalar i3 ubuntu 18.04

$ /usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2019.02.01_all.deb keyring.deb SHA256:176af52de1a976f103f9809920d80d02411ac5e763f695327de9fa6aff23f416
# dpkg -i ./keyring.deb
# echo "deb https://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
# apt update
# apt install i3

ou

$ sudo add-apt-repository ppa:jonathonf/i3
$ sudo apt-get update
$ sudo apt-get install i3

instalar Polybar

instalar polybar 

$ sudo add-apt-repository ppa:kgilmer/speed-ricer
$ sudo apt-get update
$ sudo apt-get install polybar

configurar
criar o diretório 
$ mkdir .config/polybar

criar o arquivo config OBS: você pode baixar o arquivo config e colocá-lo no diretório .config/polybar 

$ install -Dm644 /usr/local/share/doc/polybar/config $HOME/.config/polybar/config

criar o shell script launch

$ touch launch.sh
$ sudo chmod +777 launch.sh

---

#!/usr/bin/env bash

# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# Launch bar1 and bar2
polybar bar1 -r &

echo "Bars launched..."

---

edite a config do i3 para rodar polybar
adicione a linha em i3bar_command

i3bar_command $HOME/.config/polybar/launch.sh

pronto

OBS: O comando status_command não existe mais nas versões recentes

caso a barra fique aparecendo no modo fullscreen procure na config do polybar as linhas

wm-restack = bspwm

override-redirect = false

quarta-feira, 12 de junho de 2019

Temas no vim / themes vim / schemecolor vim

Entre no diretório ~/.vim caso não tenha crie
$ mkdir ~/.vim

crie um arquivo vimrc
$ touch vimrc

adicione a seguinte linha no arquivo
colorscheme nomedotema
set number

OBS: baixe o tema que deseja no github extraia os arquivos no diretório ~/.vim
 
Sites para baixar temas prontos
 
https://vimawesome.com/
https://vimcolorschemes.com/
 
Sites para criar temas para o vim
 
https://terminal.sexy/
http://bytefluent.com/vivify/
https://vimcolors.org/
https://pintovim.dev/
https://mswift42.github.io/themecreator/
 

Linha em destaque no VIM


Adicione as linhas no arquivo /etv/vim/vimrc:

" Enable CursorLine
set cursorline

" Default Colors for CursorLine
highlight CursorLine ctermbg=Black ctermfg=None

" Change Color when entering Insert Mode
autocmd InsertEnter * highlight CursorLine ctermbg=Gray ctermfg=Black

" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight CursorLine ctermbg=Yellow ctermfg=None

sexta-feira, 3 de maio de 2019

instalar antimicro para joystick ( install antimicro joystick ) - Ubuntu 18.04

i386

$ sudo apt install gdebi

wget https://launchpad.net/~mdeguzis/+archive/ubuntu/libregeek/+files/antimicro_2.23~artful-1_i386.deb

 $ sudo gdebi antimicro*.deb

$ sudo apt-get install libxtst6:i386

64

$ sudo apt install gdebi

$ wget https://launchpad.net/~mdeguzis/+archive/ubuntu/libregeek/+files/antimicro_2.23~artful-1_amd64.deb
 
$ sudo gdebi antimicro*.deb

Para remover

$ sudo apt-get remove antimicro

quinta-feira, 2 de maio de 2019

quarta-feira, 1 de maio de 2019

Corrigir touchpad Ubuntu 18.04 (gnome)

houve um pequeno problema no touchpad o botão direito não funcionava
após executar os comandos abaixo o mouse voltou a funcionar normalmente

- Opção 1

Instale gnome-tweaks

$ sudo apt install gnome-tweaks

após instalar vá em Ajustes e na aba Teclado & Mouse em Emulação de clique do mouse marque a opção Área


- Opção 2

$ sudo modprobe -r psmouse

$ sudo modprobe psmouse proto=imps

OBS: tenha acesso a um mouse caso de algum problema

sexta-feira, 22 de fevereiro de 2019