Aula 01 - Fundamentos de GNU/Linux

Propaganda
Aula 01 - Fundamentos de GNU/Linux
LibrePlanet São Paulo
10 de março de 2015
O que é um Sistema Operacional
https://en.wikipedia.org/wiki/File:Operating_system_placement.svg
O Sistema Operacional GNU/Linux
User
Applications
...
Browsers
Editors
Shell
gcc
GlibC
ls
WM/DE
Xorg
Libraries
Kernel Linux
Hardware
Kernel
Software que abstrai e gerencia os recursos do Hardware.
Existem vários! O Linux é um deles.
Normalmente, é um dos primeiros softwares a ser executados
no computador durante o boot.
O GNU Hurd, que é o kernel do projeto GNU, ainda(!) não
está pronto – Será que algum dia vai estar?
Normalmente escrito em C com partes em Assembly.
É inútil sozinho.
Bibliotecas e a LIBC
Repositório de código compartilhado entre programas.
Fornece API de chamadas para os programas que a utilizam
LIBC - biblioteca do sistema
Abstrai acesso ao Kernel.
Fornece funções comumente utilizadas.
printf, scanf, malloc, free, cos, sin.
GNU LIBC -> GLIBC.
Shell
Principal forma de interação com o sistema.
Permite executar programas para realizar tarefas úteis.
Pode ser programado para executar tarefas repetitivas
ou complexas (scripts).
É muito mais poderoso do que o simples “Prompt de Comando
do Windows.”.
Ambiente Gráfico
GNOME: Talvez o principal e mais utilizado hoje em dia.
Parte do projeto GNU. Extremamente completo, e bastante
intuitivo.
KDE: Um dos principais, junto com o GNOME. Já foi mais
usado, mas caiu em popularidade depois da versão 4.0, cheia
de problemas.
Existe uma infinidade de outros gerenciadores de janelas, como
XFCE (baseado no GNOME), LXDE (baseado no KDE), tiling
window managers (i3, awesome), etc. Opção é o que não falta!
GNOME 3.x
O Sistema Operacional GNU/Linux
Distros
Diversos sabores de GNU/Linux.
Voltadas para usuários e necessidades diferentes.
Comunidades!
http://distrowatch.com/dwres.php?resource=major
http://gnu.org/distros
Distros
Trisquel, Parabola, Guix
Debian
Fedora
openSUSE
Arch Linux
Gentoo
RHEL, SLES
Linux From Scratch
Deaf Linux, Kali, Tails, libreWRT
Ubuntu, Red Start DPRK
Filesystem Hierarchy Standard
FHS é um padrão para a árvore de diretórios e arquivos para
sistemas que utilizam o Kernel Linux.
Árvore de diretórios.
Todos os arquivos possuem um caminho absoluto cuja
estrutura de diretórios é iniciada na raiz (/) e cada diretório é
separado por uma barra. Ex: /etc/X11/xorg.conf
Criado e mantido pela Linux Foundation.
Não é o unico padrão, apesar de que várias distros seguem esta
especificação. Às vezes com pequenas (ou grandes!) variações.
Filesystem Hierarchy Standard
/ : Raiz, início do sistema de arquivos.
/bin : Programas essenciais disponíveis para todos os usuários:
cd, ls...
/boot : Bootloaders.
/etc : Arquivos de configuração.
/home : Diretórios Home de usuários.
/mnt : Onde serão montados dispositivos temporários:
Pendrives, cartões SD...
/tmp : Arquivos temporários.
/usr : Nível inferior na hierarquia para aplicações de usuário.
/var : Arquivos variáveis como logs e spools.
Exemplos
Explique o que devem ser cada um desses arquivos:
/etc/x11/xorg.conf
/home/krisman/disc/work/mc102/trab1/pr/0n/hello.ogg
/usr/bin/gcc
/usr/lib64/libncurses.so
/var/log/messages
/boot/vmlinuz-3.18.0-custom
Por que alguns têm extensões e outros não?
Editores de texto - Porque não posso programar no
LibreOffice?
Programação é feita em editores de texto puro, sem
formatação.
Editores de texto para programação costumam ser ferramentas
poderosas e úteis.
Syntax Highlight.
Existem muitos, alguns mais simples, outros mais complexos
(e poderosos): Gedit, Kate, Nano, vim, Emacs...
Programas
Livre
Proprietário
MPD, Amarok, Banshee
VLC, Totem
LibreOffice
Firefox, Chromium, Icecat
GIMP, Inkscape
Blender
gnuplot, Octave, SCIDavis
Emacs, vim, nano, gedit, Kate
OpenJDK
Windows Media Player, iTunes
iTunes, Mplayer
Word, Excel, Powerpoint
Google Chrome, IE
Photoshop, Ilustrator
3d Max Studio
Matlab, Matematica, Origin
MS Visual Studio
Oracle’s Java
Jogos?
Free-civ!
0 A.D!
Nethack!
http://directory.fsf.org
Play-on-’Linux’.*
Steam for ’Linux’.*
* Não são livres!
WINE
Acrônimo recursivo para Wine Is Not an Emulator. Ou seja,
ele não é um emulador!
Principal utilidade: rodar programas do Microsoft Windows
(R).
Curiosidade: É uma reimplementação do Windows no
GNU/Linux. E, em alguns casos, melhor do que a versão da
própria Microsoft!
Dependendo do programa, a execução pode ser mais rápida
(caso clássico: Counter Strike), ou mais lenta.
Recomendamos apenas em último caso, afinal, em geral os
softwares do Microsoft Windows (R) são proprietários. Argh!
Instalação
Dual-Boot
Stand-alone!
Máquinas Virtuais
Gabriel Krisman Bertazi - [email protected]
Sergio Durigan Junior - [email protected]
[email protected] || IRC: #lp-br-sp (Freenode.net)
Download