Главная | Actual Topics | Обратная связь | Guest Book | В избранное | Сделать домашней
 System & Utilities
 Unix News
 OS Emulator
Каталог статей
Все статьи

Биллу Гейтсу тоже предлагают избавиться ...
Вымогательство в борьбе со спамом

July, 2018
Какой из этих ОС Вы отдаете большее предпочтение?

Mac OS
Windows XP
Windows 2003
Что такое ОС? :)

Другие опросы

Всего голосов: 326
Комментарии: 0

Архив Новостей
 July 2018 (6)
 June 2018 (13)
 May 2018 (10)
 April 2018 (14)
 March 2018 (11)
 February 2018 (13)
 January 2018 (13)
 December 2017 (14)
 November 2017 (15)
 October 2017 (19)
 September 2017 (18)
 August 2017 (13)
 February 2017 (14)
 January 2017 (19)
 December 2016 (16)
 November 2016 (16)
 October 2016 (21)
 September 2016 (18)
 August 2016 (16)
 July 2016 (16)
 June 2016 (20)
 May 2016 (18)
 April 2016 (15)
 March 2016 (22)
 February 2016 (17)
 January 2016 (15)
 December 2015 (15)
 November 2015 (22)
 October 2015 (20)
 September 2015 (17)
 August 2015 (25)
 July 2015 (20)
 June 2015 (23)
 May 2015 (21)
 April 2015 (17)
 March 2015 (19)
 February 2015 (9)
 January 2015 (23)
 December 2014 (9)
 November 2014 (13)
 October 2014 (12)
 September 2014 (18)
 August 2014 (20)
 July 2014 (10)
 June 2014 (12)
 May 2014 (12)
 April 2014 (10)
 March 2014 (22)
 February 2014 (10)
 January 2014 (8)
 December 2013 (26)
 November 2013 (53)
 October 2013 (40)
 September 2013 (48)
 August 2013 (63)
 July 2013 (56)
 June 2013 (52)
 May 2013 (49)
 April 2013 (67)
 March 2013 (74)
 February 2013 (63)
 January 2013 (62)
 December 2012 (62)
 November 2012 (66)
 October 2012 (68)
 September 2012 (48)
 August 2012 (75)
 July 2012 (60)
 June 2012 (71)
 May 2012 (69)
 April 2012 (85)
 March 2012 (86)
 February 2012 (90)
 January 2012 (81)
 December 2011 (103)
 November 2011 (118)
 October 2011 (74)
 September 2011 (2)
 June 2011 (110)
 May 2011 (118)
 April 2011 (111)
 March 2011 (112)
 February 2011 (101)
 January 2011 (119)
 December 2010 (117)
 November 2010 (118)
 October 2010 (131)
 September 2010 (117)
 August 2010 (226)
 July 2010 (351)
 June 2010 (305)
 May 2010 (319)
 April 2010 (343)
 March 2010 (329)
 February 2010 (311)
 January 2010 (312)
 December 2009 (266)
 November 2009 (156)
 July 2009 (101)
 June 2009 (279)
 May 2009 (365)
 April 2009 (348)
 March 2009 (347)
 February 2009 (323)
 January 2009 (318)
 December 2008 (237)
 November 2008 (155)
 October 2008 (334)
 September 2008 (310)
 August 2008 (343)
 July 2008 (362)
 June 2008 (322)
 May 2008 (501)
 April 2008 (1276)
 March 2008 (1658)
 February 2008 (250)
 January 2008 (6)
 November 2007 (1)
 September 2007 (1)
 June 2007 (1)
 May 2007 (1)
 March 2007 (1)
 January 2007 (2)
 December 2006 (1)
 October 2006 (2)
 September 2006 (1)
 August 2006 (2)

Jonathan Thomas (JontheEchidna): Introducing QApt and the Muon Package Manager

System & Utilities

It has been a while since I’ve blogged. I know I said I would post stuff  about something exciting at UDS, but that sort of never happened. :(

But! Better late than never. I think that waiting a month or so has also made this post better than it would have been at UDS. Before I do any introducing, I feel that a summary of the history of KDE/Debian package management is in order.

A Brief History of Debian-based Package Management in KDE

It can be said that the hardest part of writing a package manager is not in writing the GUI, but in interfacing with the package system. For a long time, this has been the biggest barrier that has limited the number of Qt/KDE package manager for Debian-based systems. Even among those that do exist, such as Adept and PackageKit, each interfaces with your computer’s underlying package system differently, each with its own set of bugs and unique, not-always-equal feature set.

These factors combined have caused a drought in the number of Qt/KDE packaging systems from the earliest days. When these package managers were good (like Adept 2 in KDE3 days), things were generally fine, and the drought had a limited effect. The transition to KDE4 threw package management GUIs right back to square one, and even two years later there has not been a replacement of the caliber of the KDE3 package managers.

But what if there were a way to alleviate both of the factors contributing to the lack of stellar package managers? What if all Qt package managers for Debianish systems could share one underlying library to interface with the system package cache? What would happen if the success of a package manager was not limited by the difficulty of writing a low-level package management backend, but rather was solely dependent on the quality of the user interface?

Introducing QApt

QApt is the answer to the above question. I had pondered the above questions for quite a while, starting back with the inception of the Project Timelord initiative.

A bit later, the Shaman project was announced, and I was interesting in writing a backend for Shaman. There was already an APT backend for Shaman, though it was in its infancy. That’s when I realized that libapt-pkg was an ancient dinosaur with an awful API. That’s when it dawned on me that I could write a library/backend that any Qt or KDE application could use to manipulate/read the Debian package cache.  If a focus on this potential library could be made, then any Qt or KDE application could use it, from Shaman to a “Software Center” style app to a completely custom, fully-featured package manager.  Developers would be free to focus on making a great GUI, and could all share the same internals.

I started three months ago by spending a few days trying to grok the libapt-pkg API by looking at the internals of Synaptic, the APTcc PackageKit backend, and the python-apt bindings. After a month or so of hacking, the result was QApt. Then came finals season and UDS…

But what is QApt? QApt is actually split into several parts. Half of QApt is LibQApt, which is a Qt wrapper around libapt-pkg that boasts a saner API, as well as a pretty extensive APT cache implementation for fetching information about packages. This constitutes the read-only portion of QApt. The second half, the QAptWorker, is equally important. The QAptWorker is what does all the dirty “needs admin” stuff, and could be considered the “write-only” portion of QApt. It handles everything from checking for updates, doing the package downloads, and actually installing/removing packages. LibQApt interfaces with the QAptWorker over Polkit, giving all the normal security and sysadmin-flexibility of the PolicyKit framework. Apps using LibQApt do not have to run as root, and sysadmins can exercise fine-grained control over which operations they let their users perform.

In addition, QApt ships with a simple batch installer utility called “qapt-batch”. It is a drop-in replacement for install-package, which is a utility that several Kubuntu applications use to install packages from non-packagemanager applications. (E.g. codec install, the firefox installer, apturl-kde, etc) It already has a few neat features that install-package does not, including more informative error handling, security improvements (warn about unsigned packages, etc) and media change support.

For further technical details, you can see the slides from the UDS presentation on LibQApt that I did here, and the neat little diagram I made with umbrello here.

What uses QApt?

At the moment, two external projects use it. There is an infantile Shaman backend based on QApt in the shaman svn branch that can do your basic things (install, remove, check for updates, error handling, etc).  Check out playground/libs/libqapt, install, and you should be able to build the shaman backend.

In addition, I wrote my own package manager, Muon, which I shall spend the rest of this post discussing.

Introducing Muon

Muon is a package manager based on QApt that I started to write about two weeks ago, when I felt that LibQApt was extensive enough to be able to write a package manager with. It follows in the current KDE naming fad of naming your app after a subatomic particle. The purpose of Muon is to cater to the usecase ranging from “user who knows a fair bit about how his computer works but really isn’t a terminal-lovin’ power user” to the “poweruser” usecase. Its goal is to have all the power of the end-all of all Debian-based package managers, Synaptic, while at the same time presenting this functionality in a more usable fashion than Synaptic. It’s never going to be a “Software Center” in terms of  ”Your non-techie family member could use it”, but that’s OK; thanks to QApt, writing a Software Center-style app would be just a matter of writing another GUI shell. Seeing the amount of progress I made in two weeks, this is definitely not something to worry about. (I also plan to write a Software Center/Adept Installer style app once Muon has a stable release)

Currently, Muon sports a quite spiffy feature list. (Especially for a two-week old package manager!)

  • A powerful, yet intuitive interface
  • Fast, accurate package search using the apt-xapian index and the Synaptic search algorithm
  • Support for filtering packages by status and category
  • Media change support
  • Support for configuring packages through the debconf system
  • Warns about/disallows the installation of untrusted packages, depending on APT settings
  • Uses Polkit for running privileged actions for enhanced security, convenience, and desktop integration
  • Power management suspension during package downloads, installations and removals
  • Support for download the latest changelog of a package
  • Package screenshots

But, talk is cheap. Bring on the screenshot tour!

Here we see the initial view of Muon. (Click all screenies to enlarge.) Pretty straightforward. Toolbar on the top, filters to the left, search bar/package view to the right.

Here I’ve searched for Konversation and clicked the first result. A details tab bar popped up as a result. The first tab houses the short description, a button to fetch a screenshot, buttons for marking konversation for removal, purge, or reinstallation, the long description, and finally a short blurb telling how much longer Canonical will support konversation. (Since it’s in main)

Unfortunately, lacks a screenshot for Konversation. :(

Dolphin has one, though.

I couldn’t fit all the details in the first tab, but the second tab has a bunch of neat technical details.

Here we can see Konversation’s dependencies. For packages that provide virtual packages, you can also view those packages by selecting “Virtual packages provided” from the combobox. But Konversation doesn’t provide any virtual packages, so this screenshot can’t show you.

The changelog tab. (Hey, that’s me! :D )

Since I already have Konversation installed, I can see what files the package has.

Filterting by category works.

You can filter by category and by status at the same time. In this picture, I am filtering on installed KDE packages.

After I marked amor for installation, I hit the  ”preview changes” button in the toolbar, which graciously shows all packages to be installed/removed, and turns the preview button into a “back” button.

Gotta give my password before I can hit apply. (Polkit remembers the password for a few minutes, so you can install/remove something again directly after this install without being annoyed by the dialog again.)

Downloading. This could stand some improvement, (Per item progress, get rid of the URIs, etc) but is functional.

Installing amor. It happened so fast that it was already cleaning up by the time ksnapshot could get a picture. ;)

If the need ever arises, a debconf GUI shows up. Please don’t mind the Debian branding. That should change before any stable release. Muon uses the Debconf KDE Library written by dantti, which should hopefully also be usable in the next version of KPackageKit. :)

Untrusted packages, while usually just a matter of forgetting to add a GPG key for a PPA, are a security concern. (E.g. DNS Cache poisoning attacks…) It does follow APT configuration, though, and will totally disallow installing unsigned packages if that is set in /etc/apt/

Muon also asks if you really want to remove that essential package

..and also prevents you from making changes that would break the package cache, like any good package manager should. (It undoes the attempted change after you press OK)

For all its features, Muon and QApt are not yet, in my opinion, ready. They still need support for showing reverse-depends, package downgrade and pinning support, and in general just need some more polishing and bughunting. Muon still is only two weeks old, you know. For this reason, I’m going to say right now that this will not be the default package manager for Kubuntu 10.10.  Every single time we’ve jumped on the latest-n’-greatest piece of package management shininess, it’s never ended well. Adept 3 was decent in my opinion, aside from search accuracy and a somewhat scattered UI, but it was rushed to be made ready for release and really never stood up to the quality that Adept2 provided. Similarly, K/PackageKit was still young when we picked it up in Kubuntu 9.04, and while in 10.04 it’s not the disaster it was in 9.04, it’s still not as nice as a package manager could be. So let’s just let Muon and QApt cook for a while, and then we can see where we stand for Kubuntu 11.04. It’ll be worth the wait. :)

In the meantime, I plan to go through a prerelease cycle for both QApt and Muon. It is conceivable that at the least qapt-batch could be made ready to replace the python install-package for Kubuntu 10.10, but aside from that nothing big will come. I do plan to make packages for both QApt and Muon available for lucid and maverick throughout the prerelease cycle.

You can grab Kubuntu packages of the first alphas of both Muon and QApt from my PPA for both lucid and maverick here. Muon should also build and work just fine on Debian, but I don’t have packages for it. It requires Qt 4. 6 and up, so users of Debian unstable should be able to build and use it from svn just fine. (muon is in /playground/sysadmin/muon) Tarballs for QApt 0.2 (1.0 alpha1) and Muon 0.2 (1.0 alpha1) can be found here and here respectively.

Please beware that while things should in theory be safe, Muon has not yet had widespread testing, so there is still the slight chance that a bug could still be lingering, ready to kill your kittens. Just keep that in mind, and have fun. :) I look forward to feedback on Muon, and will continue to work on improving both Muon and QApt for a brighter future for package management.

Oh, and does Muon go moo? It might. ;-)


Разместил: Planet KDE | Дата: 05.07.2010 | Прочитано: 1295 | Раздел: System & Utilities   

Рейтинг статьи

Средняя оценка: 0.00/0Средняя оценка: 0Всего голосов:0

Хорошо Нормально Пойдёт Плохо

Смотрите также связанные темы

10.12.2008 Rochester Institute of Technology Redefines IT Education with Big Assist from VMware
Sophisticated Virtualization Environment Helping University Attract Superior Students, Increase Marketability of Graduates, Expand Distance-Learning Programs. PALO ALTO, Calif. – December 9, 2008 – VMware, Inc. (NYSE: VMW), the global leader in virtualization solutions from the desktop to the datacenter, today announced that Rochester Institute of Technology (RIT), one of America’s premier universities for career-oriented education, is using VMware’s platform, including VMware Infrastructure, VMware Lab Manager and VMware Workstation, to enhance the curriculum of more than 30 courses in the un...
05.07.2010 Top 5 Planet V12n blog posts week 26
Top 5 Planet V12n blog posts week 26 Been really busy today with the kids but did manage to get the top 5 ready for you guys.... Read it! Thomas Mackay - Understanding ESX/ESXi Equivalency…Are we there yet?It is public knowledge that ESX is evolving to a pure ESXi model in the future release cycles of the product, though exact timelines are still under NDA. Convergence to a “console-less” ESX provides a number of benefits to our customers, with which many of you are, by now, well acquainted . It reduces the overall footprint that requires patching (see below) as well as removes the depend...
18.11.2010 VMworld 2010 Online Sessions
VMworld 2010 Online Sessions Now that VMworld 2010 has concluded, it's time to digest and consume sessions that were offered.  If you attended VMworld 2010 in either San Francisco or Copenhagen, you have been granted full access.  If you were not an attendee, you will need a VMworld 2010 Subscription.  However, VMworld 2010 General Sessions + Super Sessions AND all content from previous VMworld conferences is free to all visitors. All Super Sessions and Breakout Sessions that were captured from VMworld 2010 in San Francisco have been posted.  Selected Breat...
22.11.2010 New articles published for week ending 11/20/2010
New articles published for week ending 11/20/2010 VMware ACE Moving an ACE Management Server to a new physical server without breaking the connection to deployed ACE instances (1030623) Date Published: 11/15/2010 Manually updating ACE Management Server information on a deployed ACE instance (1030649) Date Published: 11/15/2010 VMware ESX Clarification on VM Failover alarm trigger (1025755) Date Published: 11/16/2010 VMware ESX 4.1 Patch ESX410-201010402-SG: Updates GnuTLS, NSS, and openSSL (1027014) Date Published: 11/16/2010 VMware ESX 4.1 Patch ESX410-201010405-BG: Updates VMware Tools (...
29.11.2010 New articles published for week ending 11/27/2010
New articles published for week ending 11/27/2010 VMware ESX When installing Windows 2008 R2 in a virtual machine, Windows setup fails to detect the hard disks (1030750) Date Published: 11/22/2010 Best practices for collecting events related to the High Availability Agent for vSphere 4.1 (1030992) Date Published: 11/23/2010 How to disable the CIM agent on the ESX/ESXi host (1025757) Date Published: 11/24/2010 Adding an RDM to the virtual machine in an ESX/ESXi 4.1 host fails with the error: vmdk is larger than the maximum size supported by datastore (1031041) Date Published: 11/26/2010 VMw...
18.10.2012 New HTML5 SDK from QNX Bridges the Gap Between App Developers and Automakers
Mobile developers can now create automotive apps based on standard web technologies like CSS3, HTML5, and JavaScriptDETROIT, SAE Convergence 2012 booth 815, October 16, 2012 Mobile app developers see car infotainment as a potentially lucrative new market, and automakers want to leverage the talents of the mobile community but until now, the two sides have had little way of working together. Today, QNX Software Systems Limited announced a new solution designed to tear down these barriers and to enable new partnerships between the mobile and automotive worlds: the HTML5 SDK for the QNX CAR 2 app...
10.01.2011 New Articles Published for Week of 1/8/2011
New Articles Published for Week of 1/8/2011 VMware Data Recovery Enabling verbose logging within VMware Data Recovery (1032685) Date Published: 1/5/2011 VMware ESX Physical server to virtual server conversion using VirtualCenter Converter plugin fails (1018251) Date Published: 1/6/2011 Cannot connect to vCenter Server 4.0 or ESX 4.0 using vSphere Client (1020901) Date Published: 1/4/2011 VMware ESX 4.0, Patch ESX400-201101403-BG: Updates mptsas and mptspi device drivers (1029422) Date Published: 1/5/2011 VMware ESX 4.0, Patch ESX400-201101402-SG: Updates OpenLDAP and OpenLDAP-clients (1029...
17.01.2011 New Articles Published for Week of 1/15/2011
New Articles Published for Week of 1/15/2011 VMware ESX Unable to mount the CD/DVD-ROM drive inside a virtual machine (1031746) Date Published: 1/13/2011 vSphere Client reports the status of VMware Tools as Unmanaged (1032763) Date Published: 1/13/2011 Troubleshooting issues where Update Manager cannot remediate an ESX/ESXi host (1032707) Date Published: 1/11/2011 Root account permissions have been removed or misconfigured on an ESX host (1031192) Date Published: 1/13/2011 VMware ESXi Troubleshooting issues where Update Manager cannot upgrade an ESX/ESXi host (1032626) Date Published: 1/...
31.01.2011 New Articles Published for Week ending 1/29/2011
New Articles Published for Week ending 1/29/2011 VI SDK Recommended values in the soapAction field when forming Soap Requests for vSphere API (1033447) Date Published: 1/27/2011 VMware ACE Connecting a second mouse or keyboard directly to a hosted virtual machine (1033435) Date Published: 1/24/2011 VMware Data Recovery VdrFileRestore fails to run on Linux based operating systems (1033645) Date Published: 1/27/2011 VMware ESX Cannot create an additional disk on a different datastore on ESX while restoring the virtual machine (1030790) Date Published: 1/24/2011 Booting the Red Hat Enterprise ...
07.03.2011 New Articles Published for week ending 3/5/11
New Articles Published for week ending 3/5/11 VMware Alive Enterprise Setting multiple FSDB locations in VMware Alive (1034899) Date Published: 3/1/2011 Connecting to the VMware Alive Enterprise SCOM adapter using Windows Authentication (1035184) Date Published: 3/3/2011 VMware Data Recovery More than 0 virtual machines were selected. A maximum of 0 virtual machines can be backed up by one Data Recovery appliance (1033813) Date Published: 2/28/2011 VMware Data Recovery File Level Restore: Installing FUSE on a Debian-based Linux 64bit OS (1035231) Date Published: 3/3/2011 VMware ESX vMotio...
Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста зарегистрируйтесь.
Google Search


Топ Новостей
1: Linux distros aren\'t updating WebKit, making web browsers and email clients vulnerable
Просмотров - 4986

2: Akonadi/KMail issues on Tumbleweed?
Просмотров - 627

3: Netrunner Desktop 16.09 "Avalon" Linux OS Is Out with Kernel 4.7, KDE Plasma 5.7
Просмотров - 593

4: KDE\'s Kirigami 2.0 Framework for Convergent UIs Enters Beta with New Features
Просмотров - 581

5: KDevelop 5.0.2 released for Windows and Linux
Просмотров - 575

6: HIG about Simple vs. Advanced Settings
Просмотров - 570

7: Interview with Esfenodon
Просмотров - 548

8: 3.0 Pre-alpha 3 is out!
Просмотров - 510

9: Multi-screen woes in Plasma 5.7
Просмотров - 503

10: Embrace Open Source culture: the 5 common transformations.
Просмотров - 496

11: GSoC Update 1: The Beginning
Просмотров - 485

12: Fedora and KDE/spin\'s treatment - Discussion
Просмотров - 479

13: [TORRENT] chakra-2016.02-ian-x86_64.iso
Просмотров - 479

14: Qt SCXML and State Chart Support in Qt Creator
Просмотров - 460

15: Interview with Neotheta
Просмотров - 452

Google 120X240

Главная | Actual Topics | Статьи | Обратная связь | Guest Book
Генерация: 1.653 сек. и 13 запросов к базе данных за 1.588 сек.
Powered by SLAED CMS © 2005-2007 SLAED. All rights reserved.