Mostrando postagens com marcador how. Mostrar todas as postagens
Mostrando postagens com marcador how. Mostrar todas as postagens

sexta-feira, 11 de agosto de 2023

Criando um .deb

 

Meu primeiro .deb



Nessa matéria irei mostrar como criar um .deb básico, a intenção é apenas de mostrar como é feito.

Vamos criar um diretório para o nosso projeto, para isso de o comando abaixo no terminal.

mkdir ~/meu_projeto

Agora iremos criar o diretório replicando o do sistema onde o programa sera instalado, no caso iremos instalar na pasta /opt, de o comando abaixo para criar o diretório.

mkdir ~/meu_projeto/opt

Precisamos criar o diretório DEBIAN para o arquivo de configurações do nosso .deb, ele leva o nome de control, de o comando abaixo para criar o diretório.

mkdir ~/meu_projeto/DEBIAN

Ai estão os diretórios necessários a esse projeto.





Entre no diretório no seu projeto de instalação do deu .deb com o comando abaixo.

cd ~/meu_projeto/opt

Você precisa de um programa que não tenha um .deb, no exemplo iremos usar o Firefox.
Faça o download com o comando abaixo no terminal.

wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.2/linux-x86_64/pt-BR/firefox-62.0.2.tar.bz2

Descompacte o arquivo com o comando abaixo.

tar -xvjf firefox-62.0.2.tar.bz2

Remova o arquivo que fizemos o download com o comando.

rm -fr firefox-62.0.2.tar.bz2

Note que temos agora o diretório do programa.





Já temos o programa e agora precisamos criar um lançador para ele, note que o programa sera instalado em /opt/firefox, o atalho deve ser criado em /usr/share/applications, portanto devemos criar o diretório do nançador em nosso projeto, para isso de o comando abaixo no terminal.

mkdir -p ~/meu_projeto/usr/share/applications

Para criar o lançador de o comando abaixo no terminal.

nano ~/meu_projeto/usr/share/applications/Meu-Firefox.desktop

Cole as linhas abaixo no nano aberto em seu terminal.


[Desktop Entry]
Name=Meu-Firefox
Comment=Browse the World Wide Web
GenericName=Web Browser
X-GNOME-FullName=Firefox Web Browser
Exec=/opt/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/opt/firefox/browser/chrome/icons/default/default128.png
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true


OBS: Note em Exec e icon que apontamos para o diretório em que o programa sera instalado, no caso é /opt/firefox/


Salve teclando Ctrl + x tecle s e tecle Enter para fechar o nano.

Ai está o nosso lançador.




Está quase pronto, vamos agora finalizar criando o arquivo /DEBIAN/control, de o comando abaixo no terminal.

nano ~/meu_projeto/DEBIAN/control

Cole as linhas abaixo no nano aberto em seu terminal.

Package: meu-firefox
Source: meu-firefox
Version: 1.0
Architecture: amd64
Maintainer: LOBO
Depends: libc6
Section: contrib/web
Priority: optional
Homepage: https://www.mozilla.org
Description: web browser


OBS: Esse pacote não tem dependências especiais, mas a titulo de vc visualizar o control mais completo adicionei a dependência libc6 que é dependência para todos os pacotes.

Salve teclando Ctrl + x tecle s e tecle Enter para fechar o nano.

Ai está o nosso control.





Para finalizar altere o proprietário do projeto para o root com o comando abaixo.

sudo chown -R root:root ~/meu_projeto


Altere as permissões do projeto com o comando.

sudo chmod 755 -Rf ~/meu_projeto

Finalmente crie o seu primeiro .deb com o comando abaixo.

dpkg-deb -b ~/meu_projeto ~/

O .deb sera criado na sua home.

Ai está o seu .deb.




Testando o seu primeiro .deb, de o comando abaixo no terminal para instalar o seu .deb.

sudo dpkg -i ~/meu-firefox_1.0_amd64.deb

Olha ele ai no seu menu ;)




Ele rodando.




Aqui mostrei o básico do básico da criação de um .deb, agora é com você buscar mais conhecimento na documentação do Debian sobre empacotamento.


OBS: Note que o .deb aceita de tudo dentro dele, nomes é você quem dá, deu pra sacar o perigo de usar .deb de quem você não conhece ? Cuidado.

fonte: https://linuxdicasesuporte.blogspot.com/2018/10/criar-pacote-deb-para-debian-ubuntu-e_2.html

terça-feira, 12 de maio de 2020

Mudar o nome do computador via linha de comado

Inicialmente é necessário abri o prompt de comando como administrador, depois basta executar a linha abaixo e reiniciar o computador.


WMIC computersystem where caption='nome_atual' rename novo_nome


Onde:


nome_atual -  Nome atual do computador.

novo_nome - Novo nome a ser dado ao computador.


terça-feira, 18 de fevereiro de 2020

Como dar ping em computador utilizado java




Para dar ping em computador ou dispositivo em sua rede basta utilizar a classe InetAddress como pode ser visto no exemplo abaixo:



package main;

import java.net.InetAddress;

public class Ping {

    public static void main(String args[]) {
        System.out.println(">>>" + isLive("10.10.1.221", 121));
    }

    public static boolean isLive(String url, Integer port) {
        boolean isLive = false;
        try {
            InetAddress address = InetAddress.getByName(url); // ip a ser testdo
            isLive = address.isReachable(10000);

        } catch (Exception e) {
            System.out.println(e);

        }
        return isLive;
    }
}

sábado, 18 de maio de 2019

Programando em Java - Constantes

Em Java pode-se encarar como uma váriavel que não pode ser seu valor alterado.
Para criar uma constante em java basta utilizar a palavra chave final junto a declaração da váriavel.

Sintaxe:


final tipo_variavel NOME_VARIAVEL = valor;


Onde:


  • final - Palavra para expressar que a váriavel é do tipo constante.

  • tipo_variavel - O tipo da váriavel (String, int, Double,etc)
  • NOMEVEL_VARIAVEL - Nome da variável constante, por convenção os nomes das constante em java tem todas suas letras em caixa alta(maiúscula).
  • valor - Como se trata de uma constante (valor não pode ser alterado) é necessário informar um valor logo que a variável for declarada.


Exemplo:


final String STATUS = "APROVADO";


Exemplo prático:



public class Constante{


public static void main(String args[]){


 final String STATUS="APROVADO";

 System.out.println(""+STATUS);
}

}

Sáida:





Quando tentamos alterar o conteúdo de uma constante podemos ver o erro baixo.

Código com erro:


public class Constante{


public static void main(String args[]){


 final String STATUS="APROVADO";

 System.out.println(""+STATUS);

 STATUS="REPROVADO";


 System.out.println(""+STATUS);


}

}


Sáida quando tenta se compilar:


Anterior                                                             Início                                                             Próximo

quinta-feira, 25 de abril de 2019

Como listar os arquivos em Java

O principal objetivo deste post é explicar como é feita a listagem de arquivos em um determinado diretório.

Para a realizar a listagem será utilizada classe java.io.File. Abaixo é possível ver o código funcionando.

Exemplo:

import java.io.File;

public class LeitorArquivos {

public static void main(String[] args) {

File file = new File("/tmp/teste");
//File file = new File(“C:\\”); //Caso fosse em sistema windows
if(file.exists())
{
for(File fileTmp:file.listFiles()) {
if(fileTmp.isDirectory()) {
System.out.println("Diretório: "+fileTmp.getName());
}
else {
System.out.println("Arquivo: "+fileTmp.getName());
}
}
}
}

}


No código acima é utilizado o método listFiles() de uma instãncia do java.io.File, esse método tem a finalidade de retornar todos os arquivos de um diretório que é referente na inicialização da da instância do java.io.File (File file = new File("/tmp/teste");).




quarta-feira, 26 de setembro de 2018

Programando em Go (Golang) - Arrays

Um array (arranjo) é um estrutura de dados onde é armazenado uma quantidade definida de valores e que podem serem acessados através de um índice.

Sintaxe:


var nome[tamanho] tipo

Onde:


  • nome - Nome de variável array
  • tamanho - Tamanho do array
  • tipo - Tipo do array


No exemplo abaixo é criado um array de string com dez posições.


Exemplo 1: 


var nomes[10]string


Iniciando array com valores


É possível inicializar um array já com seus devidos valores


Sintaxe:


 nome := [tamanho]tipo{valor1,valor2,valorn}

Onde:


  • nome - Nome do array.
  • tamanho - Tamanho do Array
  • valor1,valor2,valorn - Valores do array, lembrando que a quantidade de valor é a mesma citada no campo tamanho.

Exemplo:

idades :=[3]int{12,21,30}


Setar valor a uma posição especifica

É possível setar um valor para uma posição especifica de seu array para isso basta utilizar a sintaxe abaixo:

Sintaxe:

array[posicao]=valor

Onde:

array - Nome do array do qual terá um valor alterado.
posição - Posição no qual o valor será modificado.
valor - Valor a ser inserido na posição indicada pelo campo posição

Exemplo:

package main

import "fmt"

func main() {
var nomes [2]string
nomes[0] = "Mario"
nomes[1] = "Joaquim"
fmt.Println(nomes[0], nomes[1])
}


Acessando o valor de uma posição do array


Para pegar o valor de uma determinada posição do array basta usar a sintaxe abaixo:

Sintaxe:


array[posição]

Onde:

  • array - nome do array a ter uma posição acessada.
  • posição - Posição a ser acessada.

Exemplo:

Abaixo é possível ver um exemplo ver o acesso ao array, nos campos:   nomes[0]nomes[1]                                         

package main

import "fmt"

func main() {
var nomes [2]string
nomes[0] = "Mario"
nomes[1] = "Joaquim"
fmt.Println(nomes[0]nomes[1])
}

 0
Onservaçõe Finais

terça-feira, 25 de setembro de 2018

Programando em Go (Golang) - Estruturas Struct

Uma estrutura é uma coleção de campos.

Sintaxe:

type nome_estrutura struct {
var_1 tipo_1
var_2 tipo_2
...
var_n tipo_n
}

Onde:


  • nome_estrutura - Nome da estrutura.
  • var_1, var_2,var_n - Nome dos campos(váriveis) contidas na estrutura.
  • tipo_1,tipo_2,tipo_n - Tipo da var_1,var_2,var_n


Uma maneira bem simples de iniciar uma estrutura e passar os valores para mesma através da sintaxe abaixo(nesse exemplo assumintos a estrutura acima:

nome_estrutura{valor1,valor2,..valorn}

Onde:


  • nome_estrutura- Nome da estrutura.
  • valor1 - Valor a ser adionado em var_1.
  • valor2 - Valor a ser adionado em var_2.
  • valorn - Valor a ser adionado em var_n.



Onde:

Exemplo.


package main

import "fmt"

type Pessoa struct {
nome string
cpf string
        idade int
}

func main() {
fmt.Println(Pessoa{"Nosbor", "392.231.334-40", 21})
}



Voltar para menu


segunda-feira, 24 de setembro de 2018

Programando em Go (Golang) - Ponteiros (pointer)

Assim como em linguagens como C, C++ e Pascal, dente outras, Go também suporte para ponteiros.
A principal função de um ponteiro é apontar para um endereço de memoria, que no caso contém o valor de uma determinada variável.

Sintaxe:

nome_ponteiro *tipo_variavel

Onde:

  • nome_ponteiro - Nome do ponteiro
  • *tipo_variavel - Tipo do ponteiro.

O operador & gerar um ponteiro para seu operando

Sintaxe:


variavel := valor

ponteiro = &variavel


Onde:

  • variavel - variavel(nesse caso operando) para qual o ponteiro apontará o local da memoria.
  • valor - Valor a ser alocado na memória.
  • ponteiro - Nome do ponteiro a ser utilizado
  • &variavel - Nesse trecho é feito a referência de memoria da variavel ao ponteiro através do &.

Exemplo 1:

package main

import "fmt"

func main() {

 nome := "Julho"
 ponteiro := &nome

 fmt.Printf("Menu nome é %s",*ponteiro)

 }

Caso você queira desrreferência um ponteiro basta setar o valor no mesmo através da sintaxe abaixo:

Sintaxe:


*ponteiro = valor

Onde:


ponteiro - Nome do ponteiro que será desrreferênciado.
valor - Novo valor do ponteiro.

Exemplo 2:



package main

import "fmt"

func main() {

 nome := "Julho"
 ponteiro := &nome

 fmt.Printf("Menu nome é %s",*ponteiro)

 *ponteiro="Maria"

 fmt.Printf("Menu nome é %s",*ponteiro)


 }

Ai vem a dúvida por que usar um ponteiro ?
A resposta é simples você deseja que usar a referencia de uma valor de uma determinada variavel e não o valor em si.

sábado, 22 de setembro de 2018

Programando em Go (Golang) - Constantes (constant)

Uma constante é uma variável na qual o conteúdo da mesma não pode ser modificado.
Em Go é possível declarar constantes utilizando a palavra chave const.
As variáveis do tipo constante não podem ser declaradas com utilização do :=

Sintaxe:


const nome_variavel = valor 


Onde:


  • const - palavra chave
  • nome_variavel - Nome da constante
  • valor - Valor da constante.


Exemplo:

 

package main

import "fmt"

const mult = 2

func mutiplicador(x int) int{

return mult*x;
}

func main() {

    multiplicando:=3
    resultado:=mutiplicador(multiplicando)

    fmt.Printf("Multiplicação %d x %d = %d",mult, multiplicando,resultado)

}

 

Anterior                                       Início                                                       Próximo

quinta-feira, 30 de agosto de 2018

Como matar um processo do windows por linha de comando

Introdução


O principal objetivo deste post é explicar como se "mata" um processo através do cmd.


Abrindo o prompt de comando

Através do executar.


Primeiro é necessário abrir o cmd, para isso aperte Win+R. E digite cmd e cliquei em OK.


Através do menu iniciar


Clique no menu iniciar e digite cmd.


cmd aberto


Descobrindo o IM ou PID do processo


Para podermos fechar o processo por linha de comando é necessário saber o IM (image nome do executavel) ou o PID (id do processo). Para visualizar os processo é necessário utilizar o comando tasklist



Abaixo é possível ver o resultado da execução do comando tasklist



Executando comando

Ao abri o cmd execute  comando taskkilll.


Finalizando através do nome do executável.

Sintaxe:


taskkill /IM nome_processo /F



Onde:

  • nome_processo - Nome do processo que será fechado.

Exemplo:


taskkill /IM firefox.exe /F






Finalizando através do nome do PID.

Sintaxe:

taskkill /PID id_processo /F




Onde:

  • id_processo - id do processo que será fechado.


Exemplo:


taskkill /PID 11792 /F


quarta-feira, 27 de dezembro de 2017

Descobrir o Sistema operacional utilizando java


Introdução

Há alguns momentos que precisamos saber em qual sistema operacional o nosso "executavel" .jar está rodando para usar algumas particularidades do mesmo.
 
Uma maneira de descobrir o sistema operacional no qual o jar está está sendo executado é utilizar a sintaxe abaixo:


System.getProperty("os.name")


Abaixo é possível visualizar um exemplo:


public class VisualizacaoOS {

    public static void main(String[] args) {

        System.out.println("O sistema operacional atual é: "+System.getProperty("os.name"));

    }

}



 

Abaixo é possível ver o resultado da execução do código acima:



  

sexta-feira, 22 de dezembro de 2017

Como criar um diretório em JAVA


Para criar um diretório em java basta utilizar o class java.io.File.

A sintaxe é:

Primeiro caso:

File file = new File(path_diretorio).mkdir();

Segundo caso:

File file = new File(path_diretorio).mkdirs();

(Nesse segundo caso o será criado toda estrutura de pastas até chegar ao diretório que será criado)

Onde:

path_diretorio - É o caminho no qual o diretório será criado.

segunda-feira, 24 de julho de 2017

Erro ao publicar aplicativo no Galaxy App

Pode acontecer de quando tentamos adicionar um aplicativo ao Galaxy Apps lançar o erro citado abaixo. Neste post iremos explicar de maneira simples como resolver esse problema.

“The registered binaries do not meet the category conditions for GALAXY Specials. The GALAXY Specials category can be selected only if at least one binary supports GALAXY Specials. You can go to ‘Binary>Advanced Mode>Binary Details’ to check the supported GALAXY Specials options.”

A solução para esse problema e bem simples. Basta adicionar a linha abaixo no arquivo AndroidManifest.xml.

    < uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />





   



quinta-feira, 30 de março de 2017

Como girar a tela do windows

Resumo


CTRL+ALT+SETA


Introdução


O principal objetivo desde post é explicar de maneira simples e rápida como se faz para girar a tela quando se utiliza o sistema operacional windows.


Girando a tela

Para girar a tela basta apertar o botão CTRL(Control)+ALT+SETA direcional.


Botões direcionais do teclado



Exemplo:

CTRL + ALT + → - A tela ficará com sua parte superior virada para direita.
CTRL + ALT + ← A tela ficará com sua parte superior virada para esquerda.
CTRL + ALT +  - A tela ficará de cabeça para baixo do padrão normal.
CTRL + ALT + ↑ A tela ficará na posição padrão com o canto superior apontado para cima.


segunda-feira, 13 de março de 2017

Como descobrir o tamanho de um arquivo em java

Resumo


File file = new file (caminho);
file.length();

Introdução

O principal objetivo deste poste é explicar de maneira simples e rápida como se descobre o tamanho de determinado arquivo em JAVA.


Descobrindo o tamanho do arquivo

Para saber o tamanho de determinado arquivo basta utilizar o método length() contido no mesmo.

Sintaxe:

...
File file = new file (caminho);
file.length();
...

Onde:

caminho - Path do arquivo a ser analizado.


Exemplo:

import java.io.File;

public class ClassTeste
{
public static void main(String[] args) {
File file = new File("c:\\Temp\\teste01.xlsx");

if (file.exists()) {

double bytes = file.length();
System.out.println("O tamanho do arquivo é: " + bytes +" bytes");

} else {
System.out.println("O arquivo não existe");
}

}
}


Saída será:

O tamanho do arquivo é: 20620.0



Por default o tamanho do arquivo é adquirido em bytes para alterar a grandeza basta dividir pela devida unidade de cada medida.

   double kilobytes = (bytes / 1024);
   double megabytes = (kilobytes / 1024);
   double gigabytes = (megabytes / 1024);
   double terabytes = (gigabytes / 1024);
   double petabytes = (terabytes / 1024);
   double exabytes = (petabytes / 1024);
   double zettabytes = (exabytes / 1024);
   double yottabytes = (zettabytes / 1024);

Exemplo 2:



import java.io.File;

public class ClassTeste
{
public static void main(String[] args) {
File file = new File("c:\\Temp\\teste01.xlsx");
if (file.exists()) {
double bytes = file.length();
System.out.println("O tamanho em " + bytes + " em bytes");
System.out.println("O tamanho em " + bytes / 1024 + " em kilobytes");
} else {
System.out.println("O arquivo não existe");
}
}
}


A saída seria:

O tamanho em 20620.0 em bytes
O tamanho em 20.13671875 em kilobytes

sexta-feira, 29 de janeiro de 2016

Guia da conquista

Guia da Conquista
Um manual voltado para homens e curiosos(as), com várias dicas de como se conquistar uma mulher. O mesmo pode ser utilizado para sedução, aprimoramento de relacionamentos já existentes e realização de novas conquistas. 

Você também encontrará dicas de como perder a timidez que tanto atrapalha muitos homens a hora de conversar com uma mulher, seja na hora de expressar seus sentimentos ou simplesmente conversar. 
Utilizando todas as dicas de maneira correta você conseguira conquistar a mulher que você ama ou gosta e fazer surgir paixões com simples detalhes que foram informados neste aplicativo pelas próprias mulheres. 
Com ele é possível também melhorar seu namoro, casamento ou conquistas. 
Nesta versão existe suporte para os idiomas: Alemão, Árabe, Coreano, Chines, Espanhol, Frances, Italiano, Português e Russo. 
Além de ser possível a instalação do mesmo no cartão de memória do seu Smart phone ou Tablet, para assim sobrar espaço interno em seu dispositivo.


 Guia da Conquista: miniatura da captura de tela   Guia da Conquista: miniatura da captura de tela   Guia da Conquista: miniatura da captura de tela


Disponível em: 



 https://www.microsoft.com/pt-br/store/apps/guia-da-conquista/9nblggh4vnw5