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!
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!
- 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...
- 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
Diesel = Distribution
Distributions = Package Managers + Configuration
Flavors = Distributions + Desktop Environments
Popular Package Managers
and their associated distros
- 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
- 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
- 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
- Whatever Microsoft gives you
- 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
- Toolbars, widgets
- Default programs (sometimes)
- Comes from Linux Mint
- Very Windows like
- Big on ease of use.
- Fork of Gnome 3
- 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
- The newest version of KDE
- Extremely customization
- Widgets, workspaces
- 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
- 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
- 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
- When I want my dev packages to match an Ubuntu server
Package Managers and Desktop Environments