Homework 3 nii.gz and whatnot Forgot to talk about this last week The progress wheel demo from last time (backspace.py) sys.stdout.flush() Setting a shell variable for one use only Midterm note: Pay attention to homework Three categories of questions: - Skills (homework) - Knowledge (remembering from lecture/book) - Understanding (Combining the above) Unix philosophy - Toolbox + Some fit more closely together than others - Example: Writing a document - Example: Writing a program in C + An IDE is a tool Tools are built using tools! - Example: xine - Libraries, dynamic vs. static linking + Example with gcc - If we have time: disassemble Understanding package management: - Dependencies (xine example) - Packages (some packages are programs) + What if you just have a package? - There are two major package formats: + .deb (Advanced Package Manager) + .rpm (RPM Package Manager) - Smaller systems exist (pkg, portage/emerge, yum) - These all conceptually do the same thing + but they're not exactly the same... Debian-specific: - Unix philosophy again - dpkg installs packages - apt-get resolves dependencies and finds a solution + And fetches packages with wget - apt-cache finds and displays package information - aptitiude is a fancy interface for these + Does contain conflict resolution logic + curses UI, command line UI - synaptic is a GUI to operate these - apt is a newer frontend intended for front-end use + Learn to use this one + I actually prefer the way aptitude lists search results Ok, xine example again: - What xine-related packages exist? - What dependencies does xine-ui have? + aptitude show - What unscrambles DVDs? + DVD Jon and complex copyright law + It's arguably legal in the USA + Country laws differ, technicality in general Let's remove and reinstall something - Something important maybe? Combining this with stuff we know: - python tkinter packages - Just display installed packages + Or uninstalled packages! - Side note: Virtual packages Unfortunate note: You can't install and remove things on isoptera But, you can on the machines around the room! Don't just break them for fun unless you can fix them Installing something to try it out is just fine Or updating one of them Back to the text-based config files: - /etc/apt - Debian versions - Ubuntu versions Further note about text configuration files: Most services have them apache example