Tanner Lovelace – Slide 1 RPM Packaging 101 Tanner Lovelace Triangle Linux Users Group 11/Jan/2003.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Software installation Chapter 7. Software installation Numerous software options Usually free Open source Several sources Installation CD Websites sourceforge.net.
Linux+ Guide to Linux Certification, Third Edition Chapter 11 Compression, System Backup, and Software Installation.
Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
Installing Linux softwares Sirak Kaewjamnong. 2 Software packets  When Linux developers create their software they typically bundle all the executable.
Chapter 11 Compression, System Backup, and Software Installation.
Downloading & Installing Software Chapter 13. Maintaining the System Yum Pirut BitTiorrent Rpm Keeping Software Up To Date Up2date Red Hat Network Wget.
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
Linux+ Guide to Linux Certification
Filesystem Hierarchy Standard (FHS) –Standard of outlining the location of set files and directories on a Linux system –Gives Linux software developers.
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.
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
Package Management How to use rpms. Topics The Problem of Software Installation Package Management Systems Using RPM Finding RPMs Building RPMs.
Linux Package Management Dr. Michael L. Collard 1.
Samba Advanced System Administration Course James Lwali University computing Centre Ltd, University of Dar es salaam,
Isecur1ty training center Presented by : Eng. Mohammad Khreesha.
Linux Introduction Part 2. Finding Files find “start directory” -name "filename“ Find the file called "filename" on the filesystem starting the search.
CIT 470: Advanced Network and System AdministrationSlide #1 CIT 470: Advanced Network and System Administration Package Management.
CERN Manual Installation of a UI – Oxford July - 1 LCG2 Administrator’s Course Oxford University, 19 th – 21 st July Developed.
Install Software. UNIX Shell The UNIX/LINUX shell is a program important part of a Unix system. interface between the user & UNIX kernel starts running.
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.
Managing Software Patches 10/15/ Introducing Solaris OE Patches A patch contains collection of files and directories Patch replaces existing files.
Linux Services Muhammad Amer. 2 xinetd Programs  In computer networking, xinetd, the eXtended InterNET Daemon, is an open-source super-server daemon.
Linux Network Configuration Linux System Administration /etc/resolv.conf Tells the kernel which name server should be queried when a program asks to "resolve"
CIT 500: IT Fundamentals Packages and Filesystems 1.
SUSE Linux Enterprise Desktop Administration Chapter 6 Manage Software.
Guide to Linux Installation and Administration1 Chapter 4 Running a Linux System.
05/29/2002Flavia Donno, INFN-Pisa1 Packaging and distribution issues Flavia Donno, INFN-Pisa EDG/WP8 EDT/WP4 joint meeting, 29 May 2002.
Installation of packages Objectives –Using software packaging tools Contents –Application delivered as –Where to get commonly used rpm’s –Autofs on! –Getting.
What is a port The Ports Collection is essentially a set of Makefiles, patches, and description files placed in /usr/ports. The port includes instructions.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
SPMA & SWRep: Basic exercises HEPiX hands-on, NIKHEF 5/03 German Cancio
Linux Overview Why Linux ? Not-so-ancient history –Torvalds, Linus Torvalds, 002 the Helsinki University, as a student, low budget, work home –rapid and.
Installation of packages Objectives –Using software packaging tools Contents –Application delivered as –Where to get commonly used rpm’s –Autofs on! –Getting.
CSCI 330 UNIX and Network Programming Unit XX: Linux Administration.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 5.1 © Copyright IBM Corporation 2008 Unit 14 Basic.
Module 6: Configuring User Environments Using Group Policies.
RedHat Package Management RPM and YUM in RedHat Enterprise, Fedora, Suse and Centos.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
Upgrade on Windows 7. DownloadSoftware Download Software from link provided in Webliography: e/
System Administration Application Management. ● A common task for a system administrator is the installation, updating and removal of software. Several.
Getting Started in RPM Packaging Izhar Firdaus / KageSenshi Contributor Fedora Project
Into Fedora RPM packages Lubomir Rintel Presented by Fedora Package Maintainer Creative Commons Attribution-ShareAlike license applies. Packaging Gems.
Perl in RPM-Land Dave Cross Magnum Solutions Ltd YAPC::Europe 15 th August 2008.
1 April 2, Software Packaging and Releasing Best Practices William Cohen NCSU CSC 591W April 2, 2008.
RPM101: A gentle intro to creating your own packages Richard Keech Red Hat Asia-Pacific.
Managing User Desktops with Group Policy
Chapter 9 Managing Software
Development Environment
Chapter 3 Installing and Learning Software
Installation of MySQL Objectives Contents Practical Summary
CIT 470: Advanced Network and System Administration
Packaging with RPM Tom Lapp September 5, 2007 CINLUG
BIF713 Managing Disk Space.
Managing Software.
Ubuntu Working in Terminal
Lecture 13 RPM and its advantages.
Get Oracle 8i Running on Your Linux Server Straight Away!
More Scripting & Chapter 11
RedHat Package Management
Introduction to Introduction to Singularity
University of Texas Rio Grande Valley Systems Administration CSCI 6175
Tanner Lovelace Triangle Linux Users Group 11/Jan/2003
OPS235 PACKAGE MANAGEMENT
Module 5 Getting Help.
Perl in RPM-Land Dave Cross Magnum Solutions Ltd YAPC::Europe
Presentation transcript:

Tanner Lovelace – Slide 1 RPM Packaging 101 Tanner Lovelace Triangle Linux Users Group 11/Jan/2003

Tanner Lovelace – Slide 2 Outline Package Management BasicsPackage Management Basics RPM Package Management BasicsRPM Package Management Basics Creating Your Own RPM PackagesCreating Your Own RPM Packages Creating RPM Packages of Downloaded ProgramsCreating RPM Packages of Downloaded Programs Advanced RPM PackagingAdvanced RPM Packaging

Tanner Lovelace – Slide 3 Package Management Basics Why use package management?Why use package management? –OpenBSD base doesn’t –Most Linux systems do Keeps track of system packagesKeeps track of system packages –Files –Descriptions –Checksums –Other… Allows easy upgrades and uninstallsAllows easy upgrades and uninstalls

Tanner Lovelace – Slide 4 RPM Package Management Basics Developed by RedhatDeveloped by Redhat –Dominant distribution at the time was Slackware »Slackware has packages, but not really a package management system »RPM was a big advance over Slackware –Current stable version is 4.1 –Most commonly used version today is 4.0.x »We will be covering 4.0.x

Tanner Lovelace – Slide 5 RPM Package Concepts Pristine SourcesPristine Sources –Most Linux software downloaded from the Internet –Any distribution specific customizations should be kept separately in patches »Makes it easier to handle new versions Reproducible BuildsReproducible Builds –Building and packaging should be easy and reproducible –Shell script automation

Tanner Lovelace – Slide 6 Common RPM Installation Commands InstallationInstallation –rpm –ihv –rpm –ihv UpgradeUpgrade –rpm –Uhv –rpm –Uhv FreshenFreshen –rpm –Fhv –rpm –Fhv EraseErase –rpm –e –rpm –e

Tanner Lovelace – Slide 7 Other Common RPM Commands QueryQuery –rpm –q[option] –rpm –q[option] »-qi = Query Package Information »-ql = List Package Files »-qf = Query which package a file belongs to. »--queryformat – Construct Special Query »--querytags – List available tags »-p – Specify non-installed rpm package »-a – Query all installed files

Tanner Lovelace – Slide 8 Other Common RPM Commands VerifyVerify –rpm –V[option] –rpm –V[option] »Compare information about installed package files with information stored in rpm database and note any discrepencies. »Compares size, MD5 sum, permissions, type, owner, and group of each package file Signature checkingSignature checking –rpm {-K|--checksig} –rpm {-K|--checksig} »Checks package gpg/pgp signature Conversion to cpioConversion to cpio –rpm2cpio cpio converts rpm files to cpio streams

Tanner Lovelace – Slide 9 Setting up the RPM Build Environment NEVER BUILD RPMs AS ROOT!!!NEVER BUILD RPMs AS ROOT!!! ~/.rpmmacros~/.rpmmacros –%_topdir /path/to/rpm/build/env »I typically use ~/RPM –Optional temp directory »%_tmppath /path/to/tmp Create directoriesCreate directories –~/RPM/BUILD –~/RPM/RPMS/ –~/RPM/RPMS/ –~/RPM/RPMS/noarch –~/RPM/SOURCES –~/RPM/SPECS –~/RPM/SRPMS

Tanner Lovelace – Slide 10 Creating Your Own RPMs rpmbuild commandrpmbuild command –rpmbuild –ba – build binary and source rpms –rpmbuild –bb – build binary rpm –rpmbuild –bs – build source rpm Before version 4, the rpm command was used instead of rpmbuild.Before version 4, the rpm command was used instead of rpmbuild. –Compatibility aliases in 4.0 –Aliases removed in 4.1 (Redhat 8.0) Need source files, patches (if any) and a spec file.Need source files, patches (if any) and a spec file. –Source and patch files go in SOURCES/ –Spec file goes in SPECS/

Tanner Lovelace – Slide 11 RPM Spec Files Instructions for building and packaging an rpm.Instructions for building and packaging an rpm. –Building – set of shell scripts –Packaging – General info, lists of files, etc. Divided into sectionsDivided into sections –Headers (unlabeled section) –%description –%prep –%build –%install –%files –Others

Tanner Lovelace – Slide 12 Creating RPMs Examples See Pinky and the Brain Examples atSee Pinky and the Brain Examples at Sub package exampleSub package example Example of how to “rpm-ify” a package.Example of how to “rpm-ify” a package. PatchingPatching Conditional buildingConditional building

Tanner Lovelace – Slide 13 References References will go here when presentation goes online..References will go here when presentation goes online..