Upload
trannhi
View
226
Download
1
Embed Size (px)
Citation preview
Introducing Linux Distros
Jose Dieguez Castro A Coruña Spain
ISBN-13 (pbk): 978-1-4842-1393-3 ISBN-13 (electronic): 978-1-4842-1392-6DOI 10.1007/978-1-4842-1392-6
Library of Congress Control Number: 2016943372
Copyright © 2016 by Jose Dieguez Castro
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.
Managing Director: Welmoed SpahrAcquistions Editor: Louise CorriganDevelopment Editor: Gary SchwartzTechnical Reviewer: Brandon ScottEditorial Board: Steve Anglin, Pramila Balen, Louise Corrigan, James DeWolf, Jonathan Gennick,
Robert Hutchinson, Celestin Suresh John, Nikhil Karkal, James Markham, Susan McDermott, Matthew Moodie, Douglas Pundick, Ben Renow-Clarke, Gwenan Spearing, Matt Wade
Coordinating Editor: Nancy ChenCopy Editor: Mary BehrCompositor: SPi GlobalIndexer: SPi Global
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected] , or visit www.springer.com . Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail [email protected] , or visit www.apress.com .
Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales .
Any source code or other supplementary materials referenced by the author in this text is available to readers at www.apress.com . For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/ .
Printed on acid-free paper
To those who share their time, effort, and work with all of us to make the world a better place, free software is only the beginning.
v
Contents at a Glance
About the Author ��������������������������������������������������������������������������������������������������xxiii
About the Technical Reviewer �������������������������������������������������������������������������������xxv
Acknowledgments �����������������������������������������������������������������������������������������������xxvii
Introduction ����������������������������������������������������������������������������������������������������������xxix
■Part 1: Linux Distros ��������������������������������������������������������������������������� 1
■Chapter 1: Deconstructing a Linux Distro �������������������������������������������������������������� 3
■Chapter 2: Linux Distro Selection Criteria ����������������������������������������������������������� 17
■Chapter 3: The Linux Distro Family Tree �������������������������������������������������������������� 33
■Part 2: General Purpose Distros ������������������������������������������������������� 45
■Chapter 4: Ubuntu ������������������������������������������������������������������������������������������������ 47
■Chapter 5: Fedora ������������������������������������������������������������������������������������������������ 73
■Chapter 6: Debian ���������������������������������������������������������������������������������������������� 105
■Chapter 7: openSUSE ����������������������������������������������������������������������������������������� 137
■Chapter 8: Linux Mint ���������������������������������������������������������������������������������������� 163
■Chapter 9: Mageia ��������������������������������������������������������������������������������������������� 189
■Chapter 10: elementary OS �������������������������������������������������������������������������������� 223
■Chapter 11: Arch Linux �������������������������������������������������������������������������������������� 235
■Chapter 12: Gentoo Linux ���������������������������������������������������������������������������������� 253
■ Contents at a GlanCe
vi
■Chapter 13: Slackware �������������������������������������������������������������������������������������� 273
■Chapter 14: NixOS ���������������������������������������������������������������������������������������������� 301
■Chapter 15: Other Alternatives �������������������������������������������������������������������������� 329
■Part 3: Task-Oriented Distros ������������������������������������������������������������������ 343
■Chapter 16: Task-Oriented Distros �������������������������������������������������������������������� 345
Index ��������������������������������������������������������������������������������������������������������������������� 357
vii
Contents
About the Author ��������������������������������������������������������������������������������������������������xxiii
About the Technical Reviewer �������������������������������������������������������������������������������xxv
Acknowledgments �����������������������������������������������������������������������������������������������xxvii
Introduction ����������������������������������������������������������������������������������������������������������xxix
■Part 1: Linux Distros ��������������������������������������������������������������������������� 1
■Chapter 1: Deconstructing a Linux Distro �������������������������������������������������������������� 3
Linux Distro ���������������������������������������������������������������������������������������������������������������������� 4
The Origin of Linux ����������������������������������������������������������������������������������������������������������� 5
GNU Project �������������������������������������������������������������������������������������������������������������������� 10
The Birth of Linux Distros ����������������������������������������������������������������������������������������������� 13
Why So Many Distros? ��������������������������������������������������������������������������������������������������� 13
Do I Have to Choose One? Aren’t They All the Same? ���������������������������������������������������� 15
Summary ������������������������������������������������������������������������������������������������������������������������ 15
■Chapter 2: Linux Distro Selection Criteria ����������������������������������������������������������� 17
Factors to Consider when Choosing a Linux Distro �������������������������������������������������������� 18
General Purpose ����������������������������������������������������������������������������������������������������������������������������������� 19
Task-Oriented ��������������������������������������������������������������������������������������������������������������������������������������� 19
Environment ����������������������������������������������������������������������������������������������������������������������������������������� 20
Support ������������������������������������������������������������������������������������������������������������������������������������������������� 21
User Friendly ���������������������������������������������������������������������������������������������������������������������������������������� 22
Stability ������������������������������������������������������������������������������������������������������������������������������������������������� 23
Hardware Support �������������������������������������������������������������������������������������������������������������������������������� 24
■ Contents
viii
Aesthetics ��������������������������������������������������������������������������������������������������������������������������������������������� 25
Desktop Environment ��������������������������������������������������������������������������������������������������������������������������� 25
Init System �������������������������������������������������������������������������������������������������������������������������������������������� 26
Package Management System ������������������������������������������������������������������������������������������������������������� 27
Architecture ������������������������������������������������������������������������������������������������������������������������������������������ 28
Security/Anonymity ������������������������������������������������������������������������������������������������������������������������������ 29
Principles/Ethics ����������������������������������������������������������������������������������������������������������������������������������� 29
Live CD �������������������������������������������������������������������������������������������������������������������������������������������������� 30
Professional Certification ��������������������������������������������������������������������������������������������������������������������� 30
Linux Standard Base ������������������������������������������������������������������������������������������������������ 31
Summary ������������������������������������������������������������������������������������������������������������������������ 32
■Chapter 3: The Linux Distro Family Tree �������������������������������������������������������������� 33
Linux Distro Genealogy ��������������������������������������������������������������������������������������������������� 34
1991-1995: The Big Bang ����������������������������������������������������������������������������������������������� 36
1996-2005: The Expansion of the Linux Universe ���������������������������������������������������������� 39
Red Hat ������������������������������������������������������������������������������������������������������������������������������������������������� 39
SUSE ����������������������������������������������������������������������������������������������������������������������������������������������������� 40
Debian �������������������������������������������������������������������������������������������������������������������������������������������������� 40
Originals ����������������������������������������������������������������������������������������������������������������������������������������������� 40
Slackware ��������������������������������������������������������������������������������������������������������������������������������������������� 41
2006-2015: The Consolidation—A Few Stars, Many Planets ����������������������������������������� 44
Summary ������������������������������������������������������������������������������������������������������������������������ 44
■Part 2: General Purpose Distros ������������������������������������������������������� 45Why Only These Particular Distros? ������������������������������������������������������������������������������� 45
■Chapter 4: Ubuntu ������������������������������������������������������������������������������������������������ 47
History ���������������������������������������������������������������������������������������������������������������������������� 47
Criticism and Controversy ���������������������������������������������������������������������������������������������� 48
Philosophy ���������������������������������������������������������������������������������������������������������������������� 48
■ Contents
ix
Distro Selection Criteria ������������������������������������������������������������������������������������������������� 49
Purpose and Environment �������������������������������������������������������������������������������������������������������������������� 49
Support ������������������������������������������������������������������������������������������������������������������������������������������������� 49
User Friendliness ���������������������������������������������������������������������������������������������������������������������������������� 50
Stability ������������������������������������������������������������������������������������������������������������������������������������������������� 50
Hardware Support �������������������������������������������������������������������������������������������������������������������������������� 50
Aesthetics ��������������������������������������������������������������������������������������������������������������������������������������������� 51
Desktop Environment ��������������������������������������������������������������������������������������������������������������������������� 51
Init System �������������������������������������������������������������������������������������������������������������������������������������������� 51
Package Management System ������������������������������������������������������������������������������������������������������������� 51
Architecture ������������������������������������������������������������������������������������������������������������������������������������������ 52
Security/Anonymity ������������������������������������������������������������������������������������������������������������������������������ 52
Principles and Ethics ���������������������������������������������������������������������������������������������������������������������������� 52
Live CD �������������������������������������������������������������������������������������������������������������������������������������������������� 53
Professional Certification ��������������������������������������������������������������������������������������������������������������������� 53
Installation ���������������������������������������������������������������������������������������������������������������������� 53
Maintenance ������������������������������������������������������������������������������������������������������������������� 68
Updating ����������������������������������������������������������������������������������������������������������������������������������������������� 69
Managing Apps ������������������������������������������������������������������������������������������������������������������������������������� 69
Upgrading ��������������������������������������������������������������������������������������������������������������������������������������������� 71
Pros and Cons ���������������������������������������������������������������������������������������������������������������� 71
Pros ������������������������������������������������������������������������������������������������������������������������������������������������������ 72
Cons ������������������������������������������������������������������������������������������������������������������������������������������������������ 72
Summary ������������������������������������������������������������������������������������������������������������������������ 72
■Chapter 5: Fedora ������������������������������������������������������������������������������������������������ 73
History ���������������������������������������������������������������������������������������������������������������������������� 73
Philosophy ���������������������������������������������������������������������������������������������������������������������� 73
Distro Selection Criteria ������������������������������������������������������������������������������������������������� 74
Purpose and Environment �������������������������������������������������������������������������������������������������������������������� 74
Support ������������������������������������������������������������������������������������������������������������������������������������������������� 74
■ Contents
x
User Friendliness ���������������������������������������������������������������������������������������������������������������������������������� 75
Stability ������������������������������������������������������������������������������������������������������������������������������������������������� 75
Hardware Support �������������������������������������������������������������������������������������������������������������������������������� 75
Aesthetics ��������������������������������������������������������������������������������������������������������������������������������������������� 75
Desktop Environment ��������������������������������������������������������������������������������������������������������������������������� 76
Init System �������������������������������������������������������������������������������������������������������������������������������������������� 76
Package Management System ������������������������������������������������������������������������������������������������������������� 76
Architecture ������������������������������������������������������������������������������������������������������������������������������������������ 76
Security/Anonymity ������������������������������������������������������������������������������������������������������������������������������ 76
Principles and Ethics ���������������������������������������������������������������������������������������������������������������������������� 77
Live CD �������������������������������������������������������������������������������������������������������������������������������������������������� 77
Professional Certification ��������������������������������������������������������������������������������������������������������������������� 77
Installation ���������������������������������������������������������������������������������������������������������������������� 77
Maintenance ������������������������������������������������������������������������������������������������������������������� 99
Managing Apps ������������������������������������������������������������������������������������������������������������������������������������� 99
Updating ��������������������������������������������������������������������������������������������������������������������������������������������� 100
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 101
Pros and Cons �������������������������������������������������������������������������������������������������������������� 102
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 103
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 103
Summary ���������������������������������������������������������������������������������������������������������������������� 103
■Chapter 6: Debian ���������������������������������������������������������������������������������������������� 105
History �������������������������������������������������������������������������������������������������������������������������� 105
Philosophy �������������������������������������������������������������������������������������������������������������������� 106
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 106
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 106
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 107
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 107
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 107
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 108
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 108
■ Contents
xi
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 108
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 109
Package Management System ����������������������������������������������������������������������������������������������������������� 109
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 109
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 109
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 109
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 110
Professional Certification ������������������������������������������������������������������������������������������������������������������� 110
Installation �������������������������������������������������������������������������������������������������������������������� 110
Maintenance ����������������������������������������������������������������������������������������������������������������� 133
Managing Apps ����������������������������������������������������������������������������������������������������������������������������������� 133
Updating ��������������������������������������������������������������������������������������������������������������������������������������������� 133
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 134
Pros and Cons �������������������������������������������������������������������������������������������������������������� 134
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 134
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 135
Summary ���������������������������������������������������������������������������������������������������������������������� 135
■Chapter 7: openSUSE ����������������������������������������������������������������������������������������� 137
History �������������������������������������������������������������������������������������������������������������������������� 137
Philosophy �������������������������������������������������������������������������������������������������������������������� 137
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 138
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 138
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 138
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 138
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 139
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 139
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 139
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 139
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 139
Package Management System ����������������������������������������������������������������������������������������������������������� 139
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 140
■ Contents
xii
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 140
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 140
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 140
Professional Certification ������������������������������������������������������������������������������������������������������������������� 140
Installation �������������������������������������������������������������������������������������������������������������������� 140
Maintenance ����������������������������������������������������������������������������������������������������������������� 159
Updating and Managing Apps ������������������������������������������������������������������������������������������������������������� 159
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 161
Pros and Cons �������������������������������������������������������������������������������������������������������������� 161
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 161
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 161
Summary ���������������������������������������������������������������������������������������������������������������������� 162
■Chapter 8: Linux Mint ���������������������������������������������������������������������������������������� 163
History �������������������������������������������������������������������������������������������������������������������������� 163
Philosophy �������������������������������������������������������������������������������������������������������������������� 163
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 164
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 164
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 164
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 164
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 165
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 165
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 165
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 165
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 165
Package Management System ����������������������������������������������������������������������������������������������������������� 166
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 166
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 166
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 166
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 166
Professional Certification ������������������������������������������������������������������������������������������������������������������� 166
■ Contents
xiii
Installation �������������������������������������������������������������������������������������������������������������������� 166
Maintenance ����������������������������������������������������������������������������������������������������������������� 184
Managing Apps ����������������������������������������������������������������������������������������������������������������������������������� 184
Updating and Upgrading ��������������������������������������������������������������������������������������������������������������������� 185
Pros and Cons �������������������������������������������������������������������������������������������������������������� 187
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 188
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 188
Summary ���������������������������������������������������������������������������������������������������������������������� 188
■Chapter 9: Mageia ��������������������������������������������������������������������������������������������� 189
History �������������������������������������������������������������������������������������������������������������������������� 189
Philosophy �������������������������������������������������������������������������������������������������������������������� 189
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 190
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 190
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 190
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 190
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 190
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 191
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 191
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 191
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 191
Package Management System ����������������������������������������������������������������������������������������������������������� 191
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 191
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 191
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 192
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 192
Professional Certification ������������������������������������������������������������������������������������������������������������������� 192
Installation �������������������������������������������������������������������������������������������������������������������� 192
Maintenance ����������������������������������������������������������������������������������������������������������������� 218
Updating and Managing Apps ������������������������������������������������������������������������������������������������������������� 218
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 220
■ Contents
xiv
Pros and Cons �������������������������������������������������������������������������������������������������������������� 221
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 221
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 222
Summary ���������������������������������������������������������������������������������������������������������������������� 222
■Chapter 10: elementary OS �������������������������������������������������������������������������������� 223
History �������������������������������������������������������������������������������������������������������������������������� 223
Philosophy �������������������������������������������������������������������������������������������������������������������� 223
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 224
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 224
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 224
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 224
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 225
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 225
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 225
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 229
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 229
Package Management System ����������������������������������������������������������������������������������������������������������� 229
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 230
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 230
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 230
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 230
Professional Certification ������������������������������������������������������������������������������������������������������������������� 230
Installation �������������������������������������������������������������������������������������������������������������������� 230
Maintenance ����������������������������������������������������������������������������������������������������������������� 232
Updating and Managing Apps ������������������������������������������������������������������������������������������������������������� 232
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 232
Pros and Cons �������������������������������������������������������������������������������������������������������������� 233
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 233
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 233
Summary ���������������������������������������������������������������������������������������������������������������������� 233
■ Contents
xv
■Chapter 11: Arch Linux �������������������������������������������������������������������������������������� 235
History �������������������������������������������������������������������������������������������������������������������������� 235
Philosophy �������������������������������������������������������������������������������������������������������������������� 235
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 236
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 236
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 236
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 236
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 237
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 237
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 237
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 238
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 238
Package Management System ����������������������������������������������������������������������������������������������������������� 238
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 238
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 239
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 239
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 239
Professional Certification ������������������������������������������������������������������������������������������������������������������� 239
Installation �������������������������������������������������������������������������������������������������������������������� 239
Maintenance ����������������������������������������������������������������������������������������������������������������� 251
Managing Apps and Updating ������������������������������������������������������������������������������������������������������������� 251
Pros and Cons �������������������������������������������������������������������������������������������������������������� 252
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 252
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 252
Summary ���������������������������������������������������������������������������������������������������������������������� 252
■ Contents
xvi
■Chapter 12: Gentoo Linux ���������������������������������������������������������������������������������� 253
History �������������������������������������������������������������������������������������������������������������������������� 253
Philosophy �������������������������������������������������������������������������������������������������������������������� 254
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 254
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 254
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 254
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 255
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 255
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 255
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 255
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 256
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 256
Package Management System ����������������������������������������������������������������������������������������������������������� 256
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 257
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 257
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 258
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 258
Professional Certification ������������������������������������������������������������������������������������������������������������������� 258
Installation �������������������������������������������������������������������������������������������������������������������� 258
Maintenance ����������������������������������������������������������������������������������������������������������������� 270
Updating and Managing Apps ������������������������������������������������������������������������������������������������������������� 270
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 271
Pros and Cons �������������������������������������������������������������������������������������������������������������� 271
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 272
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 272
Summary ���������������������������������������������������������������������������������������������������������������������� 272
■Chapter 13: Slackware �������������������������������������������������������������������������������������� 273
History �������������������������������������������������������������������������������������������������������������������������� 273
Philosophy �������������������������������������������������������������������������������������������������������������������� 273
■ Contents
xvii
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 274
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 274
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 274
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 275
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 275
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 275
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 275
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 275
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 275
Package Management System ����������������������������������������������������������������������������������������������������������� 275
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 276
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 276
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 276
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 276
Professional Certification ������������������������������������������������������������������������������������������������������������������� 276
Installation �������������������������������������������������������������������������������������������������������������������� 276
Maintenance ����������������������������������������������������������������������������������������������������������������� 296
Managing Apps and Updating ������������������������������������������������������������������������������������������������������������� 296
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 298
Pros and Cons �������������������������������������������������������������������������������������������������������������� 298
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 298
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 298
Summary ���������������������������������������������������������������������������������������������������������������������� 299
■Chapter 14: NixOS ���������������������������������������������������������������������������������������������� 301
History �������������������������������������������������������������������������������������������������������������������������� 301
Philosophy �������������������������������������������������������������������������������������������������������������������� 302
Distro Selection Criteria ����������������������������������������������������������������������������������������������� 302
Purpose and Environment ������������������������������������������������������������������������������������������������������������������ 302
Support ����������������������������������������������������������������������������������������������������������������������������������������������� 302
User Friendliness �������������������������������������������������������������������������������������������������������������������������������� 303
■ Contents
xviii
Stability ����������������������������������������������������������������������������������������������������������������������������������������������� 303
Hardware Support ������������������������������������������������������������������������������������������������������������������������������ 303
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 303
Desktop Environment ������������������������������������������������������������������������������������������������������������������������� 303
Init System ������������������������������������������������������������������������������������������������������������������������������������������ 304
Package Management System ����������������������������������������������������������������������������������������������������������� 304
Architecture ���������������������������������������������������������������������������������������������������������������������������������������� 307
Security/Anonymity ���������������������������������������������������������������������������������������������������������������������������� 307
Principles and Ethics �������������������������������������������������������������������������������������������������������������������������� 307
Live CD ������������������������������������������������������������������������������������������������������������������������������������������������ 307
Professional Certification ������������������������������������������������������������������������������������������������������������������� 307
Installation �������������������������������������������������������������������������������������������������������������������� 307
Maintenance ����������������������������������������������������������������������������������������������������������������� 325
Managing Apps ����������������������������������������������������������������������������������������������������������������������������������� 325
Updating ��������������������������������������������������������������������������������������������������������������������������������������������� 325
Upgrading ������������������������������������������������������������������������������������������������������������������������������������������� 326
Pros and Cons �������������������������������������������������������������������������������������������������������������� 326
Pros ���������������������������������������������������������������������������������������������������������������������������������������������������� 326
Cons ���������������������������������������������������������������������������������������������������������������������������������������������������� 327
Summary ���������������������������������������������������������������������������������������������������������������������� 327
■Chapter 15: Other Alternatives �������������������������������������������������������������������������� 329
Zorin OS ������������������������������������������������������������������������������������������������������������������������ 329
Trisquel ������������������������������������������������������������������������������������������������������������������������� 330
PCLinuxOS �������������������������������������������������������������������������������������������������������������������� 331
Manjaro ������������������������������������������������������������������������������������������������������������������������ 332
Antergos ����������������������������������������������������������������������������������������������������������������������� 333
Sabayon������������������������������������������������������������������������������������������������������������������������ 334
GoboLinux ��������������������������������������������������������������������������������������������������������������������� 335
Qubes OS ���������������������������������������������������������������������������������������������������������������������� 336
■ Contents
xix
Solus ���������������������������������������������������������������������������������������������������������������������������� 337
Void Linux ��������������������������������������������������������������������������������������������������������������������� 338
Alpine ��������������������������������������������������������������������������������������������������������������������������� 339
Stali ������������������������������������������������������������������������������������������������������������������������������ 340
LFS ������������������������������������������������������������������������������������������������������������������������������� 341
Summary ���������������������������������������������������������������������������������������������������������������������� 342
■Part 3: Task-Oriented Distros ��������������������������������������������������������� 343
■Chapter 16: Task-Oriented Distros �������������������������������������������������������������������� 345
Mobility and IoT (Internet of Things) ����������������������������������������������������������������������������� 345
Android ����������������������������������������������������������������������������������������������������������������������������������������������� 345
Ubuntu Phone/Tablet/IoT �������������������������������������������������������������������������������������������������������������������� 345
Sailfish OS ������������������������������������������������������������������������������������������������������������������������������������������ 345
Firefox OS ������������������������������������������������������������������������������������������������������������������������������������������� 346
Cloud-Centered Operating Systems ����������������������������������������������������������������������������� 346
Chrome OS/Chromium OS ������������������������������������������������������������������������������������������������������������������ 346
Cub Linux �������������������������������������������������������������������������������������������������������������������������������������������� 346
Router Distros �������������������������������������������������������������������������������������������������������������� 346
OpenWrt ���������������������������������������������������������������������������������������������������������������������������������������������� 346
Zeroshell ��������������������������������������������������������������������������������������������������������������������������������������������� 346
RouterOS �������������������������������������������������������������������������������������������������������������������������������������������� 347
Embedded Systems and CNC ��������������������������������������������������������������������������������������� 347
KaeilOS ����������������������������������������������������������������������������������������������������������������������������������������������� 347
LinuxCNC �������������������������������������������������������������������������������������������������������������������������������������������� 347
Storage / NAS ��������������������������������������������������������������������������������������������������������������� 347
Rockstor ��������������������������������������������������������������������������������������������������������������������������������������������� 347
OpenMediaVault ���������������������������������������������������������������������������������������������������������������������������������� 347
Enterprise Server and Thin Client ��������������������������������������������������������������������������������� 348
ClearOS ����������������������������������������������������������������������������������������������������������������������������������������������� 348
Zentyal Server ������������������������������������������������������������������������������������������������������������������������������������ 348
■ Contents
xx
Univention Corporate Server��������������������������������������������������������������������������������������������������������������� 348
NethServer ������������������������������������������������������������������������������������������������������������������������������������������ 348
Thinstation ������������������������������������������������������������������������������������������������������������������������������������������ 348
Telephony ��������������������������������������������������������������������������������������������������������������������� 348
AsteriskNOW ��������������������������������������������������������������������������������������������������������������������������������������� 348
Elastix ������������������������������������������������������������������������������������������������������������������������������������������������� 349
System Troubleshooting ����������������������������������������������������������������������������������������������� 349
GParted Live ��������������������������������������������������������������������������������������������������������������������������������������� 349
SystemRescueCD ������������������������������������������������������������������������������������������������������������������������������� 349
Grml ���������������������������������������������������������������������������������������������������������������������������������������������������� 349
Rescatux ��������������������������������������������������������������������������������������������������������������������������������������������� 349
Clonezilla Live ������������������������������������������������������������������������������������������������������������������������������������� 349
Redo Backup and Recovery ���������������������������������������������������������������������������������������������������������������� 349
Security and Anonymity������������������������������������������������������������������������������������������������ 350
Kali Linux �������������������������������������������������������������������������������������������������������������������������������������������� 350
BackBox Linux ������������������������������������������������������������������������������������������������������������������������������������ 350
Fedora Security Lab ���������������������������������������������������������������������������������������������������������������������������� 350
BlackArch ������������������������������������������������������������������������������������������������������������������������������������������� 350
Parrot Security OS ������������������������������������������������������������������������������������������������������������������������������ 350
Wifislax ����������������������������������������������������������������������������������������������������������������������������������������������� 350
Tails ���������������������������������������������������������������������������������������������������������������������������������������������������� 350
Whonix ������������������������������������������������������������������������������������������������������������������������������������������������ 351
CAINE �������������������������������������������������������������������������������������������������������������������������������������������������� 351
DEFT ��������������������������������������������������������������������������������������������������������������������������������������������������� 351
IPFire �������������������������������������������������������������������������������������������������������������������������������������������������� 351
Untangle NG Firewall �������������������������������������������������������������������������������������������������������������������������� 351
Endian Firewall ����������������������������������������������������������������������������������������������������������������������������������� 351
SELKS ������������������������������������������������������������������������������������������������������������������������������������������������� 351
REMnux����������������������������������������������������������������������������������������������������������������������������������������������� 351
■ Contents
xxi
Old Computers �������������������������������������������������������������������������������������������������������������� 352
Puppy Linux ���������������������������������������������������������������������������������������������������������������������������������������� 352
Tiny Core Linux ����������������������������������������������������������������������������������������������������������������������������������� 352
LXLE ���������������������������������������������������������������������������������������������������������������������������������������������������� 352
Science ������������������������������������������������������������������������������������������������������������������������� 352
Scientific Linux ����������������������������������������������������������������������������������������������������������������������������������� 352
Bio-Linux �������������������������������������������������������������������������������������������������������������������������������������������� 352
Fedora Scientific ��������������������������������������������������������������������������������������������������������������������������������� 352
Education ��������������������������������������������������������������������������������������������������������������������� 353
Edubuntu �������������������������������������������������������������������������������������������������������������������������������������������� 353
UberStudent ���������������������������������������������������������������������������������������������������������������������������������������� 353
DebianEdu ������������������������������������������������������������������������������������������������������������������������������������������ 353
Home Theater and Audiophile Systems ������������������������������������������������������������������������ 353
Mythbuntu ������������������������������������������������������������������������������������������������������������������������������������������ 353
OpenELEC ������������������������������������������������������������������������������������������������������������������������������������������� 353
OSMC �������������������������������������������������������������������������������������������������������������������������������������������������� 354
Rune Audio ����������������������������������������������������������������������������������������������������������������������������������������� 354
Volumio ����������������������������������������������������������������������������������������������������������������������������������������������� 354
Gaming ������������������������������������������������������������������������������������������������������������������������� 354
SteamOS ��������������������������������������������������������������������������������������������������������������������������������������������� 354
Fedora Games Spin ���������������������������������������������������������������������������������������������������������������������������� 354
Multimedia and Arts ����������������������������������������������������������������������������������������������������� 354
Ubuntu Studio ������������������������������������������������������������������������������������������������������������������������������������� 354
Fedora Design Suite ��������������������������������������������������������������������������������������������������������������������������� 355
Summary ���������������������������������������������������������������������������������������������������������������������� 355
Index ��������������������������������������������������������������������������������������������������������������������� 357
xxiii
About the Author
Jose Dieguez Castro is a senior systems administrator currently working as a freelance consultant. Joe has worked on a wide range of projects from small to large infrastructures in both the private and public sector. When asked about his specialty, he answers, “Getting the job done.” He also likes to think of himself as a developer who cares too much about free software. Photography, sports, music, and reading are the way he frees his mind from work. He can be reached at [email protected] .
xxv
About the Technical Reviewer
Brandon Scott specializes in software engineering for desktop applications, software development kits, and distributed systems. He currently leads the development efforts for AspiraCloud Ltd., focusing on Microsoft SharePoint and Azure workstreams. Additionally, Brandon also partners with Razer Inc., aiding with the design of SDK products and open source libraries. He built his experience working for a variety of companies in different industries, such as JPMorgan Chase & Co. and Microsoft.
xxvii
Acknowledgments
First of all, my thanks go to Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas Mcllroy, and Joe Ossanna for UNIX. Thanks to Richard Matthew Stallman for the GNU Project, the Free Software Foundation, Emacs, and the Free Software movement. Thanks to Linus Torvalds for the Linux kernel. And thanks to all of the corporations and community developers that for years have contributed to the development, documentation, and adoption of the Linux operating system and its distributions. These people not only helped to create the Linux ecosystem, but they also helped to make the world a better place for sure. Without all of these individuals, this book would never have been possible.
Thanks to my family and friends for their unconditional love and support. Thanks also to the Apress team, especially Louise Corrigan, who convinced me to write this book;
Nancy Chen and Jill Balzano, for their patience and hard work in coordinating this book; my editors, Gary Schwartz and James Markham, who were kind enough to deal with my broken English; and my technical reviewer, Brandon Scott, for righting my wrongs.
Most of all, my thanks go to you, the reader, for taking the trouble and using your valuable time to read this book.
xxix
Introduction
What is a Linux distro? Why are there so many of them? Which one should I choose? Which one is the best? Why are they so hard to use? Why are they so ugly? Do I have to manage all of this with text commands?
If you tried to answer these questions by yourself, or sought help from others, you probably did not get a clear answer—or maybe you received several contradictory ones. The truth is that no unique answer exists for many of these questions. If you want to deal with the huge jungle of Linux distros, you need to get some things clear first. You have to learn the basic concepts and then isolate some objective facts to make an informed decision.
In this book, I show you what makes up a Linux distribution. Before that, however, I guide you through a journey in time to explore the origins of Linux itself and of free software. It’s easier to understand the concepts behind a Linux distro once you know how it all began. Next, I point you to the fundamental criteria that you must consider in order to compare and choose a Linux distro. I point out which of these criteria are based on relative or absolute concepts and which are simply personal preferences. Finally, to understand why Linux has a plethora of distros instead of just a few versions like other popular operating systems, I show you the family tree of Linux distros; there are only a handful of original distros but myriad relatives.
The core of this book is the detailed analysis of ten Linux distributions, from the most popular to the most innovative. I chose them to show you a variety of distros and how they can be so similar and yet so different, from the ones suited for Linux novices to the ones tailored for Linux experts. I show you the criteria that you need to consider for each distro, and a compilation of the pros and cons of each. Even when I try to be objective, it is inevitable that here and there I introduce some personal viewpoints, but you should take into consideration only the cold facts to make your own decision; your needs and mine might be completely different.
I also show you how to install and conduct basic maintenance tasks for each Linux distro. Don’t get me wrong; I do not pretend here to instruct you on how to install and administrate a Linux distro in a professional setting; that would take another book. I have two purposes here. The first one is to give you a hint of what are you going to find in each distribution and how they differ, and a book like this one is a good way to gain that knowledge. The other purpose is to debunk the rumors that Linux is very hard to install, use, and maintain; in fact, there are many friendly distros. I provide you with an introduction to how to install those distros that are commonly considered too hard and appropriate only for experts. Finally, I briefly summarize other distros that may appeal to you so that you will have a wider view of the Linux spectrum.
Linux is not only an operating system for the desktop; there are other environments where it is used. Furthermore, there are many distros that were built with only a particular task in mind. I introduce you to the other side of Linux distros: the task-oriented side.
As it is beyond the scope of this book, I also offer you a bonus chapter, available only online, where I introduce you to other operating systems that are not Linux, but that share many similarities with Linux distros.
I hope that Introducing Linux Distros will answer many of your questions about Linux and will help you pick the best one that is right for you. To that end, I did my best and I hope that you enjoy reading this book.
—Jose Dieguez Castro