Você está na página 1de 14

Linux: uma aventura Projeto GNU

• Projeto GNU é um projeto iniciado por Richard Stallman


em 1984;
1984;
“Shut your windows, the penguins are coming.” • Objetivava criar um sistema operacional totalmente
livre, que qualquer pessoa teria direito de usar, estudar,
modificar e redistribuir o programa e seu código fonte,
desde que garantindo a todos os mesmos direitos
direitos..
• Este sistema operacional GNU deveria ser compatível
com o sistema operacional UNIX, porém não deveria
utilizar--se do código fonte do UNIX.
utilizar UNIX.
• Stallman escolheu o nome GNU porque este nome, além
do significado original do mamífero Gnu
Gnu,, é um acrônimo
recursivo de:
de: GNU is Not Unix (em português
português:: GNU Não
é Unix.
Unix.

Gnu não é UNIX Projeto GNU

• GNU significa GNU Não é UNIX (uma sigla que recorre


ao sentido dela mesma
mesma...
... Recursividade
Recursividade:: muito usado
por programadores)
programadores)..

• Seu objetivo é permitir a criação de um UNIX livre, para


que todos possam ter acesso a esse sistema
operacional..
operacional

GPL - Licença Pública Geral

• A GPL descreve a idéia de software livre


livre.. É um
documento nascido do projeto GNU, daí seu nome
GNU/GPL..
GNU/GPL

O que é software livre? O que é software livre?

 É qualquer programa de computador que pode


ser usado, copiado, estudado, modificado e  A maneira usual de distribuição de software
redistribuído sem nenhuma restrição (FSF - livre é anexar a este uma licença de software
Free Software Foundation) livre, e tornar o código fonte do programa
disponível

 A liberdade de tais diretrizes é central ao


conceito  SL Notáveis
Notáveis:: Linux, Open Office, GCC, KDE,
Programas do Sistema GNU, Firefox,
Konqueror,, Java, PHP, Samba, Apache, etc
Konqueror etc..
 Se opõe a outro conceito, o de software
proprietário, mas não ao software que é
vendido almejando lucro (software comercial).
comercial).

1
Liberdades do Software Livre Software Livre x Gratuito
 O fato de ser gratuito não implica em ser livre
● Executar para qualquer propósito

● Estudar e adaptar  O gratuito é apenas um software que você


não precisa pagar (freeware) e o código fonte
● Redistribuir cópias não está disponível
● Aperfeiçoá-lo
 Usar o termo “Software Livre” somente para
designar o fato de ser gratuito é um erro
grosseiro

Por que usar Software Livre? Problemas em usar SW Proprietário?


 É grátis!  Extremamente caros!
 Não é seu
seu;;
 É seu!
 Adquire-se apenas uma licença de uso e não
Adquire-
 Código fonte disponível para possíveis o software em si
si;;
modificações pelo usuário
usuário;;
 O código fechado o deixa propício a falhas
que não serão encontradas nem tão cedo e
 Falhas são encontradas com mais facilidade só o proprietário pode fazer modificações
modificações;;
e corrigidas quase que imediatamente,
tornando--os mais confiáveis
tornando confiáveis.. Graças ao  Tantos outros que já conhecemos
conhecemos!!!
!!!
código aberto!

Linux - O que é? Linux - O que é?

 O Linux (GNU
GNU--Linux)
Linux) é um sistema
operacional multiusuário, estável e gratuito  Amplo suporte na internet;
− (sob a GPL General Public Licence - GNU)
 Código aberto;
 Unix Like
 Disponível para plataformas Intel X86 (IA(IA--
 Parte do movimento open source
32 e x86 64),, Sparc,
x86--64) Sparc, Alpha
Alpha,, Power PC, Crusoe
Crusoe,, software;
ARM, MC680X0, Arduíno
Arduíno,, Raspberry Pi
Pi,, etc.
etc.  Para mais informações veja:
 O número de usuários do Linux é estimado em − http://
http://www.linux.org
www.linux.org
mais de 32,8 milhões, além de 1,6 bilhão de
Android.
usuários do Android.

2
Kernel (Núcleo) Algumas vantagens GNU/Linux (1/2)

 Parte principal (central) dos sistemas  O crescimento e novas versões do sistema não
operacionais; provocam lentidão.
 Gerencia outras tarefas do sistema operacional;  Não é necessita de pagamento de licença para usá
usá--lo.
 Carregado do disco rígido para a memória
quando o computador é inicializado  O LINUX É MENOS VULNERÁVEL A VÍRUS!
− Booting refere
refere--se ao procedimento de carga do
 Rede TCP/IP mais rápida que no Windows e tem sua
sistema operacional
pilha constantemente melhorada.
 Carrega outros programas do sistema
operacional, quando necessário  Roda aplicações Windows através do WINE.
− Os outros programas são chamados de não
não--
residentes;;
residentes
− Exemplos: interface com o usuário

Algumas vantagens GNU/Linux (2/2) Algumas desvantagens GNU/Linux (1/2)


 Os sistemas de arquivos usados pelo GNU/Linux  Dificuldade na instalação de alguns drivers;
organiza os arquivos de forma inteligente evitando a
fragmentação.  Alguns softwares livre apresentam interface pouco
amigável, em comparação a software proprietários.
 Sistema operacional de código aberto.
 Recursos de áudio e vídeo apresentam maior
 Suporte a diversos dispositivos e periféricos no performance, embora esses dispositivos tenham
mercado, por trabalhar com drivers genéricos. maior atenção nos últimos anos.

 Executado em mais de 16 arquiteturas de  Maior dificuldade de aprendizado por usuários


hardware diferentes (Intel, AMD, etc...) iniciantes.

Pré
Pré--história Pré
Pré--história

 1960 Bell Labs (que pertencia á ATT), MIT e GE  1973 Dennis Ritchie (inventor de C) reescreve
iniciam S.O. MULTICS ( multi
multi--usuário
usuário,, multi
multi-- UNIX em C
processador e sistema de arquivos multi-
multi-nível)
nível)  1974 Licença gratuita para propósitos
 1969 ATT desiste, e alguns programadores nas educacionais
horas vagas desenvolvem sistema UNIX (ex  1977 500 sistemas no mundo
MULTICS)  1980 BSD 4.1 (U Califórnia - Berkeley)
 Em 01 de janeiro de 1970,
1970, começa o início dos  1983 SUN OS
tempos do UNIX  1988 System V
 1971 Sistema rodando em PDP-
PDP-11, com 16K de  1991 Linus Torvalds inicia o Linux
memória RAM e disco de 512K

3
Sistema Operacional Minix (“mini
(“mini--Unix”) 1990--1992
1990
• Muitos universitários treinavam UNIX com um programa
 Alternativa em relação ao Unix para estudo semelhante a ele (um “UNIX-
“UNIX-Like”) chamado MINIX
MINIX,, para
de sistemas operacionais; PCs.
PCs.

• Na Finlândia, um estudante chamado Linus Torvalds


Torvalds,, cria um
 Desenvolvido em 1986 pelo Prof. Andrew Kernel para PCs semelhante ao UNIX.
UNIX. Esse Kernel é batizado
Tanenbaum da Universidade de Vrije, em de Linux;
Linux;
Amsterdã; • Afinal, o que é o Linux?
• Linux é um Kernel imitação do UNIX (ou seja, é um
 A ideia era ser pequeno o bastante para que “UNIX--Like”) livre e feito para PCs;
“UNIX PCs;
qualquer pessoa possa entender o seu
• O Linux é a peça do quebra
quebra--cabeças que o projeto GNU
funcionamento. está desenvolvendo;
desenvolvendo;

• Linus testou seu Kernel fazendo várias ferramentas GNU


serem executadas nele!

Linha do Tempo dos sistemas Unix/Linux, GNU

Foto do Linus em 2019

1993

Windows NT  O Tux é a mascote oficial do kernel Linux.


Dennis Windows 3X  Criado por Larry Ewing em 1996.
Ritchie PDP-11

Ken
Thompson

Histórico Histórico
 1991  1994
− 1 único usuário − 100.000 usuários
o Linus Torvalds cria o Linux na Finlândia  Suporte a redes
 Estudo acadêmico de sistemas operacionais  Auxílio de centenas de programadores
 Inspirado no minix espalhados pelo mundo
 10.000 linhas de código  170.000 linhas de código

 1992  1996
− 1.000 usuários − 1,5 milhões de usuários
 Suporte ao compilador gcc  Roda em máquinas Alpha e Sparc
 40.000 linhas de código  Aceita multiprocessadores
 400.000 linhas de código

4
O que é ? O que é ?
 1997  1998
− 3,5 milhões de usuários − 7,5 milhões de usuários
 boom do sistema o Várias versões de softwares são
 Surgem revistas sobre linux distribuídas para o S.O. linux
 Word Perfect
 Uma versão a cada semana
 Oracle (banco de dados) - início de
 Já está na casa dos milhares o número de
programadores envolvidos no desenvolvimento do 1999
sistema o Popularizado entre provedores Internet
 800.000 linhas de código o Conectiva lança distribuição brasileira
do RedHat
o 1,5 milhões de linhas de código

Linux hoje e seu desenvolvimento O kernel Linux


● O Kernel é camada de software mais próximo
 O desenvolvimento do Linux é centralizado pelo do hardware, responsável pelo
e por alguns “braços direitos”, dentre eles, o
gerenciamento de memória, processadores,
famoso Alan Cox.
Cox.
etc.
 Qualquer pessoa no mundo pode colaborar com
● O kernel Linux foi desenvolvido em 1991 por Linus
o kernel
kernel,, que está sob a GPL
Torvalds, da Universidade de Helsinque,
 GPL (GNU Public License
icense)) é a licença criada por Finlândia.
Stallman,, que permite a distribuição do código e
Stallman
do programa livremente, e permite a alteração, ● Adota padrão POSIX (Portable Operating System
sob algumas condições (a principal, é manter o Interface) do IEEE (Institute of Electrical and
copyleft original) Electronics Engineers).

Mas o que é Linux?


Kernel, utilitários
utilitários,, GNU, etc
 “Somente” o kernel é realmente o Linux.
− Núcleo do sistema é responsável pelo
funcionamento dos dispositivos e funcionamento
do computador (SO)
 Utilitários (shell
(shell,, editores, programas) são a
parte visível ao usuário.
− Entretanto
Entretanto,, são “emprestados” do projeto GNU, ou
são comerciais
 GNU (Gnu is Not Unix): Projeto fundado por
Richard Stallman
Stallman,, que propunha a criação de
um sistema completo (kernel,
(kernel, utilitários, etc),
etc),
sob a GPL, e independente de qualquer tipo
de UNIX.

5
SO em camadas
Núcleo do SO
 Modularização:
− o kernel
− o interpretador
− e utilitários

Interface do usuário com o SO

Aquilo que vc deseja que o SO faça

Linux Shells ou Terminal Shell


 Também conhecido como o interpretador de
 A Command Line Interface (CLI) para o Linux é
linha de comando (CLI - Command Line
feita através de um shell;
Interpreter) ou Terminal ou Shell;
 Este é o aplicativo (programa) que interpreta o
 É o programa que aceita os comandos digitados que é digitado e executa suas instruções
e traduz esses comandos em ações a serem  Shells mais utilizadas:
executadas pelo sistema operacional;
− tcsh – exTended C SHell
 No Microsoft Windows uma versão menos − bash – Bourne Again SHell
sofisticada do shell é denominado − ksh – Korn SHell
“command.com” . − csh – C SHell (antigamente bastante popular)
− sh – o shell original, frequentemente utilizado como
sinônimo para shell

6
Terminal Bash
Bash:: Introdução Terminal Bash
 O terminal (ou shell) Bourne (sh
sh)) nasceu como uma
interface de Linha de Comando desenvolvida pelo
projeto original do UNIX;
 Foi originalmente escrito em 1979 por Steven
Bourne na AT&T para a versão 7 do UNIX;
 O projeto GNU desenvolveu um shell que aceitava
a mesma sintaxe do Bash e denominou de bash ou
“Bourne Again shell“ ;
 O shell bash se tornou o padrão de fato do Linux,
em grande parte por ter a mesma sintaxe do shell
• Usualmente tem fundo preto e letras brancas, mas pode ser
Unix.
configurado adicionando outras cores.

Graphical User Interface - GUI GUI: Exemplo


 Também conhecida como Interface Gráfica do Usuário (IGU)
 Interface gráfica amigável baseada em janelas:
− Normalmente utiliza mouse, teclado e monitor;
− Os ícones representam arquivos, programas, ações, etc.;
− Os diferentes botões do mouse sobre os objetos da interface causam
várias ações (fornecer informações, opções, executar função, abrir
diretório (conhecido como pasta);
− Inventado pela Xerox.

 Muitos sistemas agora incluem interfaces ambas CLI e GUI;


 O Apple Mac OS X tem como interface GUI o “Aqua” com
kernel UNIX por baixo e shells disponíveis; • Por que aprender a usar um shell se existem GUIs?
 O Solaris tem CLI com interfaces GUI opcionais (Java • mais rápido, trabalho remoto com baixissimo consumo
Desktop, KDE) de banda, programável, customizável, repetivo, etc.

Servidor gráfico Kernel x Ambiente gráfico


Esquema entre servidor gráfico, kernel e gerenciador de
 O Linux adota o servidor gráfico X11 como interface
ambiente
gráfica padrão;
 O servidor gráfico X11 foi desenvolvido no MIT
(Massachussets Institute of Technology) de modo a
proporcionar ao sistema operacional uma interface
gráfica independente, rodando em uma camada
independente de software;
 O servidor gráfico (ou servidor X11) tem como função
criar interface com o hardware para posicionamento de
janelas, do tamanho, além de “desenhá-las”;
 Sua funcionalidade é complementada por um dos
gerenciadores de ambiente (KDE, GNOME, etc), que
criará a interface com os usuários, além de possuir
aplicativos e funcionalidades que auxiliam seu uso.

7
Gnome GUI

KDE GUI

KDE GUI Orchis--KDE


Orchis

8
LinuxFx (codenamed “WindowsFx”)
WindowsFx”)
XFCE GUI

5
0

GUIs disponíveis para o Linux Distribuições Linux


 GNOME
● O kernel por si só não é suficiente para sistemas
 KDE operacionais serem funcionais;
 Cinnamon
 Mate ● Associado a servidores gráficos, aplicativos e
configurações específicas, o kernel Linux tem
 Unity
características próprias, criando então uma
 XFCE
distribuição;
 LXQt
 Pantheon ● Atende interesses de grupos, pessoas, empresas,
 Enlightenment etc...
 Fluxbox, etc

Distribuições & procura


Distribuições
Dist ribuições Linux
 Geradas por grupos de pessoas ou por uma
entidade sob a GPL - GNU (GNU Public License
- ©opy left)
left)

− Distribuições podem cobrar pela mídia digital, mas não


podem restringir/proibir a cópia e redistribuição;
− Existem mais de 600 distribuições Linux, sendo a
maioria derivada de outras.
− Por ex:
 A distro Mint é derivada do Debian,
 Manjaro é baseada no Arch;
 Ubuntu é derivada do Debian;
54
 Elementary é baseada no Ubuntu,
Ubuntu, etc.

9
História do GNU/Linux Distribuição Linux

Linha do tempo das principai


principais distro
distro”” • É o nome dado ao conjunto de programas

formado pelo Kernel Linux e por mais alguns


softwares distintos (como Shells, aplicativos,
jogos, utilitários, etc.
etc.).

• Várias empresas (ou pessoas) podem “juntar”


os programas que acham interessantes e criar
suas próprias distros
distros..

Distribuições Linux mais famosas Distribuições Linux Live CD

• Essas distros Linux são configuradas para


• Mint
Mint;;
serem executadas diretamente do CD, sem
• Ubuntu
Ubuntu;; precisar instalar no computador.
computador.
• Red Hat (EUA);
(EUA); • Isto é não há necessidade de particonar
ou formatar o HD;
HD;
• Fedora (EUA)
EUA);;
• As principais distribuições Live CD são
são::
• Slackware (ALE)
(ALE);;
• SuSE (ALE);
(ALE); • Ubuntu (África
(África)) – Baseada no Debian;
Debian;
• Debian live CD – Baseada no Debian;
Debian;
• Manjaro;
Manjaro; • Mint – Baseada no Debian;
Debian;
• Debian (EUA)
(EUA);; • Knoppix Live Linux CD, etc.
etc.

Distribuições Linux Distribuições & procura

 Geradas por grupos de pessoas ou por uma


entidade sob a GPL - GNU (GNU Public License
- ©opy left)
left)

− Distribuições podem cobrar pela mídia digital, mas não


podem restringir/proibir a cópia e redistribuição;
− Existem mais de 600 distribuições Linux, sendo a
maioria derivada de outras.
− Por ex:
 A distro Mint é derivada do Debian,
 Manjaro é baseada no Arch;
 Ubuntu é derivada do Debian;
 Elementary é baseada no Ubuntu
Ubuntu,, etc.

10
Como Praticar Linux vs. Windows em Websites

 Particionar o HD e instalar uma distribuição com Boot


Manager;
− Fazer download de imagem iso no site da distribuição
(www.linuxmint.com
www.linuxmint.com),
), ou de https://distrowatch.com

 Instalar numa máquina vitual.


vitual. Ex.: Oracle Virtual Box;

 Live CD ou live pendrive;


pendrive;
− Utilitário para Windows: Rufus,
Rufus, Lili (www.linuxliveusb.com)

 Utilizar pelo navegador internet um free GNU/Linux


Online Terminal
 https://www.webminal.org

Distros educacionais para crianças Distros para micros antigos

 Debian Edu / Skolelinux 1. Absolute Linux


2. antiX
 DoudouLinux 3. BunsenLabs
 Edubuntu 4. Linux Lite
 LinuxKidX 5. Lubuntu
6. LXLE
 OpenSUSE: Education-Li-f-e 7. Porteus
 Qimo 4 Kids 8. Puppy Linux
 Sugar On A Stick 9. SliTaz
10. Tiny Core Linux
 Ubermix
11. Q4OS

Distros para estudar IA Distros para edição de músicas e filmes

• Ubuntu e distros derivadas;


 Fedora Desktop Suite
• Fedora e a família RHEL de distros;
• Requisitos:  Ubuntu Studio
• A good code editor: VS code, Atom, Sublime Text or
Brackets.  AVLinux
• Support for Python, R, GO and other languages you may
use for machine learning
• Support for PyTorch, TensorFlow, OpenCV and other
 Apodio
machine learning libraries that you might need for your
project  io GNU/Linux
• Virtualization software to test your Machine Learning &
AI apps on several operating systems: On Linux you have
support for VirtualBox and GNOME Boxes
• Data collection, verification and organization tools
that you may need
• Source code management software like Git
• DevOps tools like GitLab

11
Distros para servidor Distros para programação

 Ubuntu Server  Arch Linux


 Debian  Debian
 OpenSUSE LEAP  Ubuntu/Linux Mint
 Fedora Server  OpenSUSE/SUSE
OpenSUSE /SUSE

 Fedora CoreOS  Fedora


 Gentoo
 Pop!_OS

Mercado de SOs

Fonte: W3Schools.com
Fonte: https://distrowatch.com em Janeiro 2021

Mercado de SO para Mobile SOs em Supercomputadores

12
O que recebo? O que recebo?
 Gerenciadores de Janelas: GNOME 3, KDE Plasma 5,  Programas Gráficos: GIMP, Sane, Sketch,
Cinnamon,, MATE, Unity
Cinnamon Unity,, Xfce
Xfce,, LXQt,
LXQt, Pantheon
Pantheon,, QCAD, etc
WindowMaker,, Enlightment,
WindowMaker Enlightment, FVWM, etc
 Servidor Web: Apache
 “Offices
Offices””: LibreOffice,
LibreOffice, WPS Office, Apache OpenOffice
OpenOffice,,  Linguagens: C, Perl, PHP, Pascal, Delphi,
ONLYOFFICE, SoftMaker FreeOffice Phyton,
 Editores: Pico, Nano, Sublime, Vim, Atom,
Atom, PyCharm
PyCharm,,  Editores de Páginas: Quanta, Nestcape, etc
VSCode,, Gedit,
VSCode Gedit, GNU Emacs,
Emacs, Bluefish
Bluefish,, etc  Administradores de correio eletrônico,
listas,
 Bancos de Dados: MySQL,
MySQL, PostGres
PostGres,, MariaDB
MariaDB,, Oracle
 Webmail: Imp, FocalMail, etc
 Browsers: Firefox, Google Chrome
Browsers: Chrome,, Opera, Vivaldi,  etc, etc, etc, etc, …
Midori,,etc
Midori

Quanto pago? Empresas que embarcaram


 IBM • Unisys
 Custo total de todo esse software  Netscape • O’Reilly
Corel • SGI
R$ 0,00

 Inpraise (Borland) • Cisco


 Oracle • Fluke
 Quem é o dono
dono?
?  Compaq • Siemens
A comunidade que  Dell • Tetra Pak
desenvolve  Informix • Byte Magazine
 Unisys • DaimlerChrysler

Empresas que embarcaram Política de Usuários


 NASA  UFRJ
 Lucas Film  Caltech
 Mercedes Benz  US Postal Services
 DaimlerCrhysler Usuário comum:
 Sony Permissões limitadas
 Cisco
 Boeing
 Northrop Grumman
Super-usuário ou root:
 US Army
Administrador do sistema
 US Navy
 FAB

13
Política de Usuários (2) Conceitos de usuário e senha
Sistema multiusuário e proteção

 Cada usuário tem “seu ambiente”, seus arquivos  O UNIX e o Linux incorporam o conceito de
e suas configurações; usuário.
− Várias pessoas podem utilizar o computador, e cada
uma deve ter acesso restrito aos recursos
 Nenhum usuário pode interferir no ambiente do
outro, a menos que se deseje isso;  Cada usuário tem um ID no sistema, associado a
um username;

 Só o Super-usuário pode violar essa restrição!  Para acessar a máquina, o usuário possui uma
senha. Proteção individual, e do sistema todo.

Entidades que promovem Certificações em Linux Bibliografia


 GCUX – GIAC Certified Unix Security Administrator. − Usando Linux - Especial
 Linux+ CompTIA  Jack Tackett Jr, Steven Burnett
 Linux Professional Institute)
LPI ((Linux Institute)  Editora Campus 5 ª Edição
• LPIC 1 – Linux Administrator, LPIC 2 – Linux Engineer,
Engineer, LPIC 3 – 300
– Linux Enterprise Professional Certification,
Certification, LPIC
LPIC--3 303 – Linux − Dominando o Linux
Enterprise Professional – Security e LPIC
LPIC--3 304 – Linux Enterprise
Professional – Virtualization & High Availability  Matt Welsh,
Welsh, Lar Kaufman
 (Linux Foundation Certified System Administrator) 
LFCS (Linux  Editora Ciência Moderna
ideal para iniciantes
 (Linux Foundation Certified Engineer
LFCE (Linux Engineer))  3 a 5 anos − Usando Linux
de experiência  Bill Ball
 Oracle  Editora Campus
 Red Hat

Referências
 Internet
− http://slashdot.org
− http://www.linux.org
− http://www.linux.com
− http://www.conectiva.com.br ----
− http://linuxberg.uol.com.br
− http://www.kernel.org
− http://linux.cos.ufrj.br
− http://ww.linuxdoc.org
− http://www.ssc.com
− http://www.samba.org

14

Você também pode gostar