Installing Debian Linux 9 on Windows 10 with WSL

So you got Ubuntu installed on your Windows machine, but you’re more of a Debian person.  Well this post is for you.  (If you haven’t yet enabled WSL and got Ubuntu running, check out my Part 1 post walking through that!)

These steps will switch WSL to use Debian, but don’t worry, it’s easy to undo them and switch back to Ubuntu.  Please follow the steps carefully, as doing things out of order may cause it to fail.  There are many ways to do this, and sometimes I know I’m skipping some shortcuts, but I just want to make these instructions as simple to follow as possible.

Part 2: Transitioning WSL to Debian

  1. In your browser we must download the Debian docker image.  Go to https://hub.docker.com/_/debian/ and find the build you want.  As of this writing, the latest version is stretch.  Just look for the line that includes the word “latest”.  Click the link in that line.  Currently it says (stretch/Dockerfile).
  2. It should take you to a github page.  You need to go one level back from the dockerfile page to find the location of the actual image.  In this case, the link says “stretch”
  3. Find the file that is named “rootfs.tar.xz” and click on it.  It should take you to the github page for this file, and click on the Download button.
  4. Find where this file was downloaded to and take note of this location.  Usually it will be in your Downloads folder or your Desktop, depending on how your browser is set up.  Do not try to extract the file yet.
  5. Open your Ubuntu bash prompt (there should be a listing in your Start menu for Bash on Ubuntu on Windows)
  6. Create a folder to extract the archive to:
    cd ~
    sudo mkdir rootfs.debian
  7. Next we’re going to copy the image file to your home directory.  (not move in case we mess something up we still have the original).  You’ll need to substitute the Windows path where you had downloaded the archive to the Linux path name.
    Example: I downloaded to:
    “C:\Users\scott\Downloads\rootfs.tar.xz”
    so the path from within Linux is:
    /mnt/c/Users/scott/Downloads/rootfs.tar.xz
  8. So in my case the command would be (in case it’s hard to tell from the formatting, this is all one line, just a space before the ~):
     sudo cp /mnt/c/Users/scott/Downloads/rootfs.tar.xz ~/rootfs.debian/rootfs.tar.xz

    (NOTE: Linux is case sensitive, and make sure you use the correct slashes.  You can use tab when typing to complete some path names.)

  9. Extract the archive:
     cd ~/rootfs.debian
    
     sudo tar xf rootfs.tar.xz
  10. Exit the terminal by entering:
     exit
  11. Open any folder in Windows, clear out the path in the Address bar and type in: “%localappdata%\lxss” without quotes then hit enter.
  12. Click onto the rootfs folder and rename it to rootfs.ubuntu
  13. Open the home folder, then open your username folder and find rootfs.debian.  Right click on this folder and select “Cut”
  14. Go back to the lxss folder, then right click in the folder and select “Paste”
  15. Rename this folder to rootfs
  16. Since the user you had been using in Ubuntu is not set up in Debian, we must switch Debian to use the root account.  Open a Windows command prompt and type:
     lxrun /setdefaultuser
  17. When asked for the new Unix username, enter: root
  18. Type bash then hit enter.  You are now in debian!  However, it’s pretty broken at this point, so keep reading!
  19. Set a root password by entering:
     passwd
  20. Get the latest list of available updates by entering:
     apt-get update
    
     apt-get upgrade

    Hit y to agree to prompts to install these updates.  You may notice some errors about your locale.  Let’s fix that.

  21. Run:
     apt-get install locales

    Once this is installed, run:

     dpkg-reconfigure locales

    Hit enter to go through the list of locales.  For Americans you can then enter en_US.UTF-8.  For other people, choose the appropriate language.
    When asked for the default locale, I just choose option 3.

  22. The ps command is missing, so let’s fix that:
     apt-get install -f procps
  23. Another thing that’s missing but helpful is the ability to extract .xz files, in case you need to do anything like this again from within Debian.  This command installs the xz utilities:
    apt-get install xz-utils
  24. You’re probably getting an error about resolving a hostname.  Take note of your computer’s name.  Then let’s install nano for a quick way to edit files in Linux.
     apt-get install nano
  25. Run nano to edit the hosts file
     nano /etc/hosts
  26. Beneath the line that says 127.0.0.1 localhost, add a line that says:
    127.0.0.1 hostname
    (filling in your computer’s name as the hostname).
  27. Hit CTRL-o then enter to save the file.  Then CTRL-x to exit nano.
  28. Install sudo so you can run as an account other than root:
     apt-get install sudo
  29. Add a new user substituting username for the username you’d like (no spaces allowed):
     useradd username -G sudo
  30. Set up a password for this account, putting in your actual username:
     passwd username
  31. Then exit.  You’re back at the dos prompt.  Now let’s tell WSL to launch as this new user instead of root:
     lxrun /setdefaultuser

    Then type in your new username.

  32. Test this out by typing bash.  You should be logged in as the new user.  To verify try typing the command:
    whoami
  33. Two last things that are optional.  You can change the shortcut in the start menu to now say Debian, and you can change the icon.
  34. Click Start, right click on “Bash on Ubuntu on Windows” then More -> Open File Location
    Rename this file to Bash on Debian on Windows
  35. Next in the path name type in: %localappdata%\lxss then hit enter.
    Rename the bash.ico to bash.ico.ubuntu.  If you’re not seeing the .ico extension, click the View tab up top and make sure “File name extensions” is checked.
    Download this icon and save it to the folder with the name bash.ico.
  36. That should be it!  It might take a reboot to get the icon updated everywhere on your system.

NOTES
if you want to undo this, assuming you used the same username for both Linuxes, all you need to do to have this launch Ubuntu is rename the rootfs folder to rootfs.debian and rename the rootfs.ubuntu folder back to rootfs.  And of course restore the old icon.

Installing Ubuntu Linux on Windows 10 with WSL (Windows Subsystem for Linux)

I’m a big Linux fan, been using it since 1999 when I first bought a Red Hat Linux for Dummies book which came with an install disk in the back.  Things have changed dramatically in the Linux world since then, maybe most dramatically in the fact that you can now install the bash shell in Windows 10.

In this blog post I’ll show you how to install WSL, which gives you a bash terminal running Ubuntu on your Windows 10 machine.  After that, look for Part 2 where I show you how to transition it to Debian 9!

Just a note: At the time I’m writing this, the current latest version of Windows 10 still hides a few of these options from the normal user.  I’ll give the steps as they are today, but in the future you may be able to skip a few steps.  For example, installing Ubuntu is going to be an option directly from the Windows Store, instead of going through the control panel steps.

Look for the store link for Ubuntu here:
https://www.microsoft.com/store/p/ubuntu/9nblggh4msv6

Also coming soon will be Windows Store packages for Fedora (no link yet), openSUSE and SLES!

What you need:

  • Windows 10
  • Internet Connection
  • A little bit of time

Part 1: Installing Ubuntu on WSL

  1.  Click start, and click the Cog icon to open the Windows Settings app.
  2.  Open “Update and Security”
  3.  On the left side open “For developers”
  4. Put a dot in “Developer Mode” (Note: this won’t be required in future updates of Windows, but currently still is)
  5. If it makes you reboot, go ahead and do that, then log back in.
  6. Click Start, type Control Panel and hit enter.
  7. Make sure the View By in  the upper right is Large or Small Icons, then open “Programs and Features”
  8. In the upper left click on “Turn Windows features on or off”
  9. Check the box for “Windows Subsystem for Linux (Beta)” then click OK.  It probably won’t say Beta in future updates.
  10. It should install some stuff and ask you to reboot.  Go ahead and do that.
  11. Next, open a command prompt (click Start -> type cmd and hit enter)
  12. At the command prompt type “bash” without the quotes, and hit enter.
  13. Type y to continue, and it should download and install a small Ubuntu image.
  14. It will ask for a new username, so enter a username (no spaces) and choose a password.
  15. It should bring up an ubuntu terminal.  Cool!
  16. Exit the Linux environment by typing exit then hitting enter.
  17. Enter exit again to close the Windows command prompt.

OK!  So by now you’ve got Linux available on your Windows computer!  You should have an icon for “Bash on Ubuntu on Windows” on your start menu to launch it, or you can bring up any command prompt or powershell and type bash to launch.  If you want, you can stop right here, and you can just use Ubuntu.

If you want to switch this over to Debian, read Part 2!

The Bicycle Accident

So the last few months I’ve really gotten into Mountain Biking. Every summer for the last 3 or so summers I’ve been really wanting to get into cycling, but other priorities always kept me from buying a new bike.
This summer I finally figured a way to get new mountain bikes for my girlfriend and me.  The past several weeks I’ve been having a blast exploring trails here in central Pennsylvania, where there is no shortage of places to ride.
Last weekend down at Raystown Lake was Dirt Rag Dirt Fest a mountain biking festival. Originally I planned to just go down for the day but on a whim the night before I checked and a campsite had opened up. I was so excited Friday morning to pack up for a weekend of camping and riding with some friends who would be in from out of town.
Friday afternoon I get down there, set up my tent and took my bike on the shuttle to the trailhead to get to the festival. My buddy’s parents were actually volunteering at the trailhead and they gave me a map and some directions, then off I went.
The riding was great, the singletrack was flowing and a lot of fun.  Then it came to a fork in the road and I went left onto a trail called osprey rather than taking a right to a nice paved road. That ended up being a mistake because immediately I got a little too much speed, hit a bump and flew my front wheel into a second bump, flipping me up over the bike.
I hit hard but tried to stand up. I realized I had messed up my arm because I couldn’t lift it, but I tried to stay calm. My head was fuzzy, I was dizzy and my vision was messed up, so clearly I had hit my head (luckily with a helmet on). I got down on a knee and shortly after 2 guys came from behind me on the trail and asked if I was alright.
I told them what happened and they helped pull me off the trail.  These guys were a huge help.  They looked over my bike and said it looked OK, and they called down to one of their friends down at the festival to try to find my friend. In the meantime I called my friend’s dad who was volunteering and asked if I could get a ride to the hospital.  They picked me and my bike up and got me to the Emergency Room.
At the ER they gave me a CAT scan and took some X-rays and determined my head was OK, but my shoulder was pretty much “shattered”.  They gave me a piece of junk sling and some painkiller shots, then sent me on my way.
This was on a Friday, and my girlfriend came down and drove me home. Unfortunately I couldn’t get in with a specialist till Monday. This was a very difficult weekend full of horrible pain.
On Monday the specialist told me the news.  It probably will never heal up fully, but they are going to try to repair my shattered bones. If that doesn’t seem like it will heal I’ll need a shoulder replacement.  At least the specialist gave me a high quality sling, which does a lot better job of preventing my arm from moving.
At this point all I can do is wait for Friday when I will have surgery. Hopefully it will go well and I can start healing.

Some running stuff

I realized the other day I hadn’t posted an update on how my first 5K went.  Overall I had a great time!

My girlfriend (who had to work in the morning and was just watching) and I showed up to the starting area a little early and I picked up my race packet.  It was really amazing to actually be pinning a number on myself, I felt like an actual athlete! haha!  Now, I did sports when I was in school, and I’ve done martial arts off on an on since high school, but running in a race is a different kind of thing.

We first got to see the people who were running in the day’s 10K, and I think that included most of the more hardcore runners.  A little while later they gathered the 5K people to start.  Once the race began, I found myself following the pace of a pack of people ahead of me, and looking at my Garmin Forerunner 10 I could tell I was going a little faster than my normal pace.  Eventually I let that group slowly move ahead of me and kept to my own pace.  I think I had moved away from some of the slower runners, and didn’t have anybody breathing right down my neck at that point.

The race was basically through a little development and down a bike path, then you turn around and went back the way you came.  The first half tended to have more downhills than uphills, which was great until we made our way back.  But honestly I think it was going back and going up those hills where my training on the local hills paid off.  I tried to maintain my regular pace and I think I did a pretty good job of doing so.  That group that had outpaced me early on all had hit a brick wall going up the hills and I ended up passing them all.  It was a cool feeling!

Near the end of the race there was one guy ahead of me and I made it my mini-goal to sprint to the finish and try to pass him.  I ended up passing him with only a few seconds to go.  I ended up finishing 11th with a time of 33:39.  My GPS watch measured my distance at 3.6 miles and my 5k time at 29:19!  I was thrilled!

5K Results
       CLASS
 PLACE PLACE                 FINISHER                  TIME
 ----- -----                 --------                  ----
    1       Bill Zimmerman, 32, State College, PA      22:40  
    2       Matt Smith, 49, State College, PA          22:48  
    3       Tom Cali, 58, State College, PA            23:36  
    4    1  Scott Gest, 47, State College, PA          31:04  
    5    2  Ethan Lucas, 20, Bellefonte, PA            31:20  
    6    3  Corey Hudson, 32, Altoona, PA              31:29  
    7    4  Chris Cregan Ellis, 32, Yonkers, NY        31:38  
    8    5  Nick Gildow, 35, Philipsburg, PA           32:05  
    9       Mikala Morrow, 19*, Lewisburg, PA          33:01  
   10    6  Bill Morrow, 50, Lewisburg, PA             33:02  
   11    7  Scott Irvin, 31, State College, PA         33:39  
   12    8  Kevin Connor, 25, Fairfax, VA              33:41  
   13    9  Larry Lucas, 53, Bellefonte, PA            34:23  
   14       Nelitza Sarriera, 27*, Boalsburg, PA       34:39  
   15   10  Tim Little, 34, Patton, PA                 34:58  
   16       Monica Reed, 35*, State College, PA        35:04  
   17    1  Sarah Reif, 13*, Lewisburg, PA             35:09  
   18   11  Adam Reed, 36, State College, PA           35:13  
   19   12  Willie Melendez, 32, Boalsburg, PA         35:22  
   20   13  Thad Smith, 10, Spring Mills, PA           35:37  
   21   14  Brandon Krause, 26, State College, PA      35:56  
   22   15  Bryan Gormont, 27, State College, PA       35:56  
   23    2  Kayla Meier, 21*, State College, PA        35:57  
   24   16  Adam Cardell, 25, Springfield, PA          35:59  
   25    3  Maria Zielinski, 33*, Elysburg, PA         36:33  
   26   17  Rupert Johnson, 25, State College, PA      37:25  
   27    4  Kathleen Shupenko, 30*, Port Matilda, PA   39:11  
   28   18  John Hurst, 49, Spring Mills, PA           39:12  
   29   19  Todd Kos, 46, State College, PA            40:06  
   30   20  Kevin Kos, 43, St. Louis Park, MN          40:07  
   31   21  Arnold Gasche, 83, State College, PA       41:00  
   32    5  Josette Zielinski, 56*, Elysburg, PA       41:14  
   33    6  Hannah Kennedy, 16*, Tyrone, PA            41:37  
   34   22  Scott Kennedy, 41, Tyrone, PA              41:38  
   35    7  Alison Weinschenk, 35*, State College, PA  41:58  
   36    8  Maryann Fitzgerald, 40*, State College, PA 41:58  
   37    9  Joyce Sutton, 40*, Kennett Square, PA      42:55  
   38   23  Tyler Olsen, 13, State College, PA         42:59  
   39   24  Bryce Fisher, 12, Pine Grove Mills, PA     43:00  
   40   25  Zeb Crews, 12, State College, PA           43:01  
   41   26  Rich Olsen, 43, State College, PA          43:11  
   42   10  Karlee McCloskey, 20*, Bellefonte, PA      45:09  
   43   11  Kera Smith, 43*, Lincoln Universit, PA     48:41  
   44   27  Simon Smith, 8, Spring Mills, PA           50:31  
   45   12  Amy Lucas, 51*, Bellefonte, PA             58:32  
* indicates females
6 finishers among Males (no age given)
27 finishers among Open Men/OpM
12 finishers among Open Women/OpW
33 male finishers
12 female finishers
45 total finishers
 

I unfortunately didn’t run much since then, but I’ve signed up for my next race and training began today!  This time my girlfriend is “running” with me!  I put running in quotes because I honestly think this race will turn into more of a walk.  It’s the Color Run, which is coming to Penn State.  There will be like a thousand people, and I’ve heard these races aren’t even timed.  It’s really just about getting hit in the face with colored powder.  Hey whatever, whenever pictures from these things end up on my facebook feed it looks like a lot of fun, so I knew we had to sign up!

Yesterday I was actually at the first annual Mt. Nittany Marathon.  No, I didn’t run, but I volunteered at the first water station!  It was actually fun.. there was a lot of prep work getting all the cups poured and ready to go.  Then we waited and waited, and then around the bend came one of the lead cyclists, and then a runner.  Then another.  And before you know it, there were dozens of them.  We had maybe 6 volunteers with water or Gatorade, and we’d call out what we were holding to let the runners decide what they wanted.  There were also porta-potties at our station in case anybody needed a bathroom break.  The first water station was about 3.1 miles into the race, so a lot of the runners were still grouped up together pretty much.  We ended up being done within an hour of the race starting.  We just had to go clean up a zillion cups and other crap like gels that people threw along the road.  Overall, it was fun, and I’d do it again!

I’ve made a huge mistake

ive-made-a-huge-mistake

I’ve had Vibram Fivefingers or a while now, but it’s been several months since I’ve seriously worn them and ran with them for any distance. I was doing a lot of martial arts last summer and fall, and they were perfect for training outside. I’ve run more in this last month than I have my whole life, but it has been with regular running shoes.

After some researching it seemed to me like Vibrams may be a good choice for running in an obstacle course race, which has been my secondary fitness goal lately (running my first 5K being my primary). They can handle being wet, can give good traction for climbing, and I have a pair made for trails that protects against stones and other sharp stuff. So last week I wore them for a run, about 3 miles or so. This was way too long of a run considering how long I had gone without wearing them. You land differently on your feet running with this type of shoes, and it puts more stress on your calves while reducing some stress on your knees. The trade off is good in the long term, but in the short term you really put a lot of unusual strain on the calves while you build up those muscles.

So for the past 5 days or so my calves have constantly ached and I have been unable to run, and can barely walk when I wake up in the morning. Today I felt a little better and ran with some regular New Balances but my left calf started hurting bad about halfway up the first hill. I now have about 6 days until my first 5K and I’m nursing this injury and probably can’t do much else but rest the next few days.

Live and learn, right? After the 5K (which I will be wearing regular shoes for), I will try to ease into the Vibrams again. I am not signed up for any OCR’s at the moment so I don’t need to rush into them… I think a slower transition will be helpful.

Running

My New Year’s resolution was to run in a 5k this year. I’ve never run in one. I’ve really never been a runner,but this is a goal I’ve had in the back of my mind for quite a while.

So when I go for a jog I can make it a decent distance, ate least 2 miles or so, but I have some pacing problems. Last week I tried doing the Couch-to-5k program for a few days. I found that when I stuck just to the plan I ended the run with a lot left in the tank. While this isn’t necessarily a bad thing, I think I probably could skip ahead a few weeks into the plan.

For next week I think I will likely try to just get back to jogging the whole time and see how that gos.

I’m penciling in a 5k race in September to be shooting for. What I really want though is to train for an obstacle course race like Spartan Race. The 5k will be a good first step though…

Penn State MacAdmin 2013 Conference

This past week was the Penn State MacAdmin Conference over at the Penn Stater Conference Center, and I had a really good time. I would say about 10% of what I do is Mac based, but we have some heavy Mac users that could really use some improvements in their level of service, so this conference was very useful.

I have been to several conferences over at the Nittany Lion Inn, but I think this might have been my first actual conference at the Penn Stater (although I do find myself over there frequently because of a leadership training program I’m participating in this year). The food at the Penn State was really pretty good, with a lot of options. We had breakfast and lunch there all three days of the conference and I couldn’t complain about any of it. They also always have a bunch of snacks between sessions. In general, you don’t go more than about an hour between feedings lol. The only bad thing about the facilities there was poor wireless connections. I don’t think most of the crowds that hit up the Penn Stater for conferences put as much pressure on the wifi than a big tech conference, so hopefully AT&T will be a little better prepared to handle it next year.

There were many good sessions about software packaging, deployment, management systems etc. I thought the talks by Allister Banks were very interesting and entertaining. He’s got to be the most eccentric person in a room full of Mac users, which is saying something.  I also liked the talk I attended from Rusty Myers about bash, and the one I took a little earlier that day about python.  If only they could find some grizzled old sysadmin to talk about perl!

My workflow evolved throughout the conference. I brought in a work iPad on the first day but found myself not using it to keep notes or anything really, but rather just to check work emails. (I really hate the anxiety of knowing work emails are piling up but not being able to really knock them out, so even when I’m at an event like this I tend to try to keep up with them.) On the second and third days I brought in an old macbook from home and fired up evernote to keep notes. This was much better… I could still keep my email open (in those rare moments when I had working wifi) but I could also take notes, pull up URLs of things the speakers were talking about, and keep the conference hashtag up in Twitter.

Unlike some conferences I’ve been to where the hashtags were used by like 1 or two people, here the #psumacconf tag really brought together a big chunk of the community. It really helped me (who lives 2 minutes away from the Penn Stater) from following along with the shenanigans that took place in the after-hours with the people staying at the hotel.  I did attend the after-event on Wednesday, which was at Medlar Field. They had the outfield food place opened up and had a cash bar. It was pretty fun although the wind and rain sort of pushed everyone under the concourse. Even so, it was a good place to network, and I met colleagues from across the country who came in for the conference.

The schedule for the conference was on http://sched.org which I thought worked really well, especially on day 2 when they changed up some of the events.  It also seemed to tie into Eventbrite, which was how we registered e-tickets for the evening event at the baseball stadium.

Overall I gained a lot from the conference, and am looking forward to next year!

Reading

So I got a Kindle, and have been reading a heck of a lot more than I have in recent memory. Probably more than I have since middle school, when I constantly was reading some Dragonlance novel or something along those lines.

I first started out by reading The Maze Runner trilogy. It was a decent series, although the ending of the third novel (The Death Cure) certainly had a few missing pieces that just drive the reader crazy. There’s a prequel coming out that might help clear things up, or it might just make you even more annoyed by the ending of The Death Cure.

But The Maze Runner is usually mentioned in the same breath as The Hunger Games, which shares it’s dystopian future society themes.  And so with all the recent buzz about it, and the movie (which came out yesterday), earlier this week I began reading this book.  So far so good, although if you held up Maze Runner and Hunger Games to each other, the former focuses much more on action, puzzle solving and combat, while the latter focuses much more on romance, fashion, and descriptions of food.  Not to say there isn’t a lot of crossover of some of these topics among both.

I’m hoping to finish the book today, then maybe it’ll be off to the movies tonight!