[00:54] package management 10 min ? [00:54] anyone here for packagemanagemt ? [00:55] o/ [00:56] :o [00:56] nhandler: you could probably do better then I in this discussion, so feel free to add in as the time comes :) === nhandler changed the topic of #ubuntu-classroom to: Ubuntu Classroom || https://wiki.ubuntu.com/Classroom || https://lists.ubuntu.com/mailman/listinfo/ubuntu-classroom || Currently: Package Management (Installing software) 00:00 - 01:00 UTC (bodhi_zazen) || Upcoming: || Run 'date -u' in a terminal to find out the UTC time [00:59] * alexbobp manages Daisuke_Ido's package [00:59] Wat. [01:00] WastePotato: I'm just getting ready for the class [01:00] anyone want to see command line stuff with a shared session ? [01:00] will save that for the end :) [01:00] shared ssh? [01:00] yes d0htem :) [01:00] ssh + screen [01:00] First, thank you all for coming [01:01] If you have any suggestions for topics, let me know :) [01:01] !fix jaunty compiz configuration [01:01] d0htem: Error: I am only a bot, please don't think I'm intelligent :) [01:01] ? [01:01] https://wiki.ubuntu.com/BeginnersTeam/FocusGroups/Education/Proposals [01:01] FYI, the long term goal is to establish Ubuntu Education [01:02] We have started the Ubuntu Community Learning Project [01:02] https://wiki.ubuntu.com/Learning [01:03] :) [01:03] OK, package management [01:03] this session is aimed at new users, although if it is too basic we can get into the nitty-gritty :) [01:03] jacob: way to be late [01:04] new users are often overwhelmed, and one of the FAQ is how to install things [01:04] Joeb454: it's how the cool kids roll [01:04] Should be obvious, but they get caught up in tar balls fast :) [01:04] There are many ways of installing software, known as packages [01:05] If you are new to Ubuntu, and even if you are not, use the repositories (which we will cover). [01:05] The repositories are pre-built binary packages [01:06] reference : https://help.ubuntu.com/community/InstallingSoftware [01:06] So let's discuss how to install packages using graphical tools :) [01:06] I am a BIG fan of Synpatic [01:07] https://help.ubuntu.com/community/SynapticHowto [01:07] Alternates include "Add/Remove" [01:08] although personally I find Add/Remove is not as good as synaptic, especially when searching for packages. [01:08] Kubuntu uses Adept - similar comments :) [01:08] Add/Remove is in your menu, lol [01:09] OK, brief overview / side track :) [01:09] Where do packages come from ? [01:09] a question every parent dreads :) [01:10] Packages come from source code [01:10] the source coed is compiled into binaries by the ubuntu developers and the MOTU (over simplification, sorry) [01:11] The binaries are stored in the Repositories, or collections of packages [01:11] https://help.ubuntu.com/community/Repositories/Ubuntu [01:11] Packages have some housekeeping we will not be discussing in detail at the moment [01:12] Developers "sign" the packages (security issues) [01:12] https://help.ubuntu.com/community/SecureApt [01:13] Apt is the "Back end" [01:13] Apt is used to track packages and dependencies [01:13] A dependency is requirements [01:14] for example, say you wish to run Firestarter [01:14] (bad example I know) [01:14] You need to have (among other things) iptables and X (a graphcial system) as Firestarter is a graphical system [01:15] In the good old days, before package management, you would have to find all these dependencies for yourself [01:15] Now Apt, and thus apt-get, aptitude, Synaptic, Adept, Add/Remove track all this for you :) [01:15] Major advantage of Ubuntu, especially for new users [01:16] With me so far ? [01:16] So let us return to installing a package foo [01:16] Assuming foo is in the Ubuntu Repositories you can install foo with a graphical front end [01:17] And all the dependencies will be installed for you [01:17] You can use the graphical front end to manage repositories [01:17] And remove the package as well [01:17] So ... Where does a package go ? [01:18] In Windows programs typically go into Program Files, organized by Program [01:18] In Linux the files system is organized differently [01:18] so .. [01:18] the binary itself goes into /bin (or /usr/bin or /sbin ... ) [01:19] The config files go in /etc [01:19] the user files go in $HOME [01:19] the man pages go with the other man pages [01:19] So if you understand the basics of the Linux File System / tree you know where packages go :) [01:20] Overview of the repositories ? [01:21] https://help.ubuntu.com/community/Repositories/Ubuntu [01:21] When you first install Ubuntu, not all of the repositories are "acitve" [01:21] Typically Main [01:22] One then adds Restricted Universe and Multiverse [01:22] The exact mechanics of adding a repository vary by the tool you are using and is covered in detail here : https://help.ubuntu.com/community/Repositories/Ubuntu [01:23] I mention that as one of the other FAQ new users have is what to do when an application is not found in Add/Remove etc [01:23] and the most common reason for that is the Universe / Multivers repositories are not active [01:24] One can manually activate repositories by editing /etc/apt/sources.list [01:24] and removing # at the front of lines or adding lines [01:24] Next installing 3rd party applications .deb etc [01:25] First, security - do not install application from untrusted sources :) [01:25] As a note, if you edit /etc/apt/sources.list by hand, remember to run 'sudo apt-get update' to cause your changes to take effect [01:25] Second, just because it is a .deb does NOT mean you can install it on Ubuntu [01:25] And third, you can not mix and match repositories at will [01:26] by that I mean, although Ubuntu is based on Debian , you can not simply add the debian repositories [01:26] likewise you can not mix 9.04 repositories with 8.04 :) [01:27] If you mix repositories you can try something like pinning : https://help.ubuntu.com/community/PinningHowto [01:27] be warned , you can not simply use pinning either, pinning can cause breakage [01:28] IMO, rather then using 3rd party .deb or pinning you are best off building from source [01:28] I will leave building from source for another day :) [01:28] The good news, with the sheer size of the Ubuntu repositories it is rare you need to build from source [01:29] I am going to move to command line next [01:29] questions about basic packages / dependencies / graphical front ends ? [01:29] If not, do you want a demo on a shared ssh session ? [01:30] -- Questions please -- [01:30] how do packages get added to repository [01:30] depends on the repository [01:30] why arent they allways uptodate and how can we help, to do that in example nmap [01:30] how general are you asking ? [01:30] how do you get a package into the repositories ? [01:31] yes! [01:31] Well, in general , a 3rd party application such as nmap => MOTU :) [01:31] nmap is in main [01:32] d0htem, submit the package's lp info to a MOTU person, and he might consider it [01:32] If the package is in main then it is the Canonical developers [01:32] then there are personal package archives [01:32] In general [01:32] A package gose through testing [01:32] *goes* [01:32] bodhi_zazen: not necessairily canonical, but ~ubuntu-core-dev [01:32] Let us use mother Debian as an example [01:32] man dpkg is a good hint for checking deb's [01:32] you have debian stable [01:33] those packages are older, and, as the name implies, stable [01:33] bugs have been tested and worked out [01:33] A new package or version comes along [01:33] It goes first into Unstable [01:34] people test it and it then goes into testing [01:34] as it is further tested it finds it's way into stable [01:34] Is that general enough for everyone ? [01:34] yes thank you very much [01:34] Ubuntu takes a snapshot of testing => fixes bugs => release every 6 months [01:35] So if you want to help -> participate in testing and bug reports [01:35] or join one of the development teams [01:35] but is it no simply compile an updated binary and release it :) [01:35] At the time of the final release candidate, all repositories are 'frozen', meaning no major version updates are applied [01:36] * st33med just adding two cents [01:36] thanks :) [01:36] it is a broad question [01:36] In general updated packages go through testing before they make it into the repositories [01:36] While we are on that subject :) [01:37] How often to update your system ? [01:37] New users often update daily [01:37] Every five seconds [01:37] :) [01:37] just keep in mind , a chance to update is a chance to break [01:37] * st33med shuts up [01:37] So, before you update :) [01:37] 1. Ask yourself, do you need said updated package ? [01:38] 2. i look on the forums, are there threads like "todays update broke X" ? [01:38] 3. Look at the list of packages to be updated [01:38] I advise security updates daily [01:38] The rest I do once a week at most [01:39] Sometimes , on servers, once every 3 months [01:39] >:) [01:39] bad bodhi_zazen [01:39] depends on what will happen if an update breaks a system [01:39] Desktops do not matter [01:39] Servers sometimes do [01:39] LOL statik [01:40] st33med: :) [01:40] :D [01:40] newer is not always better, and sometimes one trades stability for older packages [01:40] Of course I update my test installs in a VM daily [01:40] but if a VM breaks, no big deal [01:40] OK, command line then ? [01:41] Sure \o/ [01:41] You can update with [01:41] apt-get update [01:41] apt-get upgrade [01:41] If a package is held back, try [01:41] apt-get dist-upgrade [01:41] just make sure to cover apt-cache - the single easiest way to search for and get info on packages [01:42] You can install a .deb, like say virtualbox, with dpkg [01:42] dpkg -i Virtualbox.bed [01:42] *deb [01:42] That will fail if you have unmet dependencies ... [01:42] so ... [01:42] apt-get -f [01:42] Usually, the only time you have a held back package is a pinned package or you are in a pre-RC version of Ubuntu [01:42] apt-get -f install [01:42] will install dependencies , then finish installing VirtualBox [01:43] apt-get must of course be run as root , so sudo apt-get ... [01:43] or sudo -i [01:43] or make an alias :) [01:44] For information on packages you have apt-cache (which can be run as a regular user) [01:44] apt-cache search foo [01:44] will tell you all about package foo [01:44] and then there is also dpkg [01:44] dpkg -l [01:44] will list all installed packages :) [01:45] you can also use aptitude, similar to apt-get [01:45] aptitude install foo [01:47] you can use apt-get to build from source if you like as well :) [01:47] it will use the Ubuntu source code, in the deb-src repositories [01:47] teh ubuntu source code is often patched :) [01:48] apt-get will even handle dependencies for that as will [01:48] is there any advantage to doing that? [01:49] In general no franki^ [01:49] BUT sometimes you need or want to say apply a patch [01:49] or modify the source code yourself [01:50] nhandler: ?? [01:50] anything to add ? [01:50] apt-get moo [01:50] :) [01:50] We have 10 minutes left and I would like to stop to answer questions ... [01:51] This was kind of a lightning overview of package management , lol [01:51] --- QUESTIONS --- [01:52] one thing i would like to point out, universe + restricted are enabled by default on new installs (not sure if multiverse is or not) [01:52] bodhi_zazen: can you discuss the use of sudo dpkg --remove --force-depends bar [01:53] bodhi_zazen: for fixing broken packages [01:53] Well, first, when removing a package [01:53] you [01:53] apt-get remove foo [01:53] That *should* remove dependencies [01:53] apt-get remove --purge foo [01:53] removes foo and config files [01:54] but NOT config files in $HOME [01:54] Sometimes not all the dependencies are removed [01:54] your system will notify you, in which case [01:54] apt-get autoremove [01:55] Fixing broken packages can be tough :) [01:55] doesnt apt-get -f do the same as dpkg --remove [01:55] I do not think so d0htem [01:55] apt-get -f = force or fix broken [01:56] how do I get the *deb name of a package, let's say firefox ? [01:56] apt-cache serarch firefox [01:56] DasEi, it usually has a .deb at the end or some version numbers at the end + a deb [01:56] dpkg --remove --force-depends will remove foo and it's depencencies [01:57] I try to list ff's dependencies, like in this (outdated) sample : dpkg-deb -I packages/firefox_1.5.dfsg+1.5.0.1-1ubuntu12_i386.deb [01:57] apt-cache showpackage firefox [01:58] ah.. [01:58] i had to use this; alternating with dpkg- --force-depends packagename then apt-get -f install until i finally got all the broken packages removed [01:58] showpkg? [01:58] yes [01:58] sorry [01:58] apt-cache showpkg firefox 05/14/09 6:58 PM Package: firefox Versions: Reverse Depends: xfig-doc,firefox webhttrack,firefox screenlets,firefox openoffice.org,firefox nip2,firefox mozilla-plugin-pcmanx,firefox mozilla-openoffice.org,firefox mozilla-nukeimage,firefox mozilla-noscript,firefox mozilla-imagezoom,firefox [01:59] thatdid the trick, thx [01:59] Well, if you have broken packages you can be in serious trouble [02:00] usually happens when installing 3rd party .deb [02:00] * wirechief had a package of bandaids with me [02:00] Which gets back to , just because it is a .deb does not mean you should install it :) [02:00] bodhi_zazen: well this was with using karmic (it will break things atm) [02:01] It could be a Debian .deb and break the system [02:01] lol wirechief :) [02:01] mixed repositories or pinning ? [02:01] Our time is up :( [02:02] I hope this was not too fast of an overview [02:02] bodhi_zazen: actually have done the update-manager -d to get karmic, i am trying to get the leading edge fix [02:02] for my intel [02:02] package management can get complicated fast [02:02] Ah :) [02:02] was more then that, nice [02:03] bodhi_zazen: i am basically testing freeze issues with intel and giving as much feedback to the people who are tracking the bug [02:04] The intention of these sessions is education and if you all have a topic please add it to the list [02:04] https://wiki.ubuntu.com/BeginnersTeam/FocusGroups/Education/Proposals [02:04] bodhi_zazen: thank you for your classroom session i plan on saving if for future references.. [02:04] Obviously we can talk a whole hour on some of these topics :) [02:05] we could do a session on installing from source :) [02:05] ;) [02:05] a whole session on testing / adding packages to Ubuntu , etc [02:05] bodhi_zazen, from a .tar or repository? Or both? [02:06] i was thinking both statik [02:06] st33med: :) [02:06] :D [02:06] auto-complete for the lose :p [02:06] first from repositories [02:06] then resolving dependencies [02:06] foo-dev [02:06] build-essential [02:06] and then .tar.gz [02:07] of course that leads to things like gcc ... >:) [02:07] OK, meet again in 2 weeks === nhandler changed the topic of #ubuntu-classroom to: Ubuntu Classroom || https://wiki.ubuntu.com/Classroom || https://lists.ubuntu.com/mailman/listinfo/ubuntu-classroom || Upcoming: 21st May, 18:00 UTC: Reviewing New Packages (mok0), 28th May, 00:00 UTC: Packaging Using CDBS (nhandler) || Run 'date -u' in a terminal to find out the UTC time [02:07] I shall consider installing form source unless there are other suggestions :) [02:08] nhandler: sorry if I botched package management too much :) [02:08] No, you did a very nice job bodhi_zazen [02:08] It's my fault XD [02:08] installing from source!! plz [02:08] bodhi_zazen: i would like to see a course on compiling alsa driver for sound, many need updated drivers for their sound to work after upgrading or installing ubuntu new. [02:08] It is difficult explaining package management in simple language [02:09] OK next session - to the source :) [02:09] I have to run, family time :) [02:09] thank you everyone [02:10] thanks bodhi_zazen [02:10] Say hey to the kiddos :D [02:10] I think I need to bite off smaller topics and leave more time for questions :p [02:10] ;) [02:10] * st33med thinks about setting up a Python tutorial again... [02:10] to hell with py! [02:10] HISSS [02:11] .rb for the win [02:11] .py ftw [02:11] die [02:11] no u [02:17] nice one st33med, you killed him. [02:17] yay [02:50] what is this room for? classes or queations [02:50] classes mainly, I believe [02:50] oh ok ty [02:50] yw [02:50] do you know what kind of classes [02:51] a little bit of everything [02:51] https://wiki.ubuntu.com/Classroom [02:51] kk [02:51] that might explain it better [02:51] k ty again [02:51] no problem [02:51] i just installed ubuntu 2 days ago lol [02:52] ah, congrats [02:52] so far i like it better than xp [02:52] ty [02:52] its just so differant [02:52] it is [02:52] you will get used to it eventually [02:52] i am running dual OS [02:52] i hope so [02:52] that is good [02:53] i run xp for gamming lol [02:53] if you don't like it you can always go back [02:53] true [02:53] I used to, but I have been all Linux for about 3 years now [02:53] wow [02:53] yeah it has been a fun ride [02:53] this installing is mostly waht gets me stuck [02:54] its differant [02:54] it got me at first, but I have tried so many systems, that I can install without blinking now [02:54] You guys might want to move this conversation to a different channel [02:54] sorry nhandler [02:54] sorry [02:55] ty for the link perl [02:55] yw === mimir|zZz is now known as mimir|on === ejat is now known as e-jat === redarrow_ is now known as redarrow === ejat is now known as e-jat