30
© 2016 Rogue Wave Software, Inc. All Rights Reserved. 1 Linux 101 Bill Weinberg – Linux Foundation Justin Reock – Rogue Wave Software

Linux 101

Embed Size (px)

Citation preview

Page 1: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

1

Linux 101Bill Weinberg – Linux FoundationJustin Reock – Rogue Wave Software

Page 2: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

2

Who’s speaking to me?

Page 3: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

3

Bill Weinberg

• Sr. Director & Analyst, Open Source Strategy– Three+ decades experience in embedded/mobile

&enterprise IT– Founding team member at embedded OSS pioneer

MontaVista Software, former analyst at OSDL and principal at Linux Pundit

– Consulting in open source business and technology strategy, open source management and marketing, legacy migration, etc.

– Author of ~200 articles and white papers on open source, mobile/embedded, automotive, security and related topics

Page 4: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

4

Justin Reock

• Sr. Director and Lead Architect of Rogue Wave OSS Support Team– FL/OSS enthusiast and evangelist– Early adopter of Linux– Created CentOS Developer Group at Rogue Wave– Puts Linux on everything, because why wouldn’t you?

Page 5: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

5

A brief history of UNIX…

Bell Labs (AT&T)

BSD (Berkeley S/W Dist)

FreeBSDNetBSD

OpenBSD

GNU Project GNU Linux

SunOS

Next Step Mac OS X

SVR5IRIX

HP-UXSolaris

AIXSCO UNIX

1970 1980 1990 2000 2010

Android

iOS

Page 6: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

6

A brief history of Linux

1990 1995 2000 2005 2010 2015

Hello everybody out there using minix – I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones

Tux becomes the Linux mascot

SCO Lawsuit (2003)

Invests $1B in Linux

Top 5 Linux Contributor

V2

Page 7: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

7

Why develop on Linux?

Page 8: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

8

Lots of reasons

• Powerful command line and tools• Many options for productivity improvement – scripting, etc.• Free as in free speech – modifiable, customizable, community-driven• Ease of prototyping• Accurate testing by easy recreation of production environments• Better web development with a natural environment for Apache or nginx• Hardened security options such as SELinux• Paving the way for containers and microservices• Automation through Puppet/Chef/Ansible• Remote administration through ssh• Scale to huge sizes without huge license costs• Linux makes you look cool!

Page 9: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

9

It’s great for web development

• Linux is the home of the LAMP stack– Native support for major tools and frameworks

• Linux is a great web app prototyping environment– Easily install multiple servers / instances on one machine– Easy access to error logs for debugging

• Countless other web platforms – Drupal, WordPress, Tomcat . . .

Page 10: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

10

Web dev tools

• Web application frameworks– Node.js, Rails, Zend

• Web servers & load balancers– Apache, NGINX, tinyHTTPd

• HTML editors and IDEs and syntax checkers and . . .

Page 11: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

11

Any downsides?

• Too many ways to create “Linux apps”– A surfeit of APIs, frameworks, run-times and tools– No clear path to apps and interoperability (cp. Android)– Result is fragmented app space, ISV confusion and costs

• Orphan desktop– Tiny market share– Limited hosting of popular commercial apps– Mixed UX, difficult installation on some notebooks

Page 12: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

12

How do I get started?

Page 13: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

13

Pick your flavor

• Linux is just the kernel surrounded by a suite of supporting software

• It’s that supporting software that differentiates one flavor of Linux from another

• Pick a flavor that suits your level of expertise, the tools you’re likely to use, and the hardware environment on which you’ll deploy

• Main differences include package management and ecosystem, preinstalled software, and current Linux kernel version

• Pay attention to the community as well – quick releases, fast response to security vulnerabilities, development priorities

• Some distributions are highly focused, such as Kali Linux for Security Professionals

Page 14: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

14

Something for everyone…

Page 15: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

15

Porting and interoperability

• Cross platform development– Cross compiling with gcc and GNU tools– Cross platform frameworks and libraries

• Emulation and libraries– Full virtual machines – VirtualBox, QEMU et al– Libraries and platforms – Wine, Crossover, Cygwin,

Bash-on-Windows, Steam . . .• File systems

– Samba, NFS, FAT

Page 16: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

16

Editors and IDEs on Linux

• Your favorite IDEs are already ported

• Eclipse and IntelliJ both run very well

• UX is nearly identical to other operating systems

• Editors such as Sublime Text and Atom are easy to install

• And classic command line editors such as vim, emacs, and nano let you edit powerfully from the shell

Page 17: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

17

Your first install…

• Your Linux flavor’s community will provide installation media, usually in the form of a bootable ISO

• During the install, you’ll be able to configure system, software, and network options

• Many distros will allow you to choose a particular theme for your preinstalled software

• Such as in the next slide, where CentOS 7 allows you to choose between various environments

• From there, you can: – Use the flavor’s preferred package manager to install additional

software– Download packages for anything not provided by the package manager– Build from source!

Page 18: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

18

Your first install…

Page 19: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

19

Yes, Linux has GUI options too…

Gnome, inspired by Mac OS

Page 20: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

20

Yes, Linux has GUI options too…

KDE, inspired by Windows

Page 21: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

21

Embrace the shell

Page 22: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

22

A quick overview of the filesystem• Everything is a file – if it’s not a file, it’s a process

Everything is a file

Page 23: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

23

Go out and play!

Page 24: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

24

Bare metal loves Linux…

• Hardware vendors bring-up on Linux, consumer hardware can be inconsistent

• Install it on your laptop or desktop computer (YMMV)

• Or on server hardware in your data center• GRand Unified Bootloader, or grub, is

supported by most modern flavors• Makes it easy to dual boot a Windows PC with

Linux• rEFind for Mac will let you dual boot Linux on

Mac hardware

Page 25: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

25

Linux loves VMs…

Page 26: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

26

And Linux loves containers…

Page 27: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

27

LiveCDs

• Boot from a thumbdrive or CD directly into Linux without modifying your storage or boot sequence

• ISO files available for many flavors, get started quickly without installing anything!

• LinuxLive (Lili) USB Creator for Windows– Fully automated thumbdrive creation– Includes VirtualBox options as well as USB Boot– Maintain persistence wherever you run it from

• Easy way to get started right now!

Page 28: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

28

Raspberry Pi

• A full system in a $35 box– 1.2ghz 64-bit quad-core ARMv8 CPU– 1GB RAM– 4 USB Ports– HDMI / Composite Video– MicroSD Storage– 802.11n WiFi / Wired Ethernet– Bluetooth 4.1 / BLE

• Multiple Linux builds available, easy install through NOOBS interface

Page 29: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

29

Learn more

• Wealth of content online– Tutorials, MooCs, discussion groups, code exchanges– Online documentation

• Linux Foundation– Online training, MooCs, workshops, webinars– LinuxCon and collaboration summits– Certification and consulting– Legal training (CLE)

Page 30: Linux 101

© 2016 Rogue Wave Software, Inc. All Rights Reserved.

30

Questions?