and what the developer saw there

Slides:



Advertisements
Similar presentations
EPrints 3 and Enlighten Demonstration William J Nixon.
Advertisements

CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
NDT Tools Tutorial: How-To setup your own NDT server Rich Carlson Summer 04 Joint Tech July 19, 2004.
Linux Operations and Administration
Downloading & Installing Software Chapter 13. Maintaining the System Yum Pirut BitTiorrent Rpm Keeping Software Up To Date Up2date Red Hat Network Wget.
Module 10 – Linux Installations. Wikipedia: Red Hat Package Manager or RPM Package Manager (RPM) is a package management system. The name RPM variously.
Managing Software using RPM. ♦ Overview In Linux, Red Hat Package Manager referred as RPM is a tool used for managing software packages and its main function.
Linux Operations and Administration
Dustin Harman VM Workshop 2015 RPM Basics. What is RPM? Red Hat Package Manager Native package manager on RHEL, Fedora, SUSE, some Mandriva RPM/SRPM files.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 6 Today’s Windows Windows Vista and Windows 7 McGraw-Hill.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
Linux Package Management Dr. Michael L. Collard 1.
A Practical Guide to Fedora and Red Hat Enterprise Linux Unit 8: Installing Software in Linux Chapter 13: Downloading and Installing Software By Fred R.
Drush: The Drupal Shell Utility Trevor Mckeown Founder & Owner Sublime Technologies
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
11 INSTALLING AND MANAGING HARDWARE Chapter 6. Chapter 6: Installing and Managing Hardware2 INSTALLING AND MANAGING HARDWARE  Install hardware in a Microsoft.
Wordpress with Mina Automated Deployment Solution Jonathan Gravato DIG 4104c.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
Sys Admin Course Package Management Fourie Joubert.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 6 Today’s Windows Windows Vista and Windows 7 McGraw-Hill.
RedHat Package Management RPM and YUM in RedHat Enterprise, Fedora, Suse and Centos.
Quattor tutorial Introduction German Cancio, Rafael Garcia, Cal Loomis.
8/29/10 Maven Repository Management with Nexus Jim McMahon.
Galaxy in Production Nate Coraor Galaxy Team Penn State University.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Luke Macken [ bodhi ]. ● History of Fedora updates ● bodhi ● goals ● features ● architecture ● using ● testing/qa ● hacking ● future ideas [ overview.
System Administration Application Management. ● A common task for a system administrator is the installation, updating and removal of software. Several.
Linux Basics Part 2. VIM Editor vi improved Installed on most Linux machines Can be a bit confusing at first... o Cheat sheets FTW Other popular editors:
Introduction to Python for System Administrators Toshio Kuratomi May 2011.
MirrorManager: The Fedora Mirror System Matt Domsch Fedora Mirror Wrangler Linux Technology Strategist Office of the CTO Dell, Inc.
Customizing Fedora Jeroen van Meeuwen Fedora Project.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
New Tools Used by the Scientific Linux Team
Fundamental of Databases
ONAP on Vagrant for ONAPers
Containers as a Service with Docker to Extend an Open Platform
Abstract After a SIG has been approved, one of the next steps is to get products out to users. During this talk, Niels will explain how the Storage SIG.
Installation of MySQL Objectives Contents Practical Summary
CIT 470: Advanced Network and System Administration
Build process of ovirt-node and the plugins
application into a Flatpak
Linux Command RTFM: rpm(8) & yum(8)
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
Dogtail: A GUI Test Tool
COP 4343 Unix System Administration
ITCS-3190.
The Architecture of oVirt Node
Automated Bug Reporting Tool
The Use of AMET and Automated Scripts for Model Evaluation
State of Testing Jason Kenny – ATS committer.
IBM Tivoli Provisioning Manager Red Hat 5 patch management
Chapter 11: Managing Users
DHCP server & Client Objectives Contents
Processes The most important processes used in Web-based systems and their internal organization.
Ubuntu Working in Terminal
More Scripting & Chapter 11
RedHat Package Management
XSEDE’s Campus Bridging Project
Populating a Data Warehouse
Lesson #7 MCTS Cert Guide Microsoft Windows 7, Configuring Chapter 7 Configuring Devices and Updates.
University of Texas Rio Grande Valley Systems Administration CSCI 6175
Populating a Data Warehouse
IS3440 Linux Security Unit 8 Software Management
OPS235 PACKAGE MANAGEMENT
Module 01 ETICS Overview ETICS Online Tutorials
Getting Started With Solr
Presentation transcript:

and what the developer saw there Through the yum API, and what the developer saw there Paul Nasrat Software Engineer - Red Hat, Inc.

Summary Main text Introduction yum-utils yum shell yum plugins yum API

Introduction RPM Basic network awareness and dependency solving Yup YellowDog updater Duke University heavy use Yum Needs of Duke (particularly physics) Seth Vidal - YellowDog updater modified Recent yum development Larger team of contributors RPM metadata, urlgrabber, sqlite caching Hooks for third parties (shell, plugins, API)

Extending yum Why? Tool automation Build automation Quality Assurance Who? System Administrators Packagers OS Developers How? Python Yum 2.3.x +

Yum-utils - repoquery Replaces rpm -q and rpmdb-fedora for metadata repositories repoquery --requires demo-requirer repoquery –-provides demo-provider repoquery –-whatprovides RPM style queryformat repoquery –queryformat ‘%{name}.%{arch}’ demo

Yum utils yumdownloader Download packages Resolve dependencies Supports source rpm retrieval yum-builddep Install build dependencies for a package

yum shell Simple cli interface for advanced users Not a scripting language – no logic control, error handling yum shell > help commands: clean, config, exit, groupinfo, groupinstall, grouplist, groupremove, groupupdate, info, install, list, localinstall, makecache, provides, quit, remove, repo, run, search, transaction, update > repo disable * > repo enable yum-demo > install yum-shell-demo > transaction solve > transaction run

RPM core concepts Header object Tags and values Python dictionary like. Transaction based “Workhorse of RPM” Transaction set Flags – A transaction set can be modified or setup with various flags Test only

yum plugins Hook and slot based extensibility Configuration Command line option addition Pre/post repository setup Pre/post download Pre/post Versioned API that plugins require Conduit for access to transaction information

yum plugin - example # tsflags by Panu Matilainen <pmatilai@laiskiainen.org> requires_api_version = '2.1' def init_hook(conduit): parser = conduit.getOptParser() parser.add_option('--tsflags', dest='tsflags') def postreposetup_hook(conduit): opts, args = conduit.getCmdLine() conf = conduit.getConf() if opts.tsflags: flags = opts.tsflags.split(',') conf.setConfigOption('tsflags', flags)

Yum api Why? Alternative front ends Plugins insufficient Stand alone applications How? rpmUtils module – rpm-python wrapper yum module - YumBase What? yum-utils Fedora Core 5 - anacoda pup

Yum API YumBase This is a primary structure and base class. It houses the objects and methods needed to perform most things in yum. It is almost an abstract class in that you will need to add your own class above it for most real use. Handles configuration setup Repository setup Dummy log routines Callbacks RPM Callbacks urlgrabber progress bar

Future plans Yum everywhere in Fedora Anaconda Pup System-config-packages replacement Applet replacement Provide a stack of components for graphical yum front ends Speaking with yumex developers Speed and memory footprint improvements

Further information yum-devel list RPM metadata list

Thanks and questions... Seth Vidal – primary developer Jeremy Katz Adrian Likins Matthew Miller Michael Stenner Icon Riabitsev Ryan Tomayko Robert G. Brown Hollis Blanchard Grigory Bakunov Menno Smits Gijs Hollestelle Terje Rosten