Formatando pen-drive no Debian pela linha de comando (terminal) e granvar imagem (iso) do debian no pen-drive.
Entre como superusuário no terminal:
========================
# su
========================
Liste as partições:
========================
# lsblk
========================
Identifique qual é o pen-drive, no meu caso era o "sdb".
Desmonte o pen-drive
========================
# umount /dev/sdb
========================
Utilize o comando (o -I (letra i em maiúsculo) é para sobrepor, caso tenha sdb1, sdb2, ele vai formatar tudo)
" -n " é para colocar o nome do volume:
========================
# mkfs.vfat -n CRISTI /dev/sdb -I
========================
Execute o comando que segue para permitir escrita e leitura no pendrive que foi formatado:
========================
# chmod 777 -R /dev/sdb
========================
Verifique onde o pen-drive está montado com o comando:
======================================
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 1K 0 part
├─sda2 8:2 0 436,9G 0 part /home
├─sda3 8:3 0 28G 0 part /
└─sda5 8:5 0 976M 0 part [SWAP]
sdb 8:16 1 14,6G 0 disk
├─sdb1 8:17 1 3,7G 0 part
└─sdb2 8:18 1 416K 0 part
sr0 11:0 1 1024M 0 rom
======================================
No exemplo acima o pendrive está montado em sdb.
comando para copiar a imagem iso da distribuição.
--> entre no terminal como superusuário;
--> entre (no terminal) na pasta onde se encontra a imagem.
Digite o comando que segue:
======================================
# dd if=debian-9.2.1-amd64-DVD-1.iso of=/dev/sdb bs=8MB status=progress
======================================
Espere até que a imagem seja gravada.
No computador que testei demorou cerca de 12 minutos.
computação vou aprendendo GNU Linux Debian PostgreSQL pgAdmin QT Ubuntu C R Pascal Lazarus Solver . . .
quinta-feira, 16 de março de 2017
terça-feira, 14 de março de 2017
Como enviar notas para estudantes por e-mail ( e-mail com mala direta)
Programa feito em C para enviar notas para estudantes a partir de uma planilha (que é convertida em um arquivo de extensão csv).
Programa feito em C:
=========================================
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, char *argv[]){
if ( argc < 2 ){
printf("\nDigite o nome do arquivo com a extensão após o comando %s\n", argv[0]);
printf("Exemplo: %s arquivo.csv\n\n", argv[0]);
return 1;
}
if ( argc > 2 ){
printf("\nDigite somente o nome do arquivo com a extensão após o comando %s\n", argv[0]);
printf("Exemplo: %s arquivo.csv\n\n", argv[0]);
return 1;
}
char nomearquivo[256];
strcpy(nomearquivo,argv[1]);
FILE *arq;
arq = fopen(nomearquivo,"r");
if (arq == NULL){
printf("\nHouve um erro ao abrir o arquivo.\n\n");
return 1;
} else printf("\nArquivo %s aberto com sucesso!\n\n", nomearquivo);
char *ano;
char *semestre;
char *cod;
char *matricula;
char *nome;
char *curso;
char *turma;
char *email;
char linha[512], comando[256], assunto[256];
char *prova1;
char *seminario1;
char *totalfaltas;
while(fgets(linha, 512, arq) != NULL){
printf("%s", linha);
ano = strtok(linha,";");
semestre = strtok(NULL,";");
cod = strtok(NULL,";");
matricula = strtok(NULL,";");
nome = strtok(NULL,";");
curso = strtok(NULL,";");
turma = strtok(NULL,";");
email = strtok(NULL,";");
prova1 = strtok(NULL,";");
seminario1 = strtok(NULL,";");
totalfaltas = strtok(NULL,";");
printf("\n\n%s %s %s %s %s %s %s %s %s %s %s\n\n", ano, semestre, cod, matricula, nome, curso, turma, email, prova1, seminario1, totalfaltas);
sprintf(assunto, "Notas de %s.\n\nProva 1 = 25%%\nSeminário 1 = 10%%\n\nNome: %s\nMatrícula: %s\n\nNota da prova 1: %s\nNota do seminario 1: %s\nTotal de faltas: %s\n", cod, nome, matricula, prova1, seminario1, totalfaltas);
// sprintf(assunto, "Notas de %s.\n\nNome: %s\nMatrícula: %s\n\nProva 1: %s\nProva 2: %s\nTotal de faltas: %s\n", cod, nome, matricula, prova1, prova2, totalfaltas);
sprintf(comando, "echo \"From: cristianoltfs@gmail.com\nTo: %s\nSubject: Notas e faltas de %s\n\n%s \" | sendmail -t\n\n", email, cod, assunto);
printf(comando);
// system(comando);
}
fclose(arq);
printf("Arquivo %s fechado com sucesso!\n\n", nomearquivo);
return 0;
}
=========================================
Comando para compilar:
$ gcc -std=c11 -Wall -pedantic -lm enviarnotas.c -o enviarnotas
Para executar deve estar logado como superusuário:
# ./enviarnotas dados.csv
O formato do arquivo dados.csv pode ser verificado a seguir:
=========================================
COD;MATRICULA;NOME;EMAIL;PROVA1;PROVA2;TOTALFALTAS
PRO491;11.1.4378;CRISTIANO LUIS;cristianoltfs@gmail.com;3;5;10
PRO491;11.2.1286;NOME DO ALUNO 2;email_do_aluno2@gmail.com ;10;5;15
PRO491;11.1.1359;NOME DO ALUNO 3;email_do_aluno2@hotmail.com ;8;8;20
=========================================
Instalar o ssmtp:
# apt-get install ssmtp
Configurando o ssmtp:
Fazer as mudanças no arquivo ssmpt.conf e salvar
# gedit /etc/ssmtp/ssmtp.conf
alterações:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
alterar as linhas:
-----------------------------
mailhub=smtp.gmail.com:587
FromLineOverride=YES
-----------------------------
inserir as linhas no final:
-----------------------------
AuthUser=meu-email@gmail.com(INSERIR SEU E-MAIL AQUI)
AuthPass=minha-senha(INSERIR SUA SENHA DO E-MAIL AQUI)
UseSTARTTLS=YES
-----------------------------=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
arquivo completo antes das alterações:
=========================================
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=cristianoltfs-Inspiron-3647.Home
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
=========================================
arquivo completo depois das alterações:
=========================================
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=cristianoltfs-Inspiron-3647.Home
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
AuthUser=meu-email@gmail.com(INSERIR SEU E-MAIL AQUI)
AuthPass=minha-senha(INSERIR SUA SENHA DO E-MAIL AQUI)
UseSTARTTLS=YES
=========================================
Programa feito em C:
=========================================
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, char *argv[]){
if ( argc < 2 ){
printf("\nDigite o nome do arquivo com a extensão após o comando %s\n", argv[0]);
printf("Exemplo: %s arquivo.csv\n\n", argv[0]);
return 1;
}
if ( argc > 2 ){
printf("\nDigite somente o nome do arquivo com a extensão após o comando %s\n", argv[0]);
printf("Exemplo: %s arquivo.csv\n\n", argv[0]);
return 1;
}
char nomearquivo[256];
strcpy(nomearquivo,argv[1]);
FILE *arq;
arq = fopen(nomearquivo,"r");
if (arq == NULL){
printf("\nHouve um erro ao abrir o arquivo.\n\n");
return 1;
} else printf("\nArquivo %s aberto com sucesso!\n\n", nomearquivo);
char *ano;
char *semestre;
char *cod;
char *matricula;
char *nome;
char *curso;
char *turma;
char *email;
char linha[512], comando[256], assunto[256];
char *prova1;
char *seminario1;
char *totalfaltas;
while(fgets(linha, 512, arq) != NULL){
printf("%s", linha);
ano = strtok(linha,";");
semestre = strtok(NULL,";");
cod = strtok(NULL,";");
matricula = strtok(NULL,";");
nome = strtok(NULL,";");
curso = strtok(NULL,";");
turma = strtok(NULL,";");
email = strtok(NULL,";");
prova1 = strtok(NULL,";");
seminario1 = strtok(NULL,";");
totalfaltas = strtok(NULL,";");
printf("\n\n%s %s %s %s %s %s %s %s %s %s %s\n\n", ano, semestre, cod, matricula, nome, curso, turma, email, prova1, seminario1, totalfaltas);
sprintf(assunto, "Notas de %s.\n\nProva 1 = 25%%\nSeminário 1 = 10%%\n\nNome: %s\nMatrícula: %s\n\nNota da prova 1: %s\nNota do seminario 1: %s\nTotal de faltas: %s\n", cod, nome, matricula, prova1, seminario1, totalfaltas);
// sprintf(assunto, "Notas de %s.\n\nNome: %s\nMatrícula: %s\n\nProva 1: %s\nProva 2: %s\nTotal de faltas: %s\n", cod, nome, matricula, prova1, prova2, totalfaltas);
sprintf(comando, "echo \"From: cristianoltfs@gmail.com\nTo: %s\nSubject: Notas e faltas de %s\n\n%s \" | sendmail -t\n\n", email, cod, assunto);
printf(comando);
// system(comando);
}
fclose(arq);
printf("Arquivo %s fechado com sucesso!\n\n", nomearquivo);
return 0;
}
=========================================
Comando para compilar:
$ gcc -std=c11 -Wall -pedantic -lm enviarnotas.c -o enviarnotas
Para executar deve estar logado como superusuário:
# ./enviarnotas dados.csv
O formato do arquivo dados.csv pode ser verificado a seguir:
=========================================
COD;MATRICULA;NOME;EMAIL;PROVA1;PROVA2;TOTALFALTAS
PRO491;11.1.4378;CRISTIANO LUIS;cristianoltfs@gmail.com;3;5;10
PRO491;11.2.1286;NOME DO ALUNO 2;email_do_aluno2@gmail.com ;10;5;15
PRO491;11.1.1359;NOME DO ALUNO 3;email_do_aluno2@hotmail.com ;8;8;20
=========================================
Instalar o ssmtp:
# apt-get install ssmtp
Configurando o ssmtp:
Fazer as mudanças no arquivo ssmpt.conf e salvar
# gedit /etc/ssmtp/ssmtp.conf
alterações:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
alterar as linhas:
-----------------------------
mailhub=smtp.gmail.com:587
FromLineOverride=YES
-----------------------------
inserir as linhas no final:
-----------------------------
AuthUser=meu-email@gmail.com(INSERIR SEU E-MAIL AQUI)
AuthPass=minha-senha(INSERIR SUA SENHA DO E-MAIL AQUI)
UseSTARTTLS=YES
-----------------------------=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
arquivo completo antes das alterações:
=========================================
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=cristianoltfs-Inspiron-3647.Home
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
=========================================
arquivo completo depois das alterações:
=========================================
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=cristianoltfs-Inspiron-3647.Home
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
AuthUser=meu-email@gmail.com(INSERIR SEU E-MAIL AQUI)
AuthPass=minha-senha(INSERIR SUA SENHA DO E-MAIL AQUI)
UseSTARTTLS=YES
=========================================
Assinar:
Postagens (Atom)