STEAM GROUP
Steam Universe Steam U
STEAM GROUP
Steam Universe Steam U
73,108
IN-GAME
466,240
ONLINE
Founded
23 September, 2013
All Discussions > Steam OS > Topic Details
 This topic has been pinned, so it's probably important
Shark 15 Dec, 2013 @ 3:27pm
Installing applications from the Debian repo in SteamOS
I noticed that a lot of people who are using SteamOS are interested in installing additional applications on it, which is why I decided to make a guide. If you don't understand something or it doesn't work for you, please leave a comment.

Note: This guide is for SteamOS 2.0 and newer. If you're on an older version of SteamOS, replace all instances of the name jessie into wheezy and it should still work.

First you are going to need a complete SteamOS installation, otherwise this guide is probably not going to be of much use.

1. In big picture mode go to Settings -> Interface and enable the desktop.
2. go into the desktop by going to Exit -> Switch to desktop from the start screen of big picture mode.

Now you should see your desktop. Make sure you have at least a keyboard plugged in!

3. Drag your mouse to the top-left corner of the screen, type terminal and hit enter to open a terminal window.

If you don't trust me you can check what the commands in this guide do with the man command, If you want to know what apt-get does for instance, like this:
man apt-get

4. Now we're going to change the password of the desktop user so we can use sudo. Run the following command and pick a password:
passwd
5. Open the sources list for editing with the following command
sudo nano /etc/apt/sources.list
6. Go to the bottom of the file and paste in the following lines(with right-click or ctrl+shift+v):
deb ftp:/mirror.nl.leaseweb.net/debian/ jessie main contrib non-free deb-src ftp:/mirror.nl.leaseweb.net/debian/ jessie main contrib non-free
You can also use a different mirror if you want to, this one is in the Netherlands and very fast for me. More mirrors can be found here: http://www.debian.org/mirror/list

7. Close Nano with ctrl+x and pick y to save the file
8. Let's make sure no SteamOS packages get replaced by the updater by creating a preferences file with the following command:
sudo nano /etc/apt/preferences
8. Copy the this to the file and save it like before:
Package: * Pin: release o=Valve Software LLC Pin-Priority: 900 Package: * Pin: release l=Debian Pin-Priority: 110
9. Now run the following command to index the new repo:
sudo apt-get update
10. You can now install applications from the debian repo, this can be done in 2 ways. You can either use the apt-get command, if you wanted to install xbmc for instance you'd do that like this:
sudo apt-get install -t jessie xbmc
Then for finding applications you could either search for them here[www.debian.org] or use the apt-cache command like this:
apt-cache search -t jessie application | more
You can also use a gui a tool to do this, like add/remove packages which is installed by default, but you won't be able to find things in the Jessie repo unless you set the pin priority to 110. This can bite you later, but it's unlikely. Pin priority -10 is safer.

Edit1: Fixed the apt-pinning, thanks Hitsuji.
Edit2: Added -t option to installing applications.
Edit3: Fixed a mistake I made on gui tools.
Edit4: Removed some outdated info and fixed some spelling errors.
Edit5: Changed pin priority to 110, since a lot of people seem to have problems with it being set at -10.
Edit6: Updated guide to SteamOS Brewmaster, since that is what Steam Machines seem to ship with.
Edit7: Added warning for SteamOS Alchemist users.
Edit8: Removed some outdated info and some grammar fixes
Edit9: Changed SteamOS repo pin to be more specific
Last edited by Shark; 22 Jul, 2016 @ 8:06am
< >
Showing 1-15 of 178 comments
SN2TS 15 Dec, 2013 @ 7:07pm 
Great guide, works!
PureTryOut 16 Dec, 2013 @ 12:35am 
Amazing work thank you!
En nog een nederlander ook :)

BTW tip for the rest: "sudo apt-get install python-software-properties" will make you able to add repository's using "sudo add-apt-repository ppa:name". This will make you able to install even more applications!
dido.vv 16 Dec, 2013 @ 2:40am 
thank you friend
Cpt Monkey Fist 16 Dec, 2013 @ 5:19pm 
You should also know that most software included with SteamOS is actually newer than the stable repos (these look like the stable repos, OP correcte me if I'm wrong). This will cause dependency issues when you try to install some software.

There are a number of ways to do backports of existing software to resolve the dependency problems, not the least of which is to use "aptitude install" instead of "apt-get install" and following aptitude's prompts. Just wanted to make you aware.
blackout24 16 Dec, 2013 @ 5:23pm 
Originally posted by Doc Holliday:
you forgot systemd :)

Don't need debian repos for that it's in Valves repos.
http://repo.steampowered.com/steamos/pool/main/s/systemd/
Hitsuji 16 Dec, 2013 @ 6:06pm 
Just to let you know, that is a completely misconfigured apt-pinning config as you can see by the command: apt-cache policy

Package files: 100 /var/lib/dpkg/status release a=now 500 http://repo.steampowered.com/steamos/ alchemist_beta/non-free amd64 Packages release o=Valve Software LLC,a=testing,n=alchemist_beta,l=SteamOS,c=non-free origin repo.steampowered.com 500 http://repo.steampowered.com/steamos/ alchemist_beta/contrib amd64 Packages release o=Valve Software LLC,a=testing,n=alchemist_beta,l=SteamOS,c=contrib origin repo.steampowered.com 500 http://repo.steampowered.com/steamos/ alchemist_beta/main amd64 Packages release o=Valve Software LLC,a=testing,n=alchemist_beta,l=SteamOS,c=main origin repo.steampowered.com 500 ftp:/ftp.ie.debian.org/debian/ wheezy/non-free Translation-en 500 ftp:/ftp.ie.debian.org/debian/ wheezy/main Translation-en 500 ftp:/ftp.ie.debian.org/debian/ wheezy/contrib Translation-en 500 ftp:/ftp.ie.debian.org/debian/ wheezy/non-free amd64 Packages release v=7.3,o=Debian,a=stable,n=wheezy,l=Debian,c=non-free origin ftp.ie.debian.org 500 ftp:/ftp.ie.debian.org/debian/ wheezy/contrib amd64 Packages release v=7.3,o=Debian,a=stable,n=wheezy,l=Debian,c=contrib origin ftp.ie.debian.org 500 ftp:/ftp.ie.debian.org/debian/ wheezy/main amd64 Packages release v=7.3,o=Debian,a=stable,n=wheezy,l=Debian,c=main origin ftp.ie.debian.org 500 http://repo.steampowered.com/steamos/ alchemist/non-free amd64 Packages release o=Valve Software LLC,a=testing,n=alchemist,l=SteamOS,c=non-free origin repo.steampowered.com 500 http://repo.steampowered.com/steamos/ alchemist/contrib amd64 Packages release o=Valve Software LLC,a=testing,n=alchemist,l=SteamOS,c=contrib origin repo.steampowered.com 500 http://repo.steampowered.com/steamos/ alchemist/main amd64 Packages release o=Valve Software LLC,a=testing,n=alchemist,l=SteamOS,c=main origin repo.steampowered.com

As you can see, there is no a=alchemist or a=wheezy. You misunderstood the guide that you based your config from
.
if you want to do it correctly in that fashion, it would be best to use the "l" param:

Package: * Pin: release l=SteamOS Pin-Priority: 900 Package: * Pin: release l=Debian Pin-Priority:-10



RisingHelix 16 Dec, 2013 @ 6:51pm 
Has anyone attempted to add the SteamOS repo's to a stock Debian 7.3 install?
Hellkeepa 16 Dec, 2013 @ 8:04pm 
Also, I'm afraid that this bit is false:
Originally posted by PureTryOut:
BTW tip for the rest: "sudo apt-get install python-software-properties" will make you able to add repository's using "sudo add-apt-repository ppa:name". This will make you able to install even more applications!

add-apt-repository is only available from the unstable testing version of Debian, not Wheezy. Which is the version Steam OS is based upon, and the repo versions added in this guide.
SimicEngineer 16 Dec, 2013 @ 8:37pm 
Does anyone know how to resolve dependencies that call for an exact version, but apparently fail because of the "+bsos1" in the SteamOS versions? There will be an error along the lines of

libxml2-dev : Depends: libxml2 (= 2.8.0+dfsg1-7+nmu2) but 2.8.0+dfsg1-7+nmu2+bsos1 is to be installed
Hitsuji 17 Dec, 2013 @ 1:09pm 
Originally posted by SimicEngineer:
Does anyone know how to resolve dependencies that call for an exact version, but apparently fail because of the "+bsos1" in the SteamOS versions? There will be an error along the lines of

libxml2-dev : Depends: libxml2 (= 2.8.0+dfsg1-7+nmu2) but 2.8.0+dfsg1-7+nmu2+bsos1 is to be installed

Pin the dependencies:

Package: libxml2 Pin: release l=Debian Pin-Priority: 910
Last edited by Hitsuji; 17 Dec, 2013 @ 1:09pm
Balderick 17 Dec, 2013 @ 2:21pm 
Thanks to all for this thread. After overlooking this thread when adding sources i wanted to update my sources.list and preferences to better protect my steamos install.
I have no file in /etc/apt directory named preferences but only an empty preferences.d directory.
After getting sources (i added main, updates and security debian sources) to add alsa-utils and pulseaudio-utils but then started getting dependency errors like what SimicEngineer describes.

It was after rereading this post thought i better try to backtrack and fix but can not see any preferences file to pin dependencies.

Any advice?
Last edited by Balderick; 17 Dec, 2013 @ 2:30pm
EvilPinder 17 Dec, 2013 @ 2:34pm 
Just create the file, it doesn't exist in a vanilla SteamOS installation.
RisingHelix 17 Dec, 2013 @ 2:38pm 
Yes. Make a text file, put it into the /etc/apt/preferences.d/ folder, save it as preferences

$ gksu gedit /etc/apt/preferences.d/preferences

then type;
then save as. . . etc.

gksu is like sudo or su -c; except it escalates privledges for graphical programs rather than console ones. Use sparingly, and never just because someone on the internet recommends it.

EDIT :
SteamOS does not include gksu. It would be much more appropriate to use sudo nano /etc/apt/preferences.d/preferences in the console command listed above.
Last edited by RisingHelix; 17 Dec, 2013 @ 3:19pm
*****User5671089 17 Dec, 2013 @ 2:47pm 
Thanks Shark, you're my hero. Useful info.
RisingHelix 17 Dec, 2013 @ 2:49pm 
+1 Hitsuji's recommendation.

Pin the Debian repo above the SteamOS repo for the purpose of that piece of software. You can use the -t modifier in the console, a la:

# apt-get -t wheezy install libxml2

This may help:

http://jaqque.sbih.org/kplug/apt-pinning.html
Last edited by RisingHelix; 17 Dec, 2013 @ 2:50pm
< >
Showing 1-15 of 178 comments
Per page: 1530 50

All Discussions > Steam OS > Topic Details