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)