SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Linux
       Philosophy & Internals
Chintalagiri Shashank chintal@iitk.ac.in
This work is licensed under the Creative Commons
 Attribution-Noncommercial-Share Alike 2.5 India License.
 To view a copy of this license, visit
 http://creativecommons.org/licenses/by-nc-sa/2.5/in/ or
 send a letter to Creative Commons, 171 Second Street,
 Suite 300, San Francisco, California, 94105, USA.




Chintalagiri Shashank <chintal@iitk.ac.in>
Series Agenda
    Philosophy and Architecture
         Free Software and Software Freedoms
         Free Software Licenses
         Anatomy of the Linux Operating System
         Kernel-space
         Files and Filesystems
         User-space Applications
         Application / package management
    Linux system administration (or, installing and using linux)
    More about linux


    Chintalagiri Shashank <chintal@iitk.ac.in>
Free Software and Software Freedom




    What Freedom?
    Why Freedom?
    _Whose_ Freedom?




    Chintalagiri Shashank <chintal@iitk.ac.in>
Software Freedom & licenses
    (a very brief) History of Software licenses
    ‘Ownership’ of Software
    Richard Stallman and the GNU GPL
    Copyleft
    Open Source



    Show me the code.
    Give me the code.
    Let me do what I want with the code.

    Chintalagiri Shashank <chintal@iitk.ac.in>
Anatomy of the linux operating system

 Kernel-space vs User-space.
 What is the ‘Operating System’?
 What is ‘Linux’?
 GNU/Linux
As an aside,
 GNU Herd
 BSDs
 UNIXes and POSIX compliance
 Windows


    Chintalagiri Shashank <chintal@iitk.ac.in>
Kernel Space
    What is the kernel
    Designed capabilities of the kernel - What it does and
     what it doesn’t
    Hardware drivers
    System calls
    FUSE
    ‘Binary blobs’, protection of freedom, and why linux
     graphics drivers suck.
    Modularity
    Linus’ Branch

    Chintalagiri Shashank <chintal@iitk.ac.in>
Files and filesystems
    Everything is a file
    Hierarchical filesystems
    /
         /boot
         /bin
         /etc
         /usr
         /var
         /tmp
         /home


    Chintalagiri Shashank <chintal@iitk.ac.in>
Files and Filesystems
    Mounting stuff
         /mnt
         multiple filesystem support
              Ext2, ext3, ext4, reiserfs, xfs, jfs, ntfs, fat, cdfs, ….
              FUSE – filesystems in userspace
              Network resources. Smbfs, curlftpfs, …
              Loop mounting




    Chintalagiri Shashank <chintal@iitk.ac.in>
User-space Applications
    Command line centric – Graphical applications build on
     command line functionality
    The X Window System
    Window Managers – Metacity, Kwin, twm, etc
    Desktop Environments – GNOME, KDE, XFCE, etc.




    Chintalagiri Shashank <chintal@iitk.ac.in>
User-space Applications
    Scriptability
    Human readable configuration files
    Human editable configuration files
    Do you _need_ to ever see the command line?
    Eye candy and visual effects – Compiz fusion and Kwin
    Libraries & toolkits – GTK, Qt (widget toolkits)
    Niche software and the supply-demand problem
    Standards. Standards compliance.
         Some applications are compilant.
         Some are not.

    Chintalagiri Shashank <chintal@iitk.ac.in>
Installing programs
    /usr/bin
    /usr/share/doc
    /etc
    ~/.<program>
    Dependencies
    Packages - .deb, .rpm, ebuilds, …
    Compiling from source
         ./configure; make; make install
         Development headers - *-dev, *-devel
         Static linking, dynamic linking, lib versions


    Chintalagiri Shashank <chintal@iitk.ac.in>
Package Management
    Aptitude, Yum, Yast
    Synaptic, Adept

    User permissions, privileges.
    Root, sudo, and su.
    Repositories
         (Debian based) - Main, universe, multiverse, security
         Backports
         Third-party repositories
    Dependency hell

    Chintalagiri Shashank <chintal@iitk.ac.in>
Installing Linux
    Things you might need to know
         Partition tables and file systems
         Ext3 vs reiserfs vs …
         Root user
         GRUB
         Useful separate partitions
              /home – take your preferences and data with you
              /boot – keep your bootloader separate from the OS, ~50-100 MB
              /var or /srv – on servers
              /tmp
              Swap, swapfs, sharing swap.



    Chintalagiri Shashank <chintal@iitk.ac.in>
Distributions
    Repositories
    Distribution modifications
    Packages availability
    Stability and simplicity
    Management tools
    Update frequency
    Bleeding edge vs Stable

    Debian stable, unstable, experimental


    Chintalagiri Shashank <chintal@iitk.ac.in>
Installing Linux - Decisions
    Which Distribution?

    Partition Table
    GRUB, LILO, GRUB2
    GDM, KDM, XDM
    Desktop environments – KDE vs GNOME vs other




    Chintalagiri Shashank <chintal@iitk.ac.in>
Meet the terminal
    Shells – bash, ksh, …
    Virtual terminals, virtual desktops
    Terminal emulators – konsole, gnome-terminal, xterm,
     aterm …

    Tab completion
    Pipes, redirections
    Scripts
    Exit status


    Chintalagiri Shashank <chintal@iitk.ac.in>
Command Structure
    <command name> [options] <files>
    Options and switches – behavior modification
    -h, --help – prints out usage instructions
    Use man to get more details

    ls, mv, cp, man
    cat, grep, sed, awk




    Chintalagiri Shashank <chintal@iitk.ac.in>
Mounting Filesystems
    /dev
    mount –t [type] <device> <mountpoint>
    Mount permissions
    /etc/fstab
    /etc/mtab
    mount –o loop, loop mounting
    fuse mounting
         curlftpfs -o allow_other <ftp-address> <mountpoint>




    Chintalagiri Shashank <chintal@iitk.ac.in>
Network (debian and derivatives)
    Useful files :
         /etc/hostname
         /etc/network/interfaces
         /etc/resolv.conf
         /etc/hosts


    Useful commands :
         ifconfig, route, nslookup, ping, nmap
         ifup, ifdown
         /etc/init.d/networking


    Chintalagiri Shashank <chintal@iitk.ac.in>
X
    /etc/X11/xorg.conf – mostly obsolete
    xrandr
    (debian and derivatives) dpkg –reconfigure xserver-xorg
    Modelines, monitor resolutions
    glxinfo, glxgears




    Chintalagiri Shashank <chintal@iitk.ac.in>
Administration
    File permissions
         Owner, group, all
         Read, write, execute
         Chmod and chown
    Ports
         <1000 reserved for root
              80 : http, 81: https, 20: ftp, 22: ssh …
         Iptables and firestarter
    Daemons
         /etc/init.d/
    Users
         /etc/passwd

    Chintalagiri Shashank <chintal@iitk.ac.in>

Contenu connexe

Tendances

Tendances (20)

Linux Char Device Driver
Linux Char Device DriverLinux Char Device Driver
Linux Char Device Driver
 
Unix Operating System
Unix Operating SystemUnix Operating System
Unix Operating System
 
Linux File System
Linux File SystemLinux File System
Linux File System
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Tutorial 2
Tutorial 2Tutorial 2
Tutorial 2
 
UNIX Operating System ppt
UNIX Operating System pptUNIX Operating System ppt
UNIX Operating System ppt
 
Linux device driver
Linux device driverLinux device driver
Linux device driver
 
Linux history & features
Linux history & featuresLinux history & features
Linux history & features
 
Ch1 linux basics
Ch1 linux basicsCh1 linux basics
Ch1 linux basics
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
Linux IO
Linux IOLinux IO
Linux IO
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Host security
Host securityHost security
Host security
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Unix
UnixUnix
Unix
 
Linux fundamentals Training
Linux fundamentals TrainingLinux fundamentals Training
Linux fundamentals Training
 
Type of Embedded core
Type of Embedded core Type of Embedded core
Type of Embedded core
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Introduction to linux at Introductory Bioinformatics Workshop
Introduction to linux at Introductory Bioinformatics WorkshopIntroduction to linux at Introductory Bioinformatics Workshop
Introduction to linux at Introductory Bioinformatics Workshop
 
Linux Security
Linux SecurityLinux Security
Linux Security
 

En vedette

Bridging the Gaps : Electronic Interconnect Protocols
Bridging the Gaps : Electronic Interconnect ProtocolsBridging the Gaps : Electronic Interconnect Protocols
Bridging the Gaps : Electronic Interconnect ProtocolsShashank Chintalagiri
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 

En vedette (7)

Programming
ProgrammingProgramming
Programming
 
Roboclub, IITK (2008)
Roboclub, IITK (2008)Roboclub, IITK (2008)
Roboclub, IITK (2008)
 
Bridging the Gaps : Electronic Interconnect Protocols
Bridging the Gaps : Electronic Interconnect ProtocolsBridging the Gaps : Electronic Interconnect Protocols
Bridging the Gaps : Electronic Interconnect Protocols
 
Linux Community
Linux CommunityLinux Community
Linux Community
 
Pelizaeus–Merzbacher disease
Pelizaeus–Merzbacher diseasePelizaeus–Merzbacher disease
Pelizaeus–Merzbacher disease
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 

Similaire à Linux Philosophy & Internals Explained

Similaire à Linux Philosophy & Internals Explained (20)

Introduction to SELinux Part-I
Introduction to SELinux Part-IIntroduction to SELinux Part-I
Introduction to SELinux Part-I
 
Basics of Linux Commands, Git and Github
Basics of Linux Commands, Git and GithubBasics of Linux Commands, Git and Github
Basics of Linux Commands, Git and Github
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Linux filesystemhierarchy
Linux filesystemhierarchyLinux filesystemhierarchy
Linux filesystemhierarchy
 
.ppt
.ppt.ppt
.ppt
 
Security Walls in Linux Environment: Practice, Experience, and Results
Security Walls in Linux Environment: Practice, Experience, and ResultsSecurity Walls in Linux Environment: Practice, Experience, and Results
Security Walls in Linux Environment: Practice, Experience, and Results
 
Introduction to Unix
Introduction to UnixIntroduction to Unix
Introduction to Unix
 
Unix 3 en
Unix 3 enUnix 3 en
Unix 3 en
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
7 unixsecurity
7 unixsecurity7 unixsecurity
7 unixsecurity
 
CEHv10 M0 Introduction.pptx
CEHv10 M0 Introduction.pptxCEHv10 M0 Introduction.pptx
CEHv10 M0 Introduction.pptx
 
Visual comparison of Unix-like systems & Virtualisation
Visual comparison of Unix-like systems & VirtualisationVisual comparison of Unix-like systems & Virtualisation
Visual comparison of Unix-like systems & Virtualisation
 
Linux
LinuxLinux
Linux
 
淺談探索 Linux 系統設計之道
淺談探索 Linux 系統設計之道 淺談探索 Linux 系統設計之道
淺談探索 Linux 系統設計之道
 
Linux: Everyting-as-a-service
Linux: Everyting-as-a-serviceLinux: Everyting-as-a-service
Linux: Everyting-as-a-service
 
test
testtest
test
 
HeartBeat
HeartBeatHeartBeat
HeartBeat
 
How to Audit Linux - Gene Kartavtsev, ISACA MN
How to Audit Linux - Gene Kartavtsev, ISACA MNHow to Audit Linux - Gene Kartavtsev, ISACA MN
How to Audit Linux - Gene Kartavtsev, ISACA MN
 
Edubooktraining
EdubooktrainingEdubooktraining
Edubooktraining
 
linux
linuxlinux
linux
 

Plus de Shashank Chintalagiri

Plus de Shashank Chintalagiri (8)

Jugnu
JugnuJugnu
Jugnu
 
Notes on experimental methods for measure of viscosity on a falling ball
Notes on experimental methods for  measure of viscosity on a falling ballNotes on experimental methods for  measure of viscosity on a falling ball
Notes on experimental methods for measure of viscosity on a falling ball
 
Mechanosensitive Channel of Small Conductance (MscS)
Mechanosensitive Channel of Small Conductance (MscS)Mechanosensitive Channel of Small Conductance (MscS)
Mechanosensitive Channel of Small Conductance (MscS)
 
Intramembrane Proteases
Intramembrane ProteasesIntramembrane Proteases
Intramembrane Proteases
 
(2014) Quazar Data Acquisition Systems
(2014) Quazar Data Acquisition Systems (2014) Quazar Data Acquisition Systems
(2014) Quazar Data Acquisition Systems
 
Poster : STM/STS Techniques
Poster : STM/STS TechniquesPoster : STM/STS Techniques
Poster : STM/STS Techniques
 
Presentation : STM/STS Techniques
Presentation : STM/STS TechniquesPresentation : STM/STS Techniques
Presentation : STM/STS Techniques
 
Report : STM/STS Implementation
Report : STM/STS ImplementationReport : STM/STS Implementation
Report : STM/STS Implementation
 

Dernier

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Dernier (20)

Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Linux Philosophy & Internals Explained

  • 1. Linux Philosophy & Internals Chintalagiri Shashank chintal@iitk.ac.in
  • 2. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.5 India License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/in/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Chintalagiri Shashank <chintal@iitk.ac.in>
  • 3. Series Agenda  Philosophy and Architecture  Free Software and Software Freedoms  Free Software Licenses  Anatomy of the Linux Operating System  Kernel-space  Files and Filesystems  User-space Applications  Application / package management  Linux system administration (or, installing and using linux)  More about linux Chintalagiri Shashank <chintal@iitk.ac.in>
  • 4. Free Software and Software Freedom  What Freedom?  Why Freedom?  _Whose_ Freedom? Chintalagiri Shashank <chintal@iitk.ac.in>
  • 5. Software Freedom & licenses  (a very brief) History of Software licenses  ‘Ownership’ of Software  Richard Stallman and the GNU GPL  Copyleft  Open Source  Show me the code.  Give me the code.  Let me do what I want with the code. Chintalagiri Shashank <chintal@iitk.ac.in>
  • 6. Anatomy of the linux operating system  Kernel-space vs User-space.  What is the ‘Operating System’?  What is ‘Linux’?  GNU/Linux As an aside,  GNU Herd  BSDs  UNIXes and POSIX compliance  Windows Chintalagiri Shashank <chintal@iitk.ac.in>
  • 7. Kernel Space  What is the kernel  Designed capabilities of the kernel - What it does and what it doesn’t  Hardware drivers  System calls  FUSE  ‘Binary blobs’, protection of freedom, and why linux graphics drivers suck.  Modularity  Linus’ Branch Chintalagiri Shashank <chintal@iitk.ac.in>
  • 8. Files and filesystems  Everything is a file  Hierarchical filesystems  /  /boot  /bin  /etc  /usr  /var  /tmp  /home Chintalagiri Shashank <chintal@iitk.ac.in>
  • 9. Files and Filesystems  Mounting stuff  /mnt  multiple filesystem support  Ext2, ext3, ext4, reiserfs, xfs, jfs, ntfs, fat, cdfs, ….  FUSE – filesystems in userspace  Network resources. Smbfs, curlftpfs, …  Loop mounting Chintalagiri Shashank <chintal@iitk.ac.in>
  • 10. User-space Applications  Command line centric – Graphical applications build on command line functionality  The X Window System  Window Managers – Metacity, Kwin, twm, etc  Desktop Environments – GNOME, KDE, XFCE, etc. Chintalagiri Shashank <chintal@iitk.ac.in>
  • 11. User-space Applications  Scriptability  Human readable configuration files  Human editable configuration files  Do you _need_ to ever see the command line?  Eye candy and visual effects – Compiz fusion and Kwin  Libraries & toolkits – GTK, Qt (widget toolkits)  Niche software and the supply-demand problem  Standards. Standards compliance.  Some applications are compilant.  Some are not. Chintalagiri Shashank <chintal@iitk.ac.in>
  • 12. Installing programs  /usr/bin  /usr/share/doc  /etc  ~/.<program>  Dependencies  Packages - .deb, .rpm, ebuilds, …  Compiling from source  ./configure; make; make install  Development headers - *-dev, *-devel  Static linking, dynamic linking, lib versions Chintalagiri Shashank <chintal@iitk.ac.in>
  • 13. Package Management  Aptitude, Yum, Yast  Synaptic, Adept  User permissions, privileges.  Root, sudo, and su.  Repositories  (Debian based) - Main, universe, multiverse, security  Backports  Third-party repositories  Dependency hell Chintalagiri Shashank <chintal@iitk.ac.in>
  • 14. Installing Linux  Things you might need to know  Partition tables and file systems  Ext3 vs reiserfs vs …  Root user  GRUB  Useful separate partitions  /home – take your preferences and data with you  /boot – keep your bootloader separate from the OS, ~50-100 MB  /var or /srv – on servers  /tmp  Swap, swapfs, sharing swap. Chintalagiri Shashank <chintal@iitk.ac.in>
  • 15. Distributions  Repositories  Distribution modifications  Packages availability  Stability and simplicity  Management tools  Update frequency  Bleeding edge vs Stable  Debian stable, unstable, experimental Chintalagiri Shashank <chintal@iitk.ac.in>
  • 16. Installing Linux - Decisions  Which Distribution?  Partition Table  GRUB, LILO, GRUB2  GDM, KDM, XDM  Desktop environments – KDE vs GNOME vs other Chintalagiri Shashank <chintal@iitk.ac.in>
  • 17. Meet the terminal  Shells – bash, ksh, …  Virtual terminals, virtual desktops  Terminal emulators – konsole, gnome-terminal, xterm, aterm …  Tab completion  Pipes, redirections  Scripts  Exit status Chintalagiri Shashank <chintal@iitk.ac.in>
  • 18. Command Structure  <command name> [options] <files>  Options and switches – behavior modification  -h, --help – prints out usage instructions  Use man to get more details  ls, mv, cp, man  cat, grep, sed, awk Chintalagiri Shashank <chintal@iitk.ac.in>
  • 19. Mounting Filesystems  /dev  mount –t [type] <device> <mountpoint>  Mount permissions  /etc/fstab  /etc/mtab  mount –o loop, loop mounting  fuse mounting  curlftpfs -o allow_other <ftp-address> <mountpoint> Chintalagiri Shashank <chintal@iitk.ac.in>
  • 20. Network (debian and derivatives)  Useful files :  /etc/hostname  /etc/network/interfaces  /etc/resolv.conf  /etc/hosts  Useful commands :  ifconfig, route, nslookup, ping, nmap  ifup, ifdown  /etc/init.d/networking Chintalagiri Shashank <chintal@iitk.ac.in>
  • 21. X  /etc/X11/xorg.conf – mostly obsolete  xrandr  (debian and derivatives) dpkg –reconfigure xserver-xorg  Modelines, monitor resolutions  glxinfo, glxgears Chintalagiri Shashank <chintal@iitk.ac.in>
  • 22. Administration  File permissions  Owner, group, all  Read, write, execute  Chmod and chown  Ports  <1000 reserved for root  80 : http, 81: https, 20: ftp, 22: ssh …  Iptables and firestarter  Daemons  /etc/init.d/  Users  /etc/passwd Chintalagiri Shashank <chintal@iitk.ac.in>