RunPlusOne

Ubuntu Open Week - How to run Ubuntu+1 - JorgeCastro - Fri, Nov 6, 2009

  • utc

(11:00:30 AM) jcastro: ok we'll give it a minute and then I will start the next session, how to run Ubuntu+1 "aka the development release"
(11:01:00 AM) jcastro: ok
(11:01:09 AM) jcastro: thanks for coming to my session, let's begin!
(11:01:19 AM) jcastro: First off, I'd like to introduce myself. My name is Jorge Castro and I work on the Ubuntu Community team doing upstream developer relations. I've been using Ubuntu since 4.10 (the Warty Warthog) and Debian for many years before that.
(11:01:32 AM) jcastro: I've spent a great deal of time running developmental releases and things that generally break your computer, so I thought I would share this information with people, since I've been in the situation many times where I have turned my computer until a pile of molten slag.
(11:01:57 AM) jcastro: I've written up some parts, we'll get through that - then we'll open up it up for some questions.
(11:02:06 AM) jcastro: Recently I've noticed more and testers using the Ubuntu developmental release, what lot's of people call "Ubuntu+1". Currently Ubuntu+1 is the lucid "lucid lynx".
(11:02:10 AM) jcastro: This is really good
(11:02:17 AM) jcastro: because more testing is always needed
(11:02:32 AM) jcastro: However just because you are testing doesn't mean you want your OS to stab you in the face.
(11:02:42 AM) jcastro: Running +1 back in the old days was relatively easy because most of the users were already experienced with The Debian System(tm) and how it worked. However as more and more people started using Ubuntu and the promise of new bling crept around the corner more and more people started using it, and breaking it, so I thought I'd have a session on how to not blow up your computer.
(11:03:22 AM) jcastro: First off
(11:03:29 AM) jcastro: there are some guides out there already!
(11:03:38 AM) jcastro: https://wiki.ubuntu.com/UbuntuDevelopment/UsingDevelopmentReleases
(11:03:48 AM) jcastro: and more recently http://ubuntuforums.org/showthread.php?t=1286309
(11:04:08 AM) jcastro: however I find that the best method is what you learn by sometimes painful experience!
(11:04:20 AM) jcastro: Now, there are many ways Ubuntu developers run their development release. Some prefer apt-get, some do aptitude. I will be discussing the way I do it because I've managed to stay out of trouble for three releases in a row! Also, even if you use different tools the concepts I talk about will apply.
(11:04:36 AM) jcastro: (some use synaptic, etc.)
(11:05:01 AM) jcastro: So first off, let's talk about why you WOULDN'T want to run a a dev release like lucid
(11:05:03 AM) jcastro: a) You need to get work done
(11:05:15 AM) jcastro: and b) Computer downtime or dataloss isn't an option
(11:05:25 AM) jcastro: so, for example I know many ubuntu developers stick to a stable release
(11:05:45 AM) jcastro: and use pbuilder or a VM to test their packages
(11:05:52 AM) jcastro: some people have multiple machines
(11:06:04 AM) jcastro: I personally always keep my laptop on a stable release until beta-ish
(11:06:14 AM) jcastro: but on my desktop I let it rip with the brokeness.
(11:06:29 AM) jcastro: either way, you should ensure that your data is backed up and safe
(11:06:57 AM) jcastro: Of course, if you use your computers for work I recommend using VMs or spare hardware
(11:07:19 AM) jcastro: however
(11:07:26 AM) jcastro: if you're a sysadmin or deploy ubuntu
(11:07:39 AM) jcastro: setting aside spare hardware to help us test ubuntu would  be most appreciated!
(11:08:09 AM) jcastro: for most people, Virtual Machines will do the trick
(11:08:14 AM) jcastro: unless you want to test hardware
(11:08:32 AM) jcastro: Also, in certain hardware cases running the unstable release can be cause for pain.
(11:08:51 AM) jcastro: so for example, if you have an infamous broadcom wireless card that doesn't work well, you might have problems
(11:09:35 AM) jcastro: ok
(11:09:47 AM) jcastro: so I am going to go through the steps that I take to run the release
(11:09:57 AM) jcastro: the first step is to actually run it. :D
(11:10:12 AM) jcastro: this is accomplished by downloading one of the alpha CDs, a daily CD, or upgradiing in place
(11:10:41 AM) jcastro: If you download a new CD, you want to use something like a mirror or zsync to save bandwidth
(11:11:22 AM) jcastro: if you upgrade in place I recommend "update-manager -d"
(11:11:44 AM) jcastro: (old school fans, replacing "karmic" with "lucid" in your sources.list still works)
(11:12:12 AM) jcastro: there are three major things you need to check before you upgrade
(11:12:20 AM) jcastro: (and that goes for the subsequent daily upgrades)
(11:12:37 AM) jcastro: here are the sources I check: http://people.canonical.com/~ubuntu-archive/testing/lucid_probs.html
(11:12:50 AM) jcastro: this one is handy
(11:12:59 AM) jcastro: it tells you what's broken in the archive right now
(11:13:10 AM) jcastro: so if you see important-looking things in here, you might want to wait
(11:13:27 AM) jcastro: since it's the beginning of lucid it's not surprising to see kernel packages and stuff in there
(11:13:37 AM) jcastro: the second thing to check is the -changes mailing list
(11:13:43 AM) jcastro: https://lists.ubuntu.com/mailman/listinfo/lucid-changes
(11:14:04 AM) jcastro: which has the upload changelogs
(11:14:07 AM) jcastro: here's an example
(11:14:08 AM) jcastro: https://lists.ubuntu.com/archives/lucid-changes/2009-November/000177.html
(11:14:28 AM) jcastro: (protip, the RSS feeds for these packages are here: http://feeds.ubuntu-nl.org/UbuntuChanges )
(11:14:40 AM) jcastro: as you run the dev release you'll start to learn how to read changelogs
(11:14:43 AM) jcastro: and why that's important
(11:14:59 AM) jcastro: usually if you see a package you'll start to learn how things work
(11:15:16 AM) jcastro: so for example if you see "New upstream release" in a small gnome game or something, it'll be safe
(11:15:35 AM) jcastro: but if it's a bunch of kernel packages and a changelog miles long, that might be worrisome
(11:15:56 AM) jcastro: after a while you'll learn about how packages interact with each other
(11:16:11 AM) jcastro: and then the third thing I check is the dev forum: http://ubuntuforums.org/forumdisplay.php?f=377here
(11:16:29 AM) jcastro: By now if someone has a problem and can't figure it out
(11:16:32 AM) jcastro: it might be posted here
(11:17:04 AM) jcastro: With all three of those sources you should have a good idea how +1 is for the moment
(11:17:10 AM) jcastro: remember that uploads happen all the time
(11:17:21 AM) jcastro: so at any given point the archive is in a different state
(11:17:29 AM) jcastro: I personally upgrade twice a day
(11:17:34 AM) jcastro: once in the morning, and in the afternoon
(11:17:47 AM) jcastro: and before each of those I check all three of those, just to be sure
(11:17:56 AM) jcastro: ok, after that you decide "ok this looks safe enough"
(11:18:02 AM) jcastro: or "no way, that's crazy"
(11:18:16 AM) jcastro: that's when I do the update step: sudo apt-get update
(11:18:27 AM) jcastro: a quick thing here
(11:18:51 AM) jcastro: a bunch of people just think they can run +1 and have update manager just fire off daily and they can click a button and be happy
(11:19:02 AM) jcastro: this probably will lead to tears
(11:19:25 AM) jcastro: in fact, if you're not comfortable with apt-get (or aptitude if you use that) and dpkg itself you can easily paint yourself into a corner
(11:19:45 AM) jcastro: so ensure that you read the man pages and documentation on those tools
(11:19:49 AM) jcastro: ok
(11:19:57 AM) jcastro: after the update you want to go ahead and do the upgrade
(11:20:03 AM) jcastro: which is: sudo apt-get upgrade
(11:20:13 AM) jcastro: now, here is where everyone gets confused
(11:20:23 AM) jcastro: (if you've been ignoring the whole session this is the important part)
(11:20:45 AM) jcastro: you always need to remember in the back of your head that the  archive is always changing in a dev release
(11:20:53 AM) jcastro: and things are connected in all sorts of ways
(11:21:06 AM) jcastro: so for example, when calc uploads openoffice.org, it's a TON of packages
(11:21:15 AM) jcastro: and sometimes it takes a while for things to build
(11:21:30 AM) jcastro: so for large packages sometimes chunks land right away
(11:21:32 AM) jcastro: sometimes not
(11:21:39 AM) jcastro: plus you have to wait for the mirrors to propagate, etc.
(11:21:43 AM) jcastro: so, in order to protect you
(11:22:02 AM) jcastro: apt says "well, he's missing some parts, let me hold back these packages so it doesn't break"
(11:22:23 AM) jcastro: when this happens apt tells you "the following packages have been held back:" and then a list of stuff
(11:22:42 AM) jcastro: when this happens to me I let it hold those packages back
(11:22:45 AM) jcastro: and let the upgrade continue
(11:23:22 AM) jcastro: if I see a package held back over the course of a few days then I try to seperately apt-get installing them
(11:23:35 AM) jcastro: so, let's say openoffice.org-awesomeness is held back
(11:23:40 AM) jcastro: because the rest of OOo is building
(11:24:33 AM) jcastro: in a few days I do "sudo apt-get install openoffice.org-awesomness"
(11:24:42 AM) jcastro: now I get more detail
(11:24:56 AM) jcastro: usually if it hasn't worked itself out it's because something significant has changed
(11:25:00 AM) jcastro: sometimes it looks scary
(11:25:25 AM) jcastro: it might say "library3 will be REMOVED, library4 will be installed" or something like that
(11:25:34 AM) jcastro: so this means that someone has updated the libraries
(11:25:36 AM) jcastro: so this is fine
(11:25:44 AM) jcastro: and I just let it finish and it does the upgrade
(11:25:53 AM) jcastro: sometimes a package is going through what we call a transition
(11:26:17 AM) jcastro: so let's say program A used to use library A, but now wants to use library B.
(11:26:25 AM) jcastro: this will cause it to be held back
(11:26:32 AM) jcastro: so you'll have to go back and work it  out
(11:26:41 AM) jcastro: however, since you've read the changelogs I mentioned above
(11:26:45 AM) jcastro: usually there should be no surprise
(11:26:59 AM) jcastro: the maintainer will put in the log something like "transitioning this to libfoo" or something
(11:27:12 AM) jcastro: there will also be announcements for major things on the development list
(11:27:19 AM) jcastro: particularly with sensitive things like boot stuff
(11:27:46 AM) jcastro: and since you also check the forums before you upgrade (right?) you'll see the scattered bodies of people who have not read the changelogs. :D
(11:27:56 AM) jcastro: one thing I do NOT recommend
(11:28:03 AM) jcastro: is just do sudo apt-get dist-upgrade
(11:28:10 AM) jcastro: this is the cause of many problems
(11:28:21 AM) jcastro: in fact, you'll see people posting this all over the internet
(11:28:35 AM) jcastro: the "problem" with dist-upgrading blindly is that it does what it's designed to do
(11:28:45 AM) jcastro: it reads the package lists of things that are supposed to be installed
(11:28:52 AM) jcastro: and it doesn't really account for the archive changing
(11:30:07 AM) jcastro: so it thinks "well, he said he wanted openoffice.org upgraded, but it's missing openoffice.org-awesome, however, I can't stand the package system being in an unknown state, so let's be safe an remove openoffice.org entirely"
(11:30:27 AM) jcastro: this is how people end up removing half their GUI or weird things like that
(11:30:44 AM) jcastro: so, remember dist-upgrade is for moving from stable release to stable release
(11:31:01 AM) jcastro: if the archive is being uploaded to and dependencies are changing, this will doom you
(11:31:11 AM) jcastro: so remember, just do a normal "upgrade"
(11:31:18 AM) jcastro: and if something is held back, let it sit there a bit
(11:31:29 AM) jcastro: and it will usually work itself out over the next few hours or days
(11:31:45 AM) jcastro: any questions on this so far?
(11:31:54 AM) jcastro: I want to make sure everyone is clear about the dist-upgrade
(11:32:07 AM) jcastro: (ask questions in #ubuntu-classroom-chat)
(11:32:33 AM) jcastro: wow, no questions, awesome
(11:32:44 AM) jcastro: ok
(11:32:51 AM) jcastro: so, after you've done the upgrade, you're not done!
(11:32:58 AM) jcastro: depending on what you upgraded you might need to do things
(11:33:16 AM) jcastro: so for example if you have firefox open and firefox upgrades we tell you to restart firefox (just in case)
(11:33:25 AM) jcastro: also, if you get a new kernel you'll need to reboot
(11:33:44 AM) jcastro: if you get a new GNOME or KDE you'll want to log out and back in
(11:34:13 AM) jcastro: while stable releases run great for days and days
(11:34:31 AM) jcastro: during the devel release you'll want to make sure you're running the latest thing and given the program a chance to run
(11:34:36 AM) jcastro: otherwise your bugs will be worthless
(11:34:49 AM) jcastro: Question: where can we get the Lucid ISO? or do we have to install Karmic and go from there?
(11:35:04 AM) jcastro: there are no ISOs at this point, you'll have to upgrade from karmic
(11:35:22 AM) jcastro: ok, some other pointers
(11:35:56 AM) jcastro: you can get a feel for what's going on depending on what week it is
(11:35:57 AM) jcastro: https://wiki.ubuntu.com/LucidReleaseSchedule
(11:36:00 AM) jcastro: so for example
(11:36:04 AM) jcastro: right now we're syncing with debian
(11:36:08 AM) jcastro: and UDS hasn't happened yet
(11:36:17 AM) jcastro: so there will be a bunch of syncs
(11:36:44 AM) jcastro: also, if you look at all the freezes on the schedule you can also figure out how safe the archive will be
(11:37:13 AM) jcastro: so, the week before feature freeze it's likely to be very busy
(11:37:21 AM) jcastro: and during UDS week it's likely slowed down
(11:37:34 AM) jcastro: I know some people who wait for a certain point
(11:37:40 AM) jcastro: that's up to you
(11:37:49 AM) jcastro: remember once you are running lucid when you update you're up to date
(11:37:57 AM) jcastro: so if you get a Beta, and you do your updates
(11:38:07 AM) jcastro: you won't need to download and reinstall RC
(11:38:22 AM) jcastro: Question: We are syncing from testing for lucid, I think? How do you feel this would affect development, and those running it?
(11:38:36 AM) jcastro: I think this will mean Lucid will have less bugs overall
(11:38:43 AM) jcastro: and be a less bumpy ride
(11:38:57 AM) jcastro: (but not right now, bunch of syncs happening)
(11:39:12 AM) jcastro: unless you seriously want the crack, I don't recommend using lucid until at least alpha 1
(11:39:22 AM) jcastro: right now the toolchain and the lower bits are settling
(11:39:33 AM) jcastro: and we haven't had UDS yet so it's just syncing
(11:39:43 AM) jcastro: ok
(11:39:49 AM) jcastro: let's talk about some other common problems
(11:39:56 AM) jcastro: one you'll see a bunch is when you use a slow mirror
(11:40:01 AM) jcastro: and apt spits out 404 errors
(11:40:22 AM) jcastro: usually if you're using an official mirror trying again will round robin to another one and you'll get the packages
(11:40:31 AM) jcastro: also, sometimes mirrors sync with others wrong
(11:40:49 AM) jcastro: so it will rsync the Packages files and it just so happens that you want to upgrade and the mirror hasn't gotten the actual packages yet
(11:41:15 AM) jcastro: this happens with large packages like OOO or eclipse or something
(11:41:39 AM) jcastro: one thing I don't recommend (but people do) is to hammer the official archive mirrors over and over
(11:41:58 AM) jcastro: also, if you have a bunch of machines, consider using squid or something to save bandwidth and load on the mirrors
(11:42:48 AM) jcastro: because the archive updates ALOT
(11:42:56 AM) jcastro: hundreds of megs a day sometimes
(11:43:05 AM) jcastro: Any more questions?
(11:43:23 AM) jcastro: Ok
(11:43:32 AM) jcastro: so, remember that the reason to use +1 is to get testing
(11:43:46 AM) jcastro: so it's important to make sure you report good bugs
(11:43:57 AM) jcastro: Sometimes you don't know if something is a real bug
(11:44:04 AM) jcastro: or if someone just broke something and is fixing it
(11:44:13 AM) jcastro: when people get lost they post on the lucid forum
(11:44:18 AM) jcastro: this is totally /fine/ and encouraged!
(11:44:25 AM) jcastro: in fact some people flesh out bugs before they report them
(11:44:42 AM) jcastro: "Is anyone else seeing this or is it just me?" threads can save from a bunch of us filing the same stupid bug in launchpad
(11:44:52 AM) jcastro: causing the QA follks to have to go through dupes, etc.
(11:45:03 AM) jcastro: so getting your ducks in a row before you report a bug can be very efficient.
(11:46:02 AM) jcastro: Question: could you define "UDS" and "toolchain" and possibly tell us what Squid is?
(11:46:06 AM) jcastro: Sure!
(11:46:19 AM) jcastro: UDS is the ubuntu development summit, where we figure out what Lucid will be like
(11:46:46 AM) jcastro: since Lucid will be a long term support release that's kind of obvious
(11:46:58 AM) jcastro: "toolchain" are the bits that you build a distro on
(11:47:12 AM) jcastro: so your compilers, guts, system level things
(11:47:28 AM) jcastro: squid is a caching proxy, which will cache debs for you
(11:47:37 AM) jcastro: there are a bunch of tools that can do that
(11:48:13 AM) jcastro: if you deploy hundreds of machines you know what that is
(11:48:46 AM) jcastro: if you don't understand some of the terms I'm talking about then for sure you should be trying this in a virtual machine instead of real hardware
(11:49:30 AM) jcastro: after you've broken yourself a bunch of times you'll know when you're ready to run it full time. :D
(11:50:38 AM) jcastro: Question: When does the development of the next release of Ubuntu start? Right after one is released
(11:50:44 AM) jcastro: usually
(11:50:51 AM) jcastro: right now we're scheduling sessions for UDS
(11:51:04 AM) jcastro: https://wiki.ubuntu.com/UDS-L
(11:51:13 AM) jcastro: all the information you need is linked from there
(11:51:26 AM) jcastro: http://summit.ubuntu.com/uds-l/ has the schedule
(11:51:34 AM) jcastro: there will be icecast streams so you can follow along
(11:51:45 AM) jcastro: and all the blueprints and documents are all available
(11:51:54 AM) jcastro: I also plan to post many videos this time around!
(11:52:03 AM) jcastro: Question: what are the development goals for Lucid?
(11:52:10 AM) jcastro: that's what we do at UDS, figure those out
(11:52:19 AM) jcastro: however Lucid is LTS so we already know certain things
(11:52:28 AM) jcastro: like we'll be more conservative on things
(11:52:37 AM) jcastro: and we'll concentrate on bug fixes all cycle
(11:52:46 AM) jcastro: some people might call that boring
(11:52:57 AM) jcastro: but rock solid is never boring. :D
(11:53:06 AM) jcastro: Question: How does one join the development of Ubuntu? Beta testing is, of course, there; but what about main development?
(11:53:14 AM) jcastro: Oh man, that session was yesterday!
(11:53:17 AM) jcastro: but don't worry
(11:53:28 AM) jcastro: https://wiki.ubuntu.com/MeetingLogs/openweekKarmic/IntroDeveloper
(11:53:30 AM) jcastro: start here
(11:53:36 AM) jcastro: that should have everything you need to get started
(11:53:46 AM) jcastro:  QUESTION: Can I upgrade in place by editing /etc/apt/sources.list changing karmic to lucid?
(11:53:48 AM) jcastro: Yep
(11:53:57 AM) jcastro: that's how I used to do it
(11:54:04 AM) jcastro: lately I get lazy and just do update-manager -d
(11:54:08 AM) jcastro: also, this reminds me
(11:54:27 AM) jcastro: if you have a bunch of PPAs or something in your sources.list you'll want to comment them out before an upgrade
(11:54:47 AM) jcastro: also, if you're running a "mongrel" system with a bunch of PPAs, self made debs
(11:54:50 AM) jcastro: and general crack
(11:54:55 AM) jcastro: consider a clean install
(11:55:05 AM) jcastro: instead of reporting bugs with all sorts of brokeness
(11:55:11 AM) jcastro: ok that's all I have time for
(11:55:17 AM) jcastro: I hope you guys are ready for Mark Shuttleworth!
(11:58:32 AM) jcastro: Ok I've been informed that mark is having power supply problems
(11:58:38 AM) jcastro: but it's getting sorted, please bear with us

MeetingLogs/openweekKarmic/RunPlusOne (last edited 2009-11-06 19:33:22 by pool-68-238-91-2)