Feed aggregator

Ubuntu 11.10 (Oneiric Ocelot) End of Life reached on May 9, 2013

The Fridge - Fri, 05/10/2013 - 12:06

This is a follow-up to the End of Life warning sent last month to
confirm that as of today (May 9, 2013), Ubuntu 11.10 is no longer
supported. No more package updates will be accepted to 11.10, and
it will be archived to old-releases.ubuntu.com in the coming weeks.

The original End of Life warning follows, with upgrade instructions:

Ubuntu announced its 11.10 (Oneiric Ocelot) release almost 18 months
ago, on October 13, 2011. As with the earlier releases, Ubuntu
committed to ongoing security and critical fixes for a period of 18
months. The support period is now nearing its end and Ubuntu 11.10
will reach end of life on Thursday, May 9th. At that time, Ubuntu
Security Notices will no longer include information or updated
packages for Ubuntu 11.10.

The supported upgrade path from Ubuntu 11.10 is via Ubuntu 12.04.
Instructions and caveats for the upgrade may be found at
https://help.ubuntu.com/community/PreciseUpgrades. Ubuntu 12.04
continues to be actively supported with security updates and
select high-impact bug fixes. All announcements of official security
updates for Ubuntu releases are sent to the ubuntu-security-announce
mailing list, information about which may be found at
https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce.

Since its launch in October 2004 Ubuntu has become one of the most
highly regarded Linux distributions with millions of users in homes,
schools, businesses and governments around the world. Ubuntu is Open
Source software, costs nothing to download, and users are free to
customise or alter their software in order to meet their needs.

On behalf of the Ubuntu Release Team,

Adam Conrad

Originally posted on the ubuntu-announce mailing list on Thu May 9 20:06:34 UTC 2013.

The Fridge: Ubuntu 10.04 (Lucid Lynx) Desktop End of Life reached on May 9, 2013

Planet Ubuntu - Fri, 05/10/2013 - 12:02

This is a follow-up to the End of Life warning sent last month to
confirm that as of today (May 9, 2013), Ubuntu 10.04 Desktop is no
longer supported. This announcement is for the desktop product only,
Ubuntu 10.04 Server is still supported for another two years.

The original End of Life warning follows, with upgrade instructions:

Ubuntu announced its 10.04 (Lucid Lynx) release almost 3 years ago,
on April 29, 2010. As with the earlier LTS releases, Ubuntu committed
to ongoing security and critical fixes for a period of 3 years on the
desktop. The support period is now nearing its end and Ubuntu 10.04
Desktop will reach end of life on Thursday, May 9th. At that time,
Ubuntu Security Notices will no longer include information or updated
packages for Ubuntu 10.04 Desktop. Ubuntu 10.04 Server continues to
be supported for another 2 years.

The supported upgrade path from Ubuntu 10.04 is via Ubuntu 12.04.
Instructions and caveats for the upgrade may be found at
https://help.ubuntu.com/community/PreciseUpgrades. Ubuntu 12.04
continues to be actively supported with security updates and
select high-impact bug fixes. All announcements of official security
updates for Ubuntu releases are sent to the ubuntu-security-announce
mailing list, information about which may be found at
https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce.

Since its launch in October 2004 Ubuntu has become one of the most
highly regarded Linux distributions with millions of users in homes,
schools, businesses and governments around the world. Ubuntu is Open
Source software, costs nothing to download, and users are free to
customise or alter their software in order to meet their needs.

On behalf of the Ubuntu Release Team,

Adam Conrad

Originally posted on the ubuntu-announce mailing list on Thu May 9 20:03:39 UTC 2013

Ubuntu 10.04 (Lucid Lynx) Desktop End of Life reached on May 9, 2013

The Fridge - Fri, 05/10/2013 - 12:02

This is a follow-up to the End of Life warning sent last month to
confirm that as of today (May 9, 2013), Ubuntu 10.04 Desktop is no
longer supported. This announcement is for the desktop product only,
Ubuntu 10.04 Server is still supported for another two years.

The original End of Life warning follows, with upgrade instructions:

Ubuntu announced its 10.04 (Lucid Lynx) release almost 3 years ago,
on April 29, 2010. As with the earlier LTS releases, Ubuntu committed
to ongoing security and critical fixes for a period of 3 years on the
desktop. The support period is now nearing its end and Ubuntu 10.04
Desktop will reach end of life on Thursday, May 9th. At that time,
Ubuntu Security Notices will no longer include information or updated
packages for Ubuntu 10.04 Desktop. Ubuntu 10.04 Server continues to
be supported for another 2 years.

The supported upgrade path from Ubuntu 10.04 is via Ubuntu 12.04.
Instructions and caveats for the upgrade may be found at
https://help.ubuntu.com/community/PreciseUpgrades. Ubuntu 12.04
continues to be actively supported with security updates and
select high-impact bug fixes. All announcements of official security
updates for Ubuntu releases are sent to the ubuntu-security-announce
mailing list, information about which may be found at
https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce.

Since its launch in October 2004 Ubuntu has become one of the most
highly regarded Linux distributions with millions of users in homes,
schools, businesses and governments around the world. Ubuntu is Open
Source software, costs nothing to download, and users are free to
customise or alter their software in order to meet their needs.

On behalf of the Ubuntu Release Team,

Adam Conrad

Originally posted on the ubuntu-announce mailing list on Thu May 9 20:03:39 UTC 2013

Ubuntu 8.04 (Hardy Heron) End of Life reached on May 9, 2013

The Fridge - Fri, 05/10/2013 - 11:57

This is a follow-up to the End of Life warning sent last month to
confirm that as of today (May 9, 2013), Ubuntu 8.04 is no longer
supported. No more package updates will be accepted to 8.04, and
it will be archived to old-releases.ubuntu.com in the coming weeks.
The original End of Life warning follows, with upgrade instructions:

Ubuntu announced its 8.04 (Hardy Heron) release almost 5 years ago,
on April 24, 2008. As with the earlier LTS releases, Ubuntu committed
to ongoing security and critical fixes for a period of 5 years. The
support period is now nearing its end and Ubuntu 8.04 will reach end
of life on Thursday, May 9th. At that time, Ubuntu Security Notices
will no longer include information or updated packages for Ubuntu 8.04.

The supported upgrade path from Ubuntu 8.04 is via Ubuntu 10.04.
Users are encouraged to evaluate and upgrade to our latest 12.04 LTS
release via 10.04. Instructions and caveats for the upgrades may be
found at https://help.ubuntu.com/community/LucidUpgrades and
https://help.ubuntu.com/community/PreciseUpgrades. Ubuntu 10.04 and
12.04 continue to be actively supported with security updates and
select high-impact bug fixes. All announcements of official security
updates for Ubuntu releases are sent to the ubuntu-security-announce
mailing list, information about which may be found at
https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce.

Since its launch in October 2004 Ubuntu has become one of the most
highly regarded Linux distributions with millions of users in homes,
schools, businesses and governments around the world. Ubuntu is Open
Source software, costs nothing to download, and users are free to
customise or alter their software in order to meet their needs.

On behalf of the Ubuntu Release Team,

Adam Conrad

Originally posted on the ubuntu-announce mailing list on Thu May 9 20:05:04 UTC 2013

Benjamin Kerensa: Ubuntu is Community

Planet Ubuntu - Fri, 05/10/2013 - 07:00

This is how I felt when I found out Community was removed.

So as many of you are aware the Ubuntu Canonical Design Team a few weeks back decided to revamp Ubuntu.com which is all fine and well but they decided when doing the re-design to remove “Community” from the place it has sat for years: that being the header menu of the site. Indeed, Canonical received some immediate outcry from myself and other Ubuntu Community members including members of the Ubuntu Governance and for very good reason.

After all Ubuntu is a community-driven Linux distribution operating system powered by hundreds of contributors many of which are strictly Community Members and not employed by Canonical. So I ask those of you reading this whether you think Canonical should have informed the Community of its intentions or at the very least informed the Community Council and whether the Community deserves to stay in the prominent place is has for years?

But before you formulate an answer I ask you to take into consideration that a good majority of open source projects of the scale that Ubuntu is do indeed prominently have a link to a page discussing and highlighting their community and some examples of that can be found right here.

Lets dig in a bit deeper though and try to understand what kind of websites don’t have a Community link at the top of their page and some examples that come to mind are Apple and Microsoft but of course they don’t because they are focused on making money and do not have an open source culture.

Canonical Design Team: By focusing our site navigation on the products themselves, we aim to make it clear for someone who is new to the site that Ubuntu is about all of these things: PCs, phones, tablets — you name it.

So focus on products and not Community? I don’t think that’s ok.

What do we do about this?

Well, we have a variety of options:

  • We can stomp our feet and be upset
  • We can say were leaving the community
  • We can switch to Arch Linux (or not!)

But in reality I think the one productive option we have as a community is to discuss this at next weeks vUDS (Virtual Ubuntu Developer Summit) and ask Canonical’s Design Team and the Canonical Community team why they made a decision to “spring clean” the Ubuntu Community right off Ubuntu.com.

But better yet let’s discuss what our expectations are and come to a consensus as a community. After all, vUDS is where the community comes together to make decisions. Let’s not leave vUDS without a solid timeline as to when we will see the “Ubuntu Community” having an equal and prominent placement on Ubuntu.com among Ubuntu TV and Mobile.

Be apart of the discussion!

You can mark this bug as affecting you and you can also register to attend vUDS and mark yourself as attending the session scheduled to discuss this blueprint.

 

 

 

The post Ubuntu is Community appeared first on Benjamin Kerensa dot Com.

Nicholas Skaggs: People behind ubuntu quality: Jackson

Planet Ubuntu - Fri, 05/10/2013 - 05:00
This post is part of a series on the people behind the ubuntu quality team. Let me introduce you to Jackson, who loves modding his computer. He stumbled his way into ubuntu and hasn't looked back.

1) Could you provide a bit of background about yourself?

My name is Jackson Doak, i'm 14 and live in Australia. I use the nickname “Noskcaj” for everything online. I have been building PCs since i was 12, I've since attempted to make a volenti cooler, which is unfinished.

Check out that ubuntu orange!2) How did you become invovled with the Ubuntu community?

I found Ubuntu after finishing my first PC and realizing I didn't have enough money to buy windows. I have since been using ubuntu on all my computers except my gaming PC. The ease of customization and security are to of the main reasons I still use Ubuntu.

3) What attracted you to the quality team?

I joined the QA team because I wanted to get involved with the community and it seemed the best option for me.

4) What would you say to folks new to ubuntu and/or testing?

To anyone new to the community/testing: Please try and help, any amount of time is useful, especially if you have a PowerPC computer or something that runs ubuntu touch. Even if you just tell your friends about ubuntu and get us more users, you are helping.

5) How would you describe the community and the experience of using ubuntu?

So far the community has been great, very helpful. Although there does seem to be a lack of cross group communication at times.

6) What would you like to see in the future for ubuntu?

I really do hope that canonical's vision of ubuntu on all 4 screens (PC, tablet, phone and TV) works, and UbuntuKylin's support helps a lot. I want xubuntu to be more well known and used, despite missing a real target audience at the moment.

7) Do you have a favorite experience to share from being a part of ubuntu?

I'm not sure i have a favourite experience.

8) What is your favorite activity or interest outside of computing (including ubuntu!)?

My favourite activity outside of computers would probably be playing soccer.

Jonathan Riddell: Distrowatch Reviews Kubuntu

Planet Ubuntu - Fri, 05/10/2013 - 04:26
KDE Project:

Distrowatch is a handy site to check out the history of Kubuntu. Today they put up a review of Kubuntu 13.04. "Kubuntu gave me a very responsive graphical environment, an application menu which was free from advertisements and the distribution did not insist I install third-party drivers just to use my desktop." Ubuntu Unity comes in for some critisism though, probably when they post (back) to Qt their graphics requirements will become sane again.


P for Vendetta


Konqi suffers fourth nerve palsy. He gets very upset at pirate comments.


Barcelona Office, KDE has a home in the sun!

Mohamad Faizul Zulkifli: ZRAM For Ubuntu/Debian Linux

Planet Ubuntu - Thu, 05/09/2013 - 23:50

from wikipedia,

zRam is a module of the Linux kernel, previously called "compcache". zRam increases performance by avoiding paging on disk and instead uses a compressed block device in RAM in which paging takes place until it is necessary to use the swap space on the hard disk drive. Since using RAM is faster than using disks, zRam allows Linux to make more use of RAM when swapping/paging is required, especially on older computers with less RAM installed.

Even though the cost of RAM hardware is relatively low this feature still offers advantages for netbooks and other lower-powered laptops, virtualization and in the case of embedded devices, especially those that use flash memories that have a limited lifespan, dependent on write-use and thus wear out quickly when used as a swap device.

Google is going to enable zRAM for Chrome OS by default.

How to enable ZRAM for Debian or Ubuntu ?

Starting with Ubuntu Precise, there is an official upstart script for Ubuntu by Adam Conrad to configure zram in the main repository, just simply type sudo apt-get install zram-config on terminal.

For Debian, you need to download it manually and run it on boot.


  1. sudo wget https://raw.github.com/gionn/etc/master/init.d/zram -O /etc/init.d/zram
  2. sudo chmod +x /etc/init.d/zram
  3. sudo update-rc.d zram defaults
  4. /etc/init.d/zram start
Check it status on dmsg and free -h 
 Hint: Using zram is also a good way to reduce disk read/write cycles due to swap on SSDs.



Benjamin Kerensa: Ubuntu Documentation vUDS Session

Planet Ubuntu - Thu, 05/09/2013 - 23:00

Ubuntu Community by Doctormo

Just a friendly reminder to those interested in the future of the Ubuntu Documentation Team and helping improve the process for on-boarding new users that we have a session called “Shaping a plan for the future of Ubuntu Documentation” which is scheduled for next Wednesday at 19:05 UTC.

Even if you cannot commit to becoming a Ubuntu Documentation Contributor we would love to have you sit in the session and tell us how we can improve the process for new contributors.

Tell us what makes the process difficult and how we can make it easier and share your experiences for on-boarding if you help lead a team.

See you all there and Ubuntu Doc for Saucy is now open for commits!

 

The post Ubuntu Documentation vUDS Session appeared first on Benjamin Kerensa dot Com.

Benjamin Mako Hill: The Remixing Dilemma: The Trade-off Between Generativity and Originality

Planet Ubuntu - Thu, 05/09/2013 - 16:29

This post was written with Andrés Monroy-Hernández. It is a summary of a paper just published in American Behavioral Scientist. You can also read the full paper: The remixing dilemma: The trade-off between generativity and originality. It is part of a series of papers I have written with Monroy-Hernández using data from Scratch. You can find the others on my academic website.

Remixing — the reworking and recombination of existing creative artifacts — represents a widespread, important, and controversial form of social creativity online. Proponents of remix culture often speak of remixing in terms of rich ecosystems where creative works are novel and highly generative. However, examples like this can be difficult to find. Although there is a steady stream of media being shared freely on the web, only a tiny fraction of these projects are remixed even once. On top of this, many remixes are not very different from the works they are built upon. Why is some content more attractive to remixers? Why are some projects remixed in deeper and more transformative ways?

We try to shed light on both of these questions using data from Scratch — a large online remixing community. Although we find support for several popular theories, we also present evidence in support of a persistent trade-off that has broad practical and theoretical implications. In what we call the remixing dilemma, we suggest that characteristics of projects that are associated with higher rates of remixing are also associated with simpler and less transformative types of derivatives.

Our study is focused on two interrelated research questions. First, we ask why some projects shared in remixing communities are more or less generative than others. “Generativity” — a term we borrow from Jonathan Zittrain — describes creative works that are likely to inspire follow-on work. Several scholars have offered suggestions for why some creative works might be more generative than others. We focus on three central theories:

  1. Projects that are moderately complicated are more generative. The free and open source software motto “release early and release often” suggests that simple projects will offer more obvious opportunities for contribution than more polished projects. That said, projects that are extremely simple (e.g., completely blank slates) may also uninspiring to would-be contributors.
  2. Projects by prominent creators are more generative. The reasoning for this claim comes from the suggestion that remixing can act as a form of cultural conversation and that the work of popular creators can act like a common medium or language.
  3. Projects that are remixes themselves are more generative. The reasoning for this final claim comes from the idea that remixing thrives through the accumulation of contributions from groups of people building on each other’s work.

Our second question focuses on the originality of remixes and asks when more or less transformative remixing occurs. For example, highly generative projects may be less exciting if the projects produced based on them are all near-identical copies of antecedent projects. For a series of reasons — including the fact that increased generativity might come by attracting less interested, skilled, or motivated individuals — we suggest that each of the factors associated with generativity will also be associated with less original forms of remixing. We call this trade-off the remixing dilemma.

We answer both of our research questions using a detailed dataset from Scratch, where young people build, share, and collaborate on interactive animations and video games. The community was built to support users of the Scratch programming environment, a desktop application with functionality similar to Flash created by the Lifelong Kindergarten Group at the MIT Media Lab. Scratch is designed to allow users to build projects by integrating images, music, sound, and other media with programming code. Scratch is used by more than a million users, most of them under 18 years old.

To test our three theories about generativity, we measure whether or not, as well as how many times, Scratch projects were remixed in a dataset that includes every shared project. Although Scratch is designed as a remixing community, only around one tenth of all Scratch projects are ever remixed. Because more popular projects are remixed more frequently simply because of exposure, we control for the number of times each project is viewed.

Our analysis shows at least some support for all three theories of generativity described above. (1) Projects with moderate amounts of code are remixed more often than either very simple or very complex projects. (2) Projects by more prominent creators are more generative. (3) Remixes are more likely to attract remixers than de novo projects.

To test our theory that there is a trade-off between generativity and originality, we build a dataset that includes every Scratch remix and its antecedent. For each pair, we construct a measure of originality by comparing the remix to its antecedent and computing an “edit distance” (a concept we borrow from software engineering) to determine how much the projects differ.

We find strong evidence of a trade-off: (1) Projects of moderate complexity are remixed more lightly than more complicated projects. (2) Projects by more prominent creators tend to be remixed in less transformative ways. (3) Cumulative remixing tends to be associated with shallower and less transformative derivatives. That said, our support for (1) is qualified in that we do not find evidence of the increased originality for the simplest projects as our theory predicted.

Two plots of estimated values for prototypical projects. Panel 1 (left) displays predicted probabilities of being remixed. Panel 2 (right) displays predicted edit distances. Both panels show predicted values for both remixes and de novo projects from 0 to 1,204 blocks (99th percentile).

We feel that our results raise difficult but important challenges, especially for the designers of social media systems. For example, many social media sites track and display user prominence with leaderboards or lists of aggregate views. This technique may lead to increased generativity by emphasizing and highlighting creator prominence. That said, it may also lead to a decrease in originality of the remixes elicited. Our results regarding the relationship of complexity to generativity and originality of remixes suggest that supporting increased complexity, at least for most projects, may have fewer drawbacks.

As supporters and advocates of remixing, we feel that although highly generative works that lead to highly original derivatives may be rare and difficult for system designers to support, understanding remixing dynamics and encouraging these rare projects remain a worthwhile and important goal.

Benjamin Mako Hill, Massachusetts Institute of Technology
Andrés Monroy-Hernández, Microsoft Research

For more, see our full paper, “The remixing dilemma: The trade-off between generativity and originality.” Published in American Behavioral Scientist. 57-5, Pp. 643—663. (Official Link, Pay-Walled ).

Kees Cook: Hardy is end of life

Planet Ubuntu - Thu, 05/09/2013 - 13:53

Well, the second Ubuntu Long Term Support release, 8.04 Hardy, has reached end-of-life. (Along with 11.10 Oneiric and the Desktop Support for the 10.04 LTS Lucid.) Flushing my package mirror of Hardy and Oneiric was pretty dramatic, freeing up about 142GB worth of space.

Before:

$ df -h /var/cache/mirrors/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/sysvg-debmirrorlv 753G 692G 62G 92% /var/cache/mirror

After:

$ df -h /var/cache/mirrors/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/sysvg-debmirrorlv 753G 550G 204G 73% /var/cache/mirror

If only online filesize resize shrinking worked. :)

© 2013, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.

Ubuntu Podcast from the UK LoCo: S06E11 – Toy Ubuntu

Planet Ubuntu - Thu, 05/09/2013 - 11:49

Alan PopeMark JohnsonTony Whitmore and Laura Cowen return for the eleventh episode of Season Six of the Ubuntu Podcast from the UK LoCo Team!

 Download OGG Play in Popup  Download MP3 Play in Popup

In this week’s show:-

We’ll be back in one week with an interview with Rick Spencer, VP of Ubuntu Engineering at Canonical. In the meantime, send us your feedback!

Please send your comments and suggestions to: podcast@ubuntu-uk.org
Join us on IRC in #ubuntu-uk-podcast on Freenode
Leave a voicemail via phone: +44 (0) 203 298 1600, sip: podcast@sip.ubuntu-uk.org and skype: ubuntuukpodcast
Follow our twitter feed http://twitter.com/uupc
Find our Facebook Fan Page
Follow us on Google Plus
Leave us some segment ideas on the Etherpad

                          

Jonathan Riddell: The Breakouts: UEFI

Planet Ubuntu - Thu, 05/09/2013 - 08:18
KDE Project:

Me and Rohan and Harald spent the day playing with the cheapo Sony Vaio laptop I got with Windows 8 and UEFI firmware.

This laptop has many partitions:
sda1 is fat32 and contains a Boot and a Microsoft EFI boot loaders
sda2 is ntfs and contains Windows Recovery bits
sda3 is efi/fat32 and contains a Boot, a Microsoft, a kubuntu and a ubuntu EFI boot loader
sda4 is a Microsoft reserved parition and won't mount, spooky
sda5 is an ntfs partition and has Windows 8 on it
sda6 is ext4 and I install Ubuntu and Kubuntu to it
sda7 is a linux-swap partition

I've no idea why there are two efi partitions
I've no idea why there's both an ntfs windows recovery partition and a microsoft reserved partition.

We installed Kubuntu but it didn't set up Grub and we couldn't do much useful at the Grub command line.

So we installed Ubuntu Unity 13.04 and it successfully set up Grub so we could boot from Grub into Ubuntu. Grub also listed Windows 8 but it gives an error on trying to boot "error: can't find command drivemap error: invalid EFI file path". Grub also listed windows recovery and this does boot and lets us boot into Windows 8 but that then stops Grub being loaded so there's no way to reboot into Ubuntu. see log.

Then we tried to install Kubuntu again and it give an error during install about the grub setup package not configuring right see bug for log.

If you go to ubuntu.com to download it points Windows 8 users to this scary UEFI wiki page with scary headings like "Installing Ubuntu Quickly and Easily via Trial and Error".

Conclusion: UEFI is a giant MS conspiracy to make installing Linux more faffy than it already is. Kubuntu is slightly more broken then Ubuntu but not much. Only silver lining is that Windows 8 is rubbish and when we tried it there genuinely was a notification saying "Warning: your children might not be protected". Think of the children and don't use Windows 8!

Oh well, here's some pretty pictures to keep you amused.


Les Frogs sont hypercool


The view of Catalunia is great for contemplation


Murdering a water mellon


VHanda ignores Doctor Who.

Aaron Toponce: ZFS Administration, Appendix B- Using USB Drives

Planet Ubuntu - Thu, 05/09/2013 - 05:00
Table of Contents

Zpool Administration

  1. Install ZFS on Debian GNU/Linux
  2. VDEVs
  3. RAIDZ
  4. The ZFS Intent Log (ZIL)
  5. The Adjustable Replacement Cache (ARC)
  6. Exporting and Importing Storage Pools
  7. Scrub and Resilver
  8. Getting and Setting Properties
  9. Best Practices and Caveats

ZFS Administration

  1. Copy-on-write
  2. Creating Filesystems
  3. Compression and Deduplication
  4. Snapshots and Clones
  5. Sending and Receiving Filesystems
  6. ZVOLs
  7. iSCSI, NFS and Samba
  8. Getting and Setting Properties
  9. Best Practices and Caveats

Appendices

  1. Visualizing The ZFS Intent Log (ZIL)
  2. Using USB Drives
Introduction

This comes from the “why didn’t I think of this before?!” department. I have lying around my home and office a ton of USB 2.0 thumb drives. I have six 16GB drives and eight 8GB drives. So, 14 drives in total. I have two hypervisors in a GlusterFS storage cluster, and I just happen to have two USB squids, that support 7 USB drives each. Perfect! So, why not put these to good use, and add them as L2ARC devices to my pool?

Disclaimer

USB 2.0 is limited to 40 MBps per controller. A standard 7200 RPM hard drive can do 100 MBps. So, adding USB 2.0 drives to your pool as a cache is not going to increase the read bandwidth. At least not for large sequential reads. However, the seek latency of a NAND flash device is typically around 1 milliseconds to 3 milliseconds, whereas a platter HDD is around 12 milliseconds. If you do a lot of small random IO, like I do, then your USB drives will actually provide an overall performance increase that HDDs cannot provide.

Also, because there are no moving parts with NAND flash, this is less data that needs to be read from the HDD, which means less movement of the actuator arm, which means consuming less power in the long term. So, not only are they better for small random IO, they’re saving you power at the same time! Yay for going green!

Lastly, the L2ARC should be read intensive. However, it can also be write intensive if you don’t have enough room in your ARC and L2ARC to store all the requested data. If this is the case, you’ll be constantly writing to your L2ARC. For USB drives without wear leveling algorithms, you’ll chew through the drive quickly, and it will be dead in no time. If this is your case, you could store only metadata, rather than the actual data block pages in the L2ARC. You can do this with the following:

# zfs set secondarycache=metadata pool

You can set this pool-wide, or per dataset. In the case outlined above, I would certainly do it pool-wide, which each dataset will inherit by default.

Implementation

To this up, it’s rather straight forward. Just identify what the drives are, by using their unique identifiers, then add them to the pool:

# ls /dev/disk/by-id/usb-* | grep -v part /dev/disk/by-id/usb-Kingston_DataTraveler_G3_0014780D8CEBEBC145E80163-0:0@ /dev/disk/by-id/usb-Kingston_DataTraveler_SE9_00187D0F567FEC2090007621-0:0@ /dev/disk/by-id/usb-Kingston_DataTraveler_SE9_00248121ABD5EC2070002E70-0:0@ /dev/disk/by-id/usb-Kingston_DataTraveler_SE9_00D0C9CE66A2EC2070002F04-0:0@ /dev/disk/by-id/usb-_USB_DISK_Pro_070B2605FA99D033-0:0@ /dev/disk/by-id/usb-_USB_DISK_Pro_070B2607A029C562-0:0@ /dev/disk/by-id/usb-_USB_DISK_Pro_070B2608976BFD58-0:0@

So, there are my seven drives that I outlined at the beginning of the post. So, to add them to the system as L2ARC drives, just run the following command:

# zpool add -f pool cache usb-Kingston_DataTraveler_G3_0014780D8CEBEBC145E80163-0:0\ usb-Kingston_DataTraveler_SE9_00187D0F567FEC2090007621-0:0\ usb-Kingston_DataTraveler_SE9_00248121ABD5EC2070002E70-0:0\ usb-Kingston_DataTraveler_SE9_00D0C9CE66A2EC2070002F04-0:0\ usb-_USB_DISK_Pro_070B2605FA99D033-0:0\ usb-_USB_DISK_Pro_070B2607A029C562-0:0\ usb-_USB_DISK_Pro_070B2608976BFD58-0:0

Of course, these are the unique identifiers for my USB drives. Change them as necessary for your drives. Now that they are installed, are they filling up?

# zpool iostat -v pool alloc free read write read write ------------------------------------------------------------ ----- ----- ----- ----- ----- ----- pool 695G 1.13T 21 59 53.6K 457K mirror 349G 579G 10 28 25.2K 220K ata-ST1000DM003-9YN162_S1D1TM4J - - 4 21 25.8K 267K ata-WDC_WD10EARS-00Y5B1_WD-WMAV50708780 - - 4 21 27.9K 267K mirror 347G 581G 11 30 28.3K 237K ata-WDC_WD10EARS-00Y5B1_WD-WMAV50713154 - - 4 22 16.7K 238K ata-WDC_WD10EARS-00Y5B1_WD-WMAV50710024 - - 4 22 19.4K 238K logs - - - - - - mirror 4K 1016M 0 0 0 0 ata-OCZ-REVODRIVE_OCZ-33W9WE11E9X73Y41-part1 - - 0 0 0 0 ata-OCZ-REVODRIVE_OCZ-X5RG0EIY7MN7676K-part1 - - 0 0 0 0 cache - - - - - - ata-OCZ-REVODRIVE_OCZ-33W9WE11E9X73Y41-part2 52.2G 16M 4 2 51.3K 291K ata-OCZ-REVODRIVE_OCZ-X5RG0EIY7MN7676K-part2 52.2G 16M 4 2 52.6K 293K usb-Kingston_DataTraveler_G3_0014780D8CEBEBC145E80163-0:0 465M 6.80G 0 0 319 72.8K usb-Kingston_DataTraveler_SE9_00187D0F567FEC2090007621-0:0 1.02G 13.5G 0 0 1.58K 63.0K usb-Kingston_DataTraveler_SE9_00248121ABD5EC2070002E70-0:0 1.17G 13.4G 0 0 844 72.3K usb-Kingston_DataTraveler_SE9_00D0C9CE66A2EC2070002F04-0:0 990M 13.6G 0 0 1.02K 59.9K usb-_USB_DISK_Pro_070B2605FA99D033-0:0 1.08G 6.36G 0 0 1.18K 67.0K usb-_USB_DISK_Pro_070B2607A029C562-0:0 1.76G 5.68G 0 1 2.48K 109K usb-_USB_DISK_Pro_070B2608976BFD58-0:0 1.20G 6.24G 0 0 530 38.8K ------------------------------------------------------------ ----- ----- ----- ----- ----- -----

Something important to understand here, is the drives do not need to be all the same size. You can mix and match as you have on hand. Of course, the more space you can give to the cache, the better off you’ll be.

Conclusion

While this certainly isn’t designed for speed, it can be used for lower random IO latencies, and it well reduce power in the datacenter. Further, what else are you going to do with those USB devices just lying around? Might as well put them to good use. Definitely seeing as though “the cloud” is making it trivial to get all of your files online.

Paul Tagliamonte: Hylang updates

Planet Ubuntu - Wed, 05/08/2013 - 18:05

We’ve got all sorts of spiffy changes lined up and another major release! We’ve got Hy version 0.9.7 released. The website is updated with the latest cut of the hylang, and y’all should check it out.


Sadly, we’ve not attracted any women interested in hacking on hy, so I’d like to re-iterate that I’m quite disappointed to see that, and encourage female hackers to check out the source and see what they can do with it.

As always, the source is over at https://github.com/hylang/hy - star it, hack it, fork it, use it!

Sam Hewitt: Ubuntu Post-Install Bash Script

Planet Ubuntu - Wed, 05/08/2013 - 16:31

Every now and then –usually around the beginning of  an Ubuntu release cycle– I do a fresh install on my computer, and it became quickly tiring trying to remember all my previously-installed programs and settings. Naturally, I developed an ever-evolving bash script to run after every installation.

CAUTION: Continuing is not for the command line phobic!

The following script includes some of my favourite applications and preferred settings. Currently, I have it configured for Ubuntu 13.04 –it works for the lower versions as well as with both 32-bit and 64-bit architectures– feel free to copy, improve and distribute.

For those not a fan of copying and paste, you can download the script here –to do with what you will, or you can find it and all revisions over my GitHub.

#!/bin/bash #----------------------------# # UBUNTU POST-INSTALL SCRIPT # #----------------------------# echo '' echo '#-------------------------------------------#' echo '# Ubuntu 13.04 Post-Install Script #' echo '#-------------------------------------------#' # SYSTEM UPGRADE function sysupgrade { # Update Repository Information echo 'Updating repository information...' echo 'Requires root privileges:' sudo apt-get update -qq # Dist-Upgrade echo 'Performing system upgrade...' sudo apt-get dist-upgrade -y echo 'Done.' main } # INSTALL FAVOURITE APPLICATIONS function appinstall { # Install Favourite Applications echo 'Installing selected favourite applications...' echo 'Requires root privileges:' sudo apt-get install -y --no-install-recommends darktable easytag filezilla gimp gimp-plugin-registry grsync inkscape mypaint nautilus-dropbox nautilus-open-terminal pyrenamer xchat echo 'Done.' main } # INSTALL FAVOURITE SYSTEM TOOLS function toolinstall { echo 'Installing system tools...' echo 'Requires root privileges:' sudo apt-get install -y --no-install-recommends aptitude dconf-tools openjdk-7-jdk openssh-server p7zip-full ppa-purge samba ssh synaptic zsync echo 'Done.' main } # INSTALL GNOME SHELL function gnomeextra { INPUT=0 echo '' echo 'What would you like to do? (Enter the number of your choice)' echo '' while [ $INPUT != 1 ] && [ $INPUT != 2 ] && [ $INPUT != 3 ] do echo '1. Add GNOME3 PPA?' echo '2. Add GNOME3 Staging PPA?' echo '3. Install GNOME Shell?' echo '4. Install extra GNOME applications?' echo '5. Configure GNOME Shell Specific Settings?' echo '6. Return.' echo '' read INPUT # Add GNOME3 PPA if [ $INPUT -eq 1 ]; then echo 'Adding GNOME3 PPA to software sources...' echo 'Requires root privileges:' sudo add-apt-repository -y ppa:gnome3-team/gnome3 echo 'Updating repository information...' sudo apt-get update -qq echo 'Performing system upgrade...' sudo apt-get dist-upgrade -y echo 'Done.' gnomeextra # Add GNOME3 Staging PPA elif [ $INPUT -eq 2 ]; then echo 'Adding GNOME3 Staging PPA to software sources...' echo 'Requires root privileges:' sudo add-apt-repository -y ppa:gnome3-team/gnome3-staging echo 'Updating repository information...' sudo apt-get update -qq echo 'Performing system upgrade...' sudo apt-get dist-upgrade -y echo 'Done.' gnomeextra # Install GNOME Shell elif [ $INPUT -eq 3 ]; then echo 'Installing GNOME Shell...' echo 'Requires root privileges:' sudo apt-get install -y fonts-cantarell gnome-shell echo 'Done.' gnomeextra # Install Extra GNOME Apps elif [ $INPUT -eq 4 ]; then echo 'Installing extra GNOME applications...' echo 'Requires root privileges:' sudo apt-get install -y bijiben gnome-clocks gnome-contacts gnome-documents gnome-sushi gnome-tweak-tool gnome-weather echo 'Done.' gnomeextra # Configure Shell Specific Settings elif [ $INPUT -eq 5 ]; then # Font Sizes echo 'Setting font preferences...' gsettings set org.gnome.desktop.interface text-scaling-factor '1.0' gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' gsettings set org.gnome.nautilus.desktop font 'Cantarell 10' gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Cantarell Bold 10' gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing 'rgba' gsettings set org.gnome.settings-daemon.plugins.xsettings hinting 'slight' # GNOME Shell Settings echo 'Setting GNOME Shell preferences...' gsettings set org.gnome.shell.overrides button-layout 'close:' # Return elif [ $INPUT -eq 6 ]; then clear && main else # Invalid Choice echo 'Not an option, choose again.' gnomeextra fi done } # INSTALL MULTIMEDIA CODECS function codecinstall { # Install Ubuntu Restricted Extras Applications echo 'Installing Ubuntu Restricted Extras...' echo 'Requires root privileges:' sudo apt-get install -y ubuntu-restricted-extras echo 'Done.' main } # INSTALL DEV TOOLS function devinstall { # Install Development Tools echo 'Installing development tools...' echo 'Requires root privileges:' sudo apt-get install -y bzr git glade qtcreator ruby echo 'Done.' main } # EXTRA INSTALLATION function thirdparty { INPUT=0 echo '' echo 'What would you like to do? (Enter the number of your choice)' echo '' while [ $INPUT != 1 ] && [ $INPUT != 2 ] && [ $INPUT != 3 ] do echo '1. Install Google Chrome (Unstable)?' echo '2. Install Google Talk Plugin?' echo '3. Install Steam?' echo '4. Install Unity Tweak Tool?' echo '5. Install DVD playback tools?' echo '6. Return' echo '' read INPUT # Google Chrome if [ $INPUT -eq 1 ]; then echo 'Downloading Google Chrome (Unstable)...' # Make tmp directory if [ -e $HOME/tmp ]; then mkdir -p $HOME/tmp else continue fi cd $HOME/tmp # Download Debian file that matches system architecture if [ $(uname -i) = 'i386' ]; then wget https://dl.google.com/linux/direct/google-chrome-unstable_current_i386.deb elif [ $(uname -i) = 'x86_64' ]; then wget https://dl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb fi # Install the package echo 'Installing Google Chrome...' sudo dpkg -i google*.deb sudo apt-get install -fy # Cleanup and finish rm *.deb cd echo 'Done.' thirdparty # Google Talk Plugin elif [ $INPUT -eq 2 ]; then echo 'Downloading Google Talk Plugin...' # Make tmp directory if [ -e $HOME/tmp ]; then mkdir -p $HOME/tmp else continue fi cd $HOME/tmp # Download Debian file that matches system architecture if [ $(uname -i) = 'i386' ]; then wget https://dl.google.com/linux/direct/google-talkplugin_current_i386.deb elif [ $(uname -i) = 'x86_64' ]; then wget https://dl.google.com/linux/direct/google-talkplugin_current_amd64.deb fi # Install the package echo 'Installing Google Talk Plugin...' sudo dpkg -i google*.deb sudo apt-get install -fy # Cleanup and finish rm *.deb cd echo 'Done.' thirdparty # Steam elif [ $INPUT -eq 3 ]; then echo 'Downloading Steam...' # Make tmp directory if [ -e $HOME/tmp ]; then mkdir -p $HOME/tmp else continue fi cd $HOME/tmp # Download Debian file that matches system architecture if [ $(uname -i) = 'i386' ]; then wget http://repo.steampowered.com/steam/archive/precise/steam_latest.deb elif [ $(uname -i) = 'x86_64' ]; then wget http://repo.steampowered.com/steam/archive/precise/steam_latest.deb fi # Install the package echo 'Installing Steam...' sudo dpkg -i steam*.deb sudo apt-get install -fy # Cleanup and finish rm *.deb cd echo 'Done.' thirdparty # Unity Tweak Tool elif [ $INPUT -eq 4 ]; then # Add repository echo 'Adding Unity Tweak Tool repository to sources...' echo 'Requires root privileges:' sudo add-apt-repository ppa:freyja-dev/unity-tweak-tool-daily # Update Repository Information echo 'Updating repository information...' sudo apt-get update -qq # Install the package echo 'Installing Unity Tweak Tool...' sudo apt-get install -y unity-tweak-tool echo 'Done.' thirdparty # Medibuntu elif [ $INPUT -eq 5 ]; then echo 'Adding Medibuntu repository to sources...' echo 'Requires root privileges:' sudo -E wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get update -qq && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get update -qq echo 'Done.' echo 'Installing libdvdcss2...' sudo apt-get install -y libdvdcss2 echo 'Done.' # Return elif [ $INPUT -eq 6 ]; then clear && main else # Invalid Choice echo 'Not an option, choose again.' thirdparty fi done } # CONFIG function config { INPUT=0 echo '' echo 'What would you like to do? (Enter the number of your choice)' echo '' while [ $INPUT != 1 ] && [ $INPUT != 2 ] && [ $INPUT != 3 ] do echo '1. Set preferred application-specific settings?' echo '2. Show all startup applications?' echo '3. Return' echo '' read INPUT # GSettings if [ $INPUT -eq 1 ]; then # Font Sizes echo 'Setting font preferences...' gsettings set org.gnome.desktop.interface text-scaling-factor '1.0' gsettings set org.gnome.desktop.interface document-font-name 'Ubuntu 9' gsettings set org.gnome.desktop.interface font-name 'Ubuntu 9' gsettings set org.gnome.desktop.interface monospace-font-name 'Ubuntu Mono 11' gsettings set org.gnome.nautilus.desktop font 'Ubuntu 9' gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Ubuntu Bold 9' gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing 'rgba' gsettings set org.gnome.settings-daemon.plugins.xsettings hinting 'slight' # Unity Settings echo 'Setting Unity preferences...' gsettings set com.canonical.Unity.ApplicationsLens display-available-apps false gsettings set com.canonical.unity-greeter draw-user-backgrounds true gsettings set com.canonical.indicator.power icon-policy 'charge' gsettings set com.canonical.Unity.Lenses remote-content-search 'none' # Nautilus Preferences echo 'Setting Nautilus preferences...' gsettings set org.gnome.nautilus.preferences sort-directories-first true # Gedit Preferences echo 'Setting Gedit preferences...' gsettings set org.gnome.gedit.preferences.editor display-line-numbers true gsettings set org.gnome.gedit.preferences.editor create-backup-copy false gsettings set org.gnome.gedit.preferences.editor auto-save true gsettings set org.gnome.gedit.preferences.editor insert-spaces true gsettings set org.gnome.gedit.preferences.editor tabs-size 4 # Rhythmbox Preferences echo 'Setting Rhythmbox preferences...' gsettings set org.gnome.rhythmbox.rhythmdb monitor-library true gsettings set org.gnome.rhythmbox.sources browser-views 'artists-albums' gsettings set org.gnome.rhythmbox.sources visible-columns '['post-time', 'artist', 'duration', 'genre', 'album']' # Totem Preferences echo 'Setting Totem preferences...' gsettings set org.gnome.totem active-plugins '['save-file', 'media_player_keys', 'screenshot', 'chapters', 'ontop', 'screensaver', 'movie-properties', 'skipto']' config # Startup Applications elif [ $INPUT -eq 2 ]; then echo 'Changing display of startup applications.' echo 'Requires root privileges:' cd /etc/xdg/autostart/ && sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop cd echo 'Done.' config # Return elif [ $INPUT -eq 3 ]; then clear && main else # Invalid Choice echo 'Not an option, choose again.' config fi done } # CLEANUP SYSTEM function cleanup { INPUT=0 echo '' echo 'What would you like to do? (Enter the number of your choice)' echo '' while [ $INPUT != 1 ] && [ $INPUT != 2 ] && [ $INPUT != 3 ] do echo '' echo '1. Remove unused pre-installed packages?' echo '2. Remove old kernel(s)?' echo '3. Remove orphaned packages?' echo '4. Remove residual config files?' echo '5. Clean package cache?' echo '6. Return?' echo '' read INPUT # Remove Unused Pre-installed Packages if [ $INPUT -eq 1 ]; then echo 'Removing selected pre-installed applications...' echo 'Requires root privileges:' sudo apt-get purge echo 'Done.' cleanup # Remove Old Kernel elif [ $INPUT -eq 2 ]; then echo 'Removing old Kernel(s)...' echo 'Requires root privileges:' sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge echo 'Done.' cleanup # Remove Orphaned Packages elif [ $INPUT -eq 3 ]; then echo 'Removing orphaned packages...' echo 'Requires root privileges:' sudo apt-get autoremove -y echo 'Done.' cleanup # Remove residual config files? elif [ $INPUT -eq 4 ]; then echo 'Removing residual config files...' echo 'Requires root privileges:' sudo dpkg --purge $(COLUMNS=200 dpkg -l | grep '^rc' | tr -s ' ' | cut -d ' ' -f 2) echo 'Done.' # Clean Package Cache elif [ $INPUT -eq 5 ]; then echo 'Cleaning package cache...' echo 'Requires root privileges:' sudo apt-get clean echo 'Done.' cleanup # Return elif [ $INPUT -eq 6 ]; then clear && main else # Invalid Choice echo 'Not an option, choose again.' cleanup fi done } # END function end { echo '' read -p 'Are you sure you want to quit? (Y/n) ' if [ '$REPLY' == 'n' ]; then clear && main else exit fi } # MAIN FUNCTION function main { INPUT=0 echo '' echo 'What would you like to do? (Enter the number of your choice)' echo '' while [ $INPUT != 1 ] && [ $INPUT != 2 ] && [ $INPUT != 3 ] do echo '1. Perform system update & upgrade?' echo '2. Install favourite applications?' echo '3. Install favourite system tools?' echo '4. Install extra GNOME components?' echo '5. Install development tools?' echo '6. Install Ubuntu Restricted Extras?' echo '7. Install third-party applications?' echo '8. Configure system?' echo '9. Cleanup the system?' echo '10. Quit?' echo '' read INPUT # System Upgrade if [ $INPUT -eq 1 ]; then clear && sysupgrade # Install Favourite Applications elif [ $INPUT -eq 2 ]; then clear && appinstall # Install Favourite Tools elif [ $INPUT -eq 3 ]; then clear && toolinstall # Install GNOME components elif [ $INPUT -eq 4 ]; then clear && gnomeextra # Install Dev Tools elif [ $INPUT -eq 5 ]; then clear && devinstall # Install Ubuntu Restricted Extras elif [ $INPUT -eq 6 ]; then clear && codecinstall # Install Third-Party Applications elif [ $INPUT -eq 7 ]; then clear && thirdparty # Configure System elif [ $INPUT -eq 8 ]; then clear && config # Cleanup System elif [ $INPUT -eq 9 ]; then clear && cleanup # End elif [ $INPUT -eq 10 ]; then end else # Invalid Choice echo 'Not an option, choose again.' main fi done } # CALL MAIN FUNCTION main #-----------------------------------# # END OF UBUNTU POST-INSTALL SCRIPT # #-----------------------------------#

The post Ubuntu Post-Install Bash Script appeared first on Sam Hewitt | Blog.

Jonathan Riddell: Mataro Sessions II: the breakouts

Planet Ubuntu - Wed, 05/08/2013 - 15:42
KDE Project:

Notes from breakout on Homerun:

  • Needs to move to Extragear
  • no upstream designer in Plasma so hard to change fundementals like app menu
  • KWin would be against it as default, uses full screen blur, no visual consistency between it and dashboard
  • Does not show app generic names
  • netrunner says full screen is distracting for a menu
  • no filters
  • no recent apps

Notes from breakout on High DPI sceens:

  • see the wiki page
  • faking it with large font not really accurate, many more problems, see screenshot
  • needs someone with a high dpi monitor to test and fix


Post-it Kanban


The talks


Acrobatics


KDE People talking about KPeople

Rick Spencer: Woof woof!

Planet Ubuntu - Wed, 05/08/2013 - 13:36



Last week I fell into a discussion with Mark, Pat, and others about the importance of being able to really use a piece of software to really know how far there is between where you are, and a shippable state. Of everything that is missing, it's hard to know what is really the most important unless you can really use it and find what you have to work around, versus what you can just do without.

Out of this conversation was born the idea that we should drive as hard as we can to making it so that we can use our phones with Ubuntu Touch as our real daily phones as soon as possible. Really eat our own dogfood, so to speak. woof!

So, we committed our teams to making it so that by end of May, the phone images will be usable as our daily phones, defined as the following:

  • You can make and receive phone calls
  • You can make and receive sms messages
  • You can browse the web on 3g data
  • You can browse the web on wifi
  • You can switch between wifi and 3g data
  • The proximity sensore dims the screen when you lift the phone to talk on it
  • You can import contacts from somewhere, and you can add and edit contacts
  • When you update your phone your user data is retained, even if updating with phablet-flash

We believe that at least some of us will be able to really dogfood if we accomplish that. Of course, there will be a lot missing. Off the bat, I can thinking of things like the ability to find and install new apps, hardware not working on certain reference hardware (camera on Nexus 7 for example?), lots of missing features in existing apps, etc... However, in my experience, progress accelerates when people are using, in addition to building, software.

Jonathan Riddell: Kubuntu Developer Summit @ Akademy

Planet Ubuntu - Wed, 05/08/2013 - 07:40
KDE Project:

Since there's no UDS we have a room booked at Akademy to spend the day discussing things in Kubuntu

if you're coming put yourself on https://notes.kde.org/p/kubuntu-akademy

Would be good to have as many Kubuntu people there as possible.
The Kubuntu Council has funds if you need sponsorship for travel, don't be afraid to ask.

Colin King: Getting started with oprofile on Ubuntu

Planet Ubuntu - Wed, 05/08/2013 - 07:32
Oprofile is a powerful system wide profiler for Linux.  It can profile all running code on a system with minimal overhead.   Running oprofile requires the uncompressed vmlinux image, so one has to also install the kernel .ddeb images.

To install oprofile:
sudo apt-get update && sudo apt-get install oprofile ..and then install the kernel .ddebs:
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | \ sudo tee -a /etc/apt/sources.list.d/ddebs.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 sudo apt-get update sudo apt-get install linux-image-$(uname -r)-dbgsym  ..the installed vmlinux image can be found in /usr/lib/debug/boot/vmlinux-$(uname-r)

Oprofile is now ready to be used.  Let's assume we want to profile the following command:
dd if=/dev/urandom of=/dev/null bs=4K First, before running opcontrol, one may have to stop the NMI watchdog to free up counter 0 using the following:
echo "0" | sudo tee /proc/sys/kernel/watchdog Next, we tell opcontrol the location of vmlinux, separate out kernel samples, initialize, reset profiling and start profiling:
sudo opcontrol --vmlinux=/usr/lib/debug/boot/vmlinux-$(uname -r) sudo opcontrol --separate=kernel sudo opcontrol --init sudo opcontrol --reset sudo opcontrol --start  ..and run the command we want to profile for the desired duration. Next we stop profiling, generate a report for the executable we are interested in and de-initialize oprofile using:
sudo opcontrol --stop sudo opreport image:/bin/dd -gl sudo opcontrol --deinit The resulting output from opreport is as follows:
Using /var/lib/oprofile/samples/ for samples directory. warning: /kvm could not be found. CPU: Intel Ivy Bridge microarchitecture, speed 2.501e+06 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 100000 samples % image name symbol name 55868 59.8973 vmlinux-3.9.0-0-generic sha_transform 14942 16.0196 vmlinux-3.9.0-0-generic random_poll 10971 11.7622 vmlinux-3.9.0-0-generic ftrace_define_fields_random__mix_pool_bytes 3977 4.2638 vmlinux-3.9.0-0-generic extract_buf 1905 2.0424 vmlinux-3.9.0-0-generic __mix_pool_bytes 1596 1.7111 vmlinux-3.9.0-0-generic _mix_pool_bytes 900 0.9649 vmlinux-3.9.0-0-generic __ticket_spin_lock 737 0.7902 vmlinux-3.9.0-0-generic copy_user_enhanced_fast_string 574 0.6154 vmlinux-3.9.0-0-generic perf_trace_random__extract_entropy 419 0.4492 vmlinux-3.9.0-0-generic extract_entropy_user 336 0.3602 vmlinux-3.9.0-0-generic random_fasync 146 0.1565 vmlinux-3.9.0-0-generic sha_init 133 0.1426 vmlinux-3.9.0-0-generic wait_for_completion 129 0.1383 vmlinux-3.9.0-0-generic __ticket_spin_unlock 72 0.0772 vmlinux-3.9.0-0-generic default_spin_lock_flags 69 0.0740 vmlinux-3.9.0-0-generic _copy_to_user 35 0.0375 dd /bin/dd 23 0.0247 vmlinux-3.9.0-0-generic __srcu_read_lock 22 0.0236 vmlinux-3.9.0-0-generic account 15 0.0161 vmlinux-3.9.0-0-generic fsnotify ... This example just scratches the surface of the capabilities of oprofile. For further reading I recommend reading the oprofile manual as it contains some excellent examples.

Pages

Subscribe to Ubuntu Arizona LoCo Team aggregator