Jump to content

Search the Community

Showing results for tags 'linux'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica e Automação Industrial
    • Matemática
    • Software de Contabilidade, Finanças e Admin. Pública
    • Dúvidas e Discussão de Programação
    • Tutoriais
    • Snippets / Armazém de Código
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


GitHub


LinkedIn


Twitter


Facebook

  1. Todos os meses, numa quinta-feira, a comunidade Ubuntu Portugal encontra-se no Saloon, em Sintra. Este mês de Fevereiro o encontro será na quinta-feira dia 15. Vamos celebrar o I love Free Software day, que ocorre no dia 14 de Fevereiro, por isso vem e fala-nos do(s) teu(s) projecto(s) de Software Livre preferido(s). Vem, traz um amigo ou um familiar e vem conviver e partilhar experiências com a comunidade portuguesa… Local: Saloon Avenida Movimento das Forças Armadas n 5, 2710-433 Sintra (2 min a pé da estação de comboios da Portela de Sintra) Nota importante: Durante o evento esperamos que todos sigam o Código de Conduta do Ubuntu e a Declaração de Diversidade.
  2. Neste mês de Fevereiro o evento do Centro Linux será dedicado às seguintes actividades: Primeira Sessão do Grupo de Estudo do Centro Linux (curso de introdução ao gitlab com git). Introdução ao Home Assistant. Investigação de armazenamento em rede. O git é uma ferramenta colaborativa essencial para quem contribui para o Software Livre e Open Source Software, ou o quer utilizar de uma forma mais avançada, e o GitLab é uma plataforma online colaborativa baseada em git. O Grupo de Estudo do Centro Linux, vai debruçar-se sobre este tema durante os próximos dois meses. Venham adquirir um conjunto de competências muito úteis! O Home Assistant é uma plataforma de automação desenhada para a Internet das Coisas. É Software Livre e Open Source Software, e desenhada para podermos utilizar a Internet das coisas de forma mais independente, aberta, privada, e segura. Se querem introduzir-se a esta plataforma, esta é uma boa oportunidade! Por vezes precisamos de armazenar e partilhar dados entre diversos computadores, o armazenamento em rede, é a forma mais simples de resolver esse problema. Juntem-se a nós enquanto exploramos várias opções! Quando? Sábado dia 17 de Fevereiro de 2024 Detalhes adicionais: Todos os detalhes adicionais podem ser encontrados na página dedicada ao Evento de Fevereiro no sítio web do Centro Linux à medida que vão sendo publicados.
  3. Boa noite a todos! Estou precisando de um servidor dedicado. Recebi a indicação de uma empresa chamada MonoVM. Gostaria de saber se alguém deste grupo utiliza os serviços. Gostei que possuem diversas localizações. Além disso, recebi boas recomendações do suporte que oferecem. Desde já agradeço a atenção.
  4. Boa tarde. Sou novo na utilização do Linux. Estou a fazer uma formação que inclui Debian para Server e aproveitei uma máquina antiga em casa para instalar o linux Bodhi. Por algum motivo, após instalar a aplicação Autenticacao-gov e o java, não consigo fazer a leitura do cartão de cidadão para fazer login nos sites governamentais. Apareceu este erro: Moksha was unable to run the application: /usr/bin/java-Dsun.java2d.xrender=false -jar /usr/share/plugin-autenticacao-gov/plugin-autenticacao-gov.jarsj Alguém já passou por esta situação? Obrigado
  5. Tem dúvidas sobre o Linux? Continue lendo e esclareça! Quem criou o Linux? Linus Torvalds com a ajuda de hackers do Minix. O que é Linux? É o Kernel, núcleo do sistema operacional, por isso apelidei de coração do sistema, assim como o coração fornece vida para nós seres humanos, o Kernel dá vida ao sistema operacional. O que é GNU? É um projeto criado por Richard Stallman, no final de 1983, com a ambição de criar um sistema operacional de código aberto e livre. GNU foi baseado no Unix, mas seu nome é um acrônimo para "GNU NOT UNIX", que traduzido para o português é "GNU NÃO UNIX", ou seja, mesmo que seja baseado, a ideia era criar algo diferente. O que são patches? Como se fossem "remendos" nas feridas do sistema, ou seja, são correções de falhas no sistema. Por que o GNU/Linux tem o coração (Kernel) mais saudável? O mais provável é porque foi criado com Kernel monolítico e modular, o monolítico executa melhor desempenho, torna o sistema mais leve, e faz com que o mesmo sistema fique mais seguro, e o modular carrega módulos para tornar o sistema mais enxuto/leve/compacto. Qual o GNU/Linux é indicado para leigos? Ubuntu ou mint. Qual o programa que facilita a instalação de programas no GNU/Linux? Synaptic, que foi criado pelo brasileiro Alfredo Kojima. Por que o GNU/Linux não tem código malicioso se todo mundo pode contribuir? Porque o código do kernel é avaliado, se ocorrer de haver algo malicioso, o que é raro, o código é rejeitado. Porque devo adotar Linux na minha empresa? Porque é leve, robusto, seguro, estável, transparente, confiável, flexível, personalizável, gratuito, intuitivo, dedutivo e sem falar que a maioria das distros oferecem privacidade. O Código é aberto para aperfeiçoar o sistema. Não tem crack e é livre o que evita a pirataria de software. Não tem número de serial para verificar a integridade do programa, já que o checksum é a verificação do programa por um código especifico. O Firewall IPTABLES te dá total liberdade para você criar sua própria regra de segurança. Não tem desfragmentador de disco para organizar os arquivos do HD,pois a estrutura de diretórios já organiza. A empresa sabendo que o Linux é gratuito,irá investir apenas em qualificação do funcionário,ao qual chamamos essa qualificação de LPI (Certificado de profissional em Linux). É um preço muito baixo comparado ao DVD original do Windows que custa muito caro ou a empresa pode solicitar a LPI no currículo do funcionário,pois nenhum funcionário é permanente.
  6. Nessa dica ensinarei a finalidade ou função de cada diretório do Linux,a explicação serve para a maioria das distros,não para todas.Serve de base para os novatos em Linux.O Gobolinux foge desse padrão de diretórios.Se possível deixar essa dica como fixo(Inamovível para estudos futuros). / =É a raiz,ou seja,o diretório principal do sistema. Todos os outros diretórios são,de fato,subdiretórios do root. /home = Armazena diretórios e arquivos de trabalho dos usuários comuns do sistema. /root = Armazena diretórios e arquivos de trabalho do superusuário (root). /boot= Contém o kernel e todos os arquivos necessários para a inicialização do sistema. /bin = Contém aplicativos e utilitários do sistema. /sbin= Contém ferramentas de configuração e manutenção do sistema. Alguns aplicativos acessíveis apenas ao superusuário são instalados neste diretório. /srv = Dados de serviços fornecidos pelo sistema. /lib = Contém as bibliotecas compartilhadas e os módulos do kernel. /media = Ponto de montagem para mídia removível. /dev = Contém todos os dispositivos do sistema, tais como: modem, HD, PenDrive, CD-ROM, entre outros. Esses diretórios são utilizados para troca de informações, não possuindo existência real.(dev vem do inglês, e é a abreviação de device, que significa dispositivo em inglês). /etc = Contém todos os arquivos de configuração do sistema. /tmp = Diretório reservado aos arquivos temporários utilizados por algumas aplicações. Como ocorre em muitos outros sistemas operacionais,durante o funcionamento são gerados arquivos temporários,inúteis após a conclusão do processo. Esse tipo de **Lixo** digital é colocado no diretório /tmp para que possa ser removido rapidamente,sem correr o risco de apagar os arquivos importantes. /mnt = Diretório reservado para montagem de dispositivos e sistemas de arquivos em partições e discos locais e de rede. /proc =Contém informações sobre os processos em execução no sistema. Assim como no diretório /dev, os arquivos e subdiretórios aqui contidos não são reais, sendo utilizados apenas como arquivos de troca. /usr = Programas de usuários, sistemas de janelas X, jogos entre outros. Os links de alguns programas costumam ser instalados aqui. /var = Contém arquivos de dados variáveis como log do sistema e diretórios de spool. /opt = Diretório reservado para instalação de aplicações de terceiros como OpenOffice, softwares pagos etc. /usr/bin=Contém ferramentas e aplicativos de cada usuário. Ao criar uma nova conta de usuário, o sistema cria automaticamente uma pasta /usr/bin. /usr/dict=Diretório em que são armazenados os dicionários (o nome dict deriva do inglês dictionary) e as listas de termos do usuário. /usr/doc=Esse diretório contém a documentação do sistema em uso. /usr/games=Quem disse que no Linux não se pode jogar? Esse diretório traz alguns aplicativos interessantes para a diversão dos usuários. /usr/info=Nesse diretório encontramos os arquivos para o sistema GNU Info,baseado em hipertextos. /usr/lib=Assim como o diretório bin da raiz contém as bibliotecas para a execução das ferramentas,dessa vez,porém trata-se dos componentes da ferramentas que se encontram no diretório /usr/bin. /usr/local=Essa pasta contém arquivos locais,ou seja,exclusivos para cada sistema(ou aplicativo),que incluem documentação (/usr/local/doc) e os programas em si (/usr/local/bin). /usr/man=Diretório que agrupa os manuais que podem ser lidos com o comando man. /usr/share=Contém arquivos e componentes compartilhados por vários aplicativos. Nesse diretório,encontramos diversos subdiretórios com arquivos de ajuda,ícones,etc. /usr/src=Esse diretório contém o código fonte (source) dos softwares disponíveis no sistema. Esse código pode ser visualizado e alterado livremente por programadores experientes para aprimorar o funcionamento de ferramentas e aplicativos,inclusive acrescentando opções de funcionamento. /usr/tmp=É o diretório em que são colocados os arquivos temporários gerados pelo usuário ativo.
  7. Boa tarde, Estou com um problema já há algum tempo que ainda não consegui resolver. Tenho scripts em php que fazem ligação com base de dados mysql num servidor dedicado. quando os scripts são executados em pouco tempo tudo funciona normalmente. quando os scripts são executado durante muito tempo (devido ao volume de dados) é retornado um erro do servidor " Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster@xxxxxxxx.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request. " no entanto, eles acabam de executar corretamente. o mesmo acontece com meto crons a correr, ao fim de 5 minutos dá esse erro. O max execution time está num valor muito alto, pelo que não pode ser disso Além tem ideia do que pode ser?? Obrigado
  8. Olá todos, Eu ando à procura de uma distro Linux que já viesse configurada para ter compatibilidade com as aplicações do Windows. Sei que existe o Wine, mas já tentei, varias vezes configurar o Wine e ela não funcionou como deveria ser. Também já instalei a disto Zorin OS que supostamente já vem com Wine pré-configurado, mas grande parte das apps ou nem abriam para instalar ou depois de instaladas não funcionavam. Ouvi falar de um React OS, mas acho ainda está muito instável e não sei se ele tem capacidade de rodar aplicações mais pesadas ou até jogos. Algum conhece alguma distro para rodar os jogos do Windows, mas que já venha configurada?
  9. Bom dia. Chamo-me Rui Amador e venho aqui pedir ajudar para ver se posso reaproveitar um pc velhinho. Tenho um Samsung N145PLUS com um processador Intel(R) Atom CPU N455 1.66GHz 1.67GHz, com 1GB RAMe um disco C com 111GB e uma partição de segurança de 120GB. O computador tem o windows 7. Queria saber se posso meter uma versão linux que não seja muito comilona, que se adapte bem a esta máquina, para o poder usar no dia a dia( navegação web, office, utilização da plataforma ZOOM, Teams, MEET) , ver vídeos... . Ou seja, dar nova vida a um velhinho. O meu velhinho tem solução? Obrigado pela atenção.
  10. Boa tarde, Eu estava desenvolvendo um projeto para a escola e tive a necessidade de ter um servidor FTP a distribuir ficheiros pelos usuários automaticamente sem ser necessária a minha intervenção para mudar o nome do ficheiro que vai ser enviado. Quando eu coloco o nome manualmente o download do ficheiro corre perfeitamente porém quando eu tento automatizar a tarefa eu obtenho o erro ftplib.error_perm: 550 failed to open the file e eu nao entendo de onde vem esse problema. O servidor ftp está ser corrido em uma raspberry pi localmente. #O código do cliente from socket import* from ftplib import FTP serverName ='192.168.1.5' mensagem = r"15" serverPort =80 clientSocket = socket(AF_INET, SOCK_STREAM) clientSocket.connect((serverName, serverPort)) clientSocket.send(mensagem.encode()) response = clientSocket.recv(4096) print(response) Codigo do server: #O código do servidor import socket import threading bind_ip="192.168.1.5" bind_port=80 server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) server.bind((bind_ip,bind_port)) server.listen(1000) def handle_client(client_socket): request=client_socket.recv(1024) print("[*]Recevid: ",request.decode('utf-8')) client_socket.send(r"ola.txt".encode()) client_socket.close() whileTrue: client,addr=server.accept() print("[*]Accepted connection from: ",addr[0]," ",addr[1]) client_handler=threading.Thread(target=handle_client(client)) client_handler.start() conteúdo do /etc/vsftpd.conf # Example config file /etc/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # # Run standalone? vsftpd can run either from an inetd or as a standalone # daemon started from an initscript. listen=NO # # This directive enables listening on IPv6 sockets. By default, listening # on the IPv6 "any" address (::) will accept connections from both IPv6 # and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6 # sockets. If you want that (perhaps because you want to listen on specific # addresses) then you must run two copies of vsftpd with two configuration # files. listen_ipv6=YES # # Allow anonymous FTP? (Disabled by default). anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) #local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # If enabled, vsftpd will display directory listings with the time # in your local time zone. The default is to display GMT. The # times returned by the MDTM FTP command are also affected by this # option. use_localtime=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. #xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # # You may restrict local users to their home directories. See the FAQ for # the possible risks in this before using chroot_local_user or # chroot_list_enable below. #chroot_local_user=YES # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) #chroot_local_user=YES #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # Customization # # Some of vsftpd's settings don't fit the filesystem layout by # default. # # This option should be the name of a directory which is empty. Also, the # directory should not be writable by the ftp user. This directory is used # as a secure chroot() jail at times vsftpd does not require filesystem # access. secure_chroot_dir=/var/run/vsftpd/empty # # This string is the name of the PAM service vsftpd will use. pam_service_name=vsftpd # # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO # # Uncomment this to indicate that vsftpd use a utf8 filesystem. #utf8_filesystem=YES #banner ftpd_banner=Bem-vindo ao undean ftp server local_root=/home/pi/livros Se alguém me puder ajudar agradeço
  11. Ando para fazer isto há muito tempo, mas fui adiando, agora com a quarentena, torna-se uma necessidade. Preciso de configurar um servidor, para dependendo do MAC Address e de um horário dos PCs, Tenha acesso ilimitado à net Tenho acesso limitado, possa navegar na net, usar as aplicações normais, mas não consiga jogar Não tenha acesso nenhum O idear seria configurar isto no Router, mas infelizmente, só permite tudo ou nada, não permite a opção intermédia. Pelo que estive a ler, teria que criar o servidor, e apontar o DNS do router para o servidor, não é uma solução à prova de bala, mas deve dar para desenrascar A questão é como é que configuro o servidor?
  12. Boa tarde Estou com um problema quero instalar o Linux em dual boot (tenho um disco so para o linux) sei perfeitamente como se faz mas o meu computador esta com um problema não me deixa instalar nenhum Linux da alguns erros que já resolvi alguns com definições da bios mas este erro da me sempre "TSC_DEADLINE disabled due to Errata" eu já desisti de tentar resolver o erro eu so quero instalar o Linux naquele disco existe alguma maneira de instalar o Linux naquele disco através do Windows algum programa que faça isto ? Desde já Obrigado
  13. Vantagens Do Linux Leve,robusto,seguro,estável,transparente,confiável,flexível,personalizavel,gratuito,intuitivo,dedutivo e sem falar que a maioria das distros Linux te oferecem privacidade. Liberdade para personalizar o sistema ao seu gosto e disponibilizar qualquer software criado no Linux. Código aberto para aperfeiçoar o sistema. Não tem crack nos programas,o que evita a pirataria de software. Não tem serial number para verificar a integridade ou originalidade do software. Não tem desfragmentador de disco para organizar os arquivos e deixar o sistema leve como o Windows(Windows que por sí só já é pesado e não leve que nem o Linux). O Firewall IPTABLES te dá total liberdade para você criar sua própria regra de segurança. Desvantagens Do Linux Não tem muitos programas e jogos 3D como tem no Windo Não tem muita facilidade de uso,a não ser pelo gerenciador de pacotes synaptic(que facilita a vida do usuário). A maioria dos jogos do Windows deveriam ser portados para Linux.
  14. Bom dia Sou novato nisto e estou com um problema que não sei resolver. No Debian Stretch Stable, na consola: [rooth@debian-PP paulo]$ kwclock bash: kwclock: comando não encontrado Alguém me pode ajudar?
  15. Bom dia, tenho esses dados: 10200030031655010201903121400530 Quero filtrar e Obter os seguintes dados: 0300,5010201,0530,1020 ou seja preciso filtrar as seguintes posições: da 6 a 9, da 14 a 20, 29 a 3, 1 a 4. Obrigado TheKiluanjeKing
  16. Boas. Estou a criar um script simples para automatizar um processo que preciso de reptir quase todos os dias. É suposto passar um parâmetro para o script que é o caminho de um ficheiro. O que acontece é que ao tentar imprimir a lista de parâmetros no terminal para ver o que está a ser passado para o script, vejo que não está a ser passado nada. Chamo o script da seguinte forma: ./script.sh /caminho/para/o/file.txt Dentro do script tenho uma linha para imprimir a lista e o número de parâmetros passados: echo "Number of parameters is $#." echo "List of parameters is $@." O resultado é: Number of parameters is 0. List of parameters is . Se for necessário, coloco aqui a totalidade do script ou link para o github!
  17. Ola, gostaria de saber como posso fazer em linux, o servidor e o cliente comunicarem,para depois o cliente enviar dados para o server, e o server saber distinguir esses dados, de modo a puderem ser tratados para depois voltarem a ser enviados para o cliente. Na qual os dados são as distâncias de Manhattan e de Hamming, eu comecei por fazer por fazer o server e o client que estão aqui mas não sei como implementar estas distâncias no código. Obrigada // Server #include <unistd.h> #include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <netinet/in.h> #include <string.h> #define PORT 8080 int main(int argc, char const *argv[]) { int server_fd, new_socket, valread; struct sockaddr_in address; int opt = 1; int addrlen = sizeof(address); char buffer[1024] = {0}; char *hello = "Hello from server"; // Creating socket file descriptor if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) { perror("socket failed"); exit(EXIT_FAILURE); } // Forcefully attaching socket to the port 65432 if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT,&opt, sizeof(opt))) { perror("setsockopt"); exit(EXIT_FAILURE); } address.sin_family = AF_INET; address.sin_addr.s_addr = INADDR_ANY; address.sin_port = htons( PORT ); // Forcefully attaching socket to the port 65432 if (bind(server_fd, (struct sockaddr *)&address,sizeof(address))<0) { perror("bind failed"); exit(EXIT_FAILURE); } if (listen(server_fd, 3) < 0) { perror("listen"); exit(EXIT_FAILURE); }//9 if ((new_socket = accept(server_fd, (struct sockaddr *)&address,(socklen_t*)&addrlen))<0) { perror("accept"); exit(EXIT_FAILURE); } while(1){ valread = read( new_socket , buffer, 1024); printf("%s\n",buffer );// é isto que recebe } send(new_socket , hello , strlen(hello) , 0 ); printf("Hello message sent\n"); return 0; } // Client #include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <netinet/in.h> #include <string.h> #define PORT 8080 int main(int argc, char const *argv[]) { struct sockaddr_in address; int sock = 0, valread; struct sockaddr_in serv_addr; char *hello = "Hello from client"; char buffer[1024] = {0}; if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("\n Socket creation error \n"); return -1; } memset(&serv_addr, '0', sizeof(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_port = htons(PORT); // Convert IPv4 and IPv6 addresses from text to binary form if(inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr)<=0) { printf("\nInvalid address/ Address not supported \n"); return -1; } if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) { printf("\nConnection Failed \n"); return -1; } send(sock , hello , strlen(hello) , 0 ); printf("Hello message sent\n"); valread = read( sock , buffer, 1024); printf("%s\n",buffer ); return 0; }
  18. Boa maltinha, é o seguinte: tinha o Ubuntu 14.04 e como ele não consegui atualizar para a versão mais recente do Ruby. Decidi fazer update para a versão 16.04 (mas não ficou completa): normalmente aparecia uma mensagem para fazer este upgrade mas depois cancelava, pois queixava-se de falta de espaço. Daí tive a ver desistalar coisas do kernel , mas o problema estava no .local e no .cache e apaguei a maioria desse ficheiros. Tirei isso, mas depois tive de fazer manualmente os update, pois a mensagem não estava aparecendo (depois como precisava do carregador para outro computador, tive de desliga-lo) mas os updates já estavam feitos era só necessário desliga-lo, da forma comum só que ele esta parado e não desligava e daí ter removido o carregador). Fiz então isto no update: https://askubuntu.com/questions/916370/how-to-enable-disabled-third-party-sources-from-command-line-after-upgrade corri estes comandos: sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update && apt-get upgrade Como volto as coisas ao normal, ele aparece 14.04 em algumas parte e 16.04 noutras a barra superior esta intermitente com as letras da horas a mudar o formato (como uma máquina a piscar) e não aparece as ligações a placa de rede :/ O que será melhor fazer, a maneira de voltar ao sistema anterior ou corrigir o problema? http://i65.tinypic.com/w1eib7.jpg https://tinypic.com/w1eib7.jpg
  19. Este é o último tópico que eu estou postando para saber sobre a razão de aprender usar determinadas tecnologias para conseguir emprego. Eu ouvi falar que muitos programas profissionais de edição e design, padrões no mercado, não existem para Linux. É verdade que muitos programas profissionais de edição e design, padrões no mercado, não existem para Linux? Existe razão de aprender usar Inkscape e GIMP para conseguir emprego? Se não, porque? Qual é a opinião dos empregadores sobre Inkscape e GIMP?
  20. Não existe razão de aprender quais distribuições Linux e sistemas operacionais para conseguir emprego? Qual é a opinião dos empregadores sobre as distribuições Linux e sistemas operacionais que não tem razão de serem usados nas empresas? Eu sei que não existe razão de aprender usar Slackware para se conseguir emprego, se alguém quiser falar sobre a falta de razão de aprender usar Slackware para se conseguir emprego, por favor, fale no seguinte tópico que eu postei: https://www.portugal-a-programar.pt/forums/topic/76567-slackware-no-mercado-de-trabalho-e-empregadores/
  21. Existe razão de aprender Slackware para conseguir emprego? Qual é a opinião dos empregadores sobre Slackware?
  22. Olá, Tenho .csv com 3000 linhas falando sobre datas e horários de um veículo: 1 #Arrival_Date# #Arrival_Time# #Departure_Date# #Departure_Time# 2 2017/01/01 23:30 2017/01/01 00:30 3 2017/02/01 23:30 2017/02/01 23:40 4 2017/03/01 15:45 2017/03/01 17:30 5 2017/04/10 23:50 2017/04/10 00:30 6 2017/07/16 23:50 2017/07/17 00:30 Meu problema é que preciso corrigir as datas do #Departure_Date# toda vez que o dia passa de 00:00. Linha 6, por exemplo, está correta. Linhas 2 e 5 não. Num primeiro momento, utilizei o Excel para filtrar os #Arrival_Time# próximos de 00:00 e mudei das datas no manualmente. Foi um pouco trabalhoso, mas deu certo. Conversando com um professor meu, o mesmo disse que talvez utilizando python eu poderia automatizar esse processo. Mas não faço de ideia de como fazer ou por onde começar. Alguém poderia me dar uma luz? Agradeço desde já.
  23. Boa tarde, Numa ligação ssh para o servidor "abc.com", lancei um comando unix "Kill -9 PID" que me cortou a o acesso à máquina remota. Agora de cada vez que me tento ligar, devolve-me a mensagem de erro : "Network error : Connection Refused". Tentei ligar-me através de outra máquina sem sucesso. Mensagem de erro devolvida é :"ssh: connect to abc.com port 22: Connection Refused". Será que existe uma maneira de resolver esta questão ? Cordialmente, Vitor
  24. Tenho uma máquina CentOS 7.4 com o logrotate 3.8.6 instalado. Criei um ficheiro logrotate em /etc/logrotate.d/ para rodar logs de um Tomcat (e.g., catalina.out) que está instalado na mesma máquina em /opt, com a seguinte configuração: /opt/test/apache-tomcat-8.5.15-client/logs/catalina.out { copytruncate daily rotate 30 olddir /opt/test/apache-tomcat-8.5.15-client/logs/backup compress missingok maxsize 50M dateext dateformat .%Y-%m-%d } Quero que o log seja rodado diariamente ou se o seu tamanho atingir os 50MB. Quando tal acontecer, os logs são comprimidos e copiados para uma pasta de backup e ficam lá durante 30 dias, findos os quais são apagados. Eu já corri o logrotate manualmente em modo de debug com o seguinte comando e não obtive erros (tendo sido criados os ficheiros de log zipados, tal como expectável): /usr/sbin/logrotate -d /etc/logrotate.d/tomcat 2> /tmp/logrotate.debug No ficheiro /var/lib/logrotate/logrotate.status não há sinal de problemas, é indicado que os logs foram rodados mas de facto não foram: "/var/log/yum.log" 2017-11-27-19:0:0 "/opt/test/apache-tomcat-8.5.15-client/logs/catalina.out" 2017-12-15-3:41:1 "/var/log/boot.log" 2017-12-15-3:41:1 "/var/log/up2date" 2017-11-27-19:0:0 Estou a usar o /etc/logrotate.conf que vem por omissão: # see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # uncomment this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp minsize 1M rotate 1 } /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 } # system-specific logs may be also be configured here. E também uso o /etc/cron.daily/logrotate que vem por omissão: #!/bin/sh /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0 De acordo com a manpage do logrotate: Até agora os logs ainda não atingiram os 50MB e já passaram vários dias sem haver qualquer rotação. A minha única pista neste momento aparece no /var/log/messages a mensagem de warning do script /etc/cron.daily/logrotate: "ALERT existed abnormally with [1]". Já pesquisei e cheguei a esta página que diz que o problema se deve ao facto de os ficheiros de log não estarem na diretoria /var/log, mas que isso não é impedimento para que o logrotate faça o seu trabalho. Ainda não investiguei a fundo o que é o SELinux e por isso não me sinto muito confortável em executar a solução sugerida (até porque tenho de ter algum cuidado com a máquina em questão). Mas será que o problema vem mesmo daí? Já coloquei a questão no Unix StackExchange mas ninguém me respondeu.
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.