Package Managers, Desktop Environments
I'm Jake Prem
- Associate Consultant
- Microsoft Practice
- Started in 2016
Things I like about Linux
It's pizza time!
"Hot squares of yum"
Give me a Windows pizza!
It's your standard pepperoni pizza
Give me a macOS pizza!
It's pretty similar to the Windows pizza
It costs $1000 dollars, is bezel-less
There's no headphone jack
Give me a Linux pizza!
Wait, what?
Time to go shopping!
- Ingredients (Sauce, Cheese, Toppings, etc)
- Stores (Where do we find the ingredients?)
- Brands (What kinds of ingredients should we get?)
That sounds like a lot of work!
Meet Pam
- Gives us a list of everything sold at Wholefoods
- He'll pick it up for us if we tell him what we want
- We can even tell him about other stores and ingredients
"Going to Whole Foods, want me to pick you up anything?"
This still sounds pretty overwhelming...
Meet Diesel
- Knows a bunch of pizza recipes
- He'll talk to PacMan for us and tell him what to get
- Knows about different kinds of pizza: BBQ, Dessert, etc.
- Knows about different kinds of ingredients: the freshest, organic, healthiest, etc.
So we can pick one of Diesel's recipes and end up with a pizza that fits exactly what we want.
Pam = Package Manager
- Can download and manage lists of available software stored in repositories
- Can download software packages listed in repositories and install them
- Can install updates that are published in the repository
- You can add additional repositories of available software, e.g. PPAs in Ubuntu
Diesel = Distribution
- Various kinds catering to various needs
- Different ones use different package managers
- Offer different desktop environments with varying levels of support
- Different philosophies
- Debian => Stability & FOSS Software
- Arch => Cutting edge, rolling release, customizability
-
Ubuntu => Ease of use
- Different channels, or repositories
- Stable, Unstable, Testing, Universe, Restricted, AUR
Distributions = Package Managers + Configuration
Flavors = Distributions + Desktop Environments
Popular Package Managers
and their associated distros
A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.
Wikipedia
APT
- Advanced Package Tool
- Used by Debian and Ubuntu
- Generally used as a frontend
for DPKG, .deb - Most things will have a package
already in Ubuntu/Deb's repos - If not there's probably a PPA
- Tons of help online
sudo apt install package_name
sudo apt update --Fetches an updated list of available packages
sudo apt upgrade --Upgrades installed packages to the latest version
sudo dpkg -i -r -l
Yum, DNF
- Yellowdog Updater, Modified
- Dandified Yum
- Used by Fedora, CentOS, Redhat, Yellow Dog
- Generally handles .rpm
- Fedora is a pretty good desktop OS
- Good Thinkpad support
- Lots of businesses and servers use this
sudo yum install package_name
sudo yum check-update --Fetches an updated list of available packages
sudo yum update --Upgrades installed packages to the latest version
sudo dnf remove package_name
Pacman
- Arch Linux, Manjaro, Antergos, etc
- Binary Packages => core, extra, community
- Already compiled
- Arch Build System (ABS)
- Arch User Repository
- Rolling release, always have the newest version of a package
sudo pacman -S package_name
sudo pacman -Sy --Fetches an updated list of available packages
sudo pacman -Syu --Upgrades installed packages to the latest version
yaourt package_name --Search for available packages matching name
--Then pick one to install
Package Manager Frontends
- Synaptic
- Yaourt
Desktop Environments
Windows
- Whatever Microsoft gives you
Linux
- This is one of the rabbit holes
- X Window System (X11)
- Some collection of desktop packages
- Generally will have some combo of:
- Window Manager
- Session Manager
- File Manager
- GTK, QT libraries
- Compositor
- Toolbars, widgets
- Default programs (sometimes)
Cinnamon
- Comes from Linux Mint
- Very Windows like
- Big on ease of use.
- Fork of Gnome 3
- Demo
Gnome Shell
- Default Fedora
- Default Ubuntu as of 17.10
- It's pretty cool
- Lots of other DEs are built on top of Gnome
- I.e. Unity was
- Demo
KDE Plasma
- The newest version of KDE
- Windows-like
- Extremely customization
- Widgets, workspaces
- Demo
XFCE
- Light weight
- Extremely customizable
- Good widgets
- Somewhat limited without a decent amount of configuration
- E.g. often lacks basic shortcuts
- Not very pretty by default
i3 (Window Manager)
- A tiling WM
- Extremely customizable
- Often paired with XFCE
- DEMO
Demo Time
- Ubuntu,
- APT
- Arch
- pacman, AUR
- Not demoing yum
- It's very similar to APT with slightly different commands
How do you pick?
- Generally pick a distribution more than a Package manager
- E.g. I like that Debian is stable and FOSS
- I like that Fedora is similar to Redhat, has hardware support
- Pacman/Arch is a notable exception
- Generally pick a distro that already has good support for your desktop environment of choice
How do you pick?
- Server? Probably Ubuntu's latest LTS
- Stable, long term support
- Very popular, almost every problem already has an answer
- Desktop?
- Fedora generally has good up to date software and hardware support
- Linux Mint, user friendly, should just work
- Ubuntu Latest will have better hardware support, more up-to-date packages
- Arch has rolling release and pacman but there is a learning curve
- I generally use a VM on Windows
- Manjaro i3 (Arch)
- General use and development
- Base Ubuntu
- Servers
- When I want my dev packages to match an Ubuntu server
Package Managers and Desktop Environments
By jprem
Package Managers and Desktop Environments
- 414