Download presentation
Presentation is loading. Please wait.
Published byEaster Ross Modified over 8 years ago
1
1 Introduction to PiSi (Pardus Package Manager) Görkem Çetin TÜBİTAK/UEKAE gorkem@pardus.org.tr
2
2 Agenda ● What is PiSi? ● The command line ● Basic commands with examples ● Other infrequent commands ● Tips & tricks ● Questions?
3
3 Main features of PiSi ● PiSi: A new package approach and model for Pardus Linux. ● PiSi: Packages installed successfully as intended ● Developed in TUBITAK/UEKAE Pardus Labs ● Fully written in Python ● Uses Berkeley DB as a backend ● Fast and efficient ● Includes a CLI and a GUI ● Source package specifications are defined in XML files, and source building instructions are given in small python scripts
4
4 Other features ● Dependencies are calculated with fast algorithms ● Each package has a component and a category ● Packages benefit from LZMA compression ● Can be run over http/ftp transparently ● Full localization support (for English, Turkish, Dutch) ● No need for distinct commands for repository and the dependencies (i.e urpmi and rpm)
5
5 Components and categories ● Component: A sub-system of Pardus packages (system.base, desktop.kde, etc) Makes it easy to install a group of packages which is used for a particular purpose ● Category: Type of the package itself (i.e app:gui, app:cli, library, daemon) Shows the package type ● Each package has a component and could have several categories
6
6 Command parameters at a glance ● Basic package commands: upgrade, update, remove, install ● Searching commands: search, search-file, list- available, list-components, list-installed, list-pending, list-repo, list-upgrades, graph,... ● Repository commands: add-repo, remove-repo, update-repo, list-repo,... ● Building commands: build ● There are more commands than listed here (more than 25)
7
7 Command parameters at a glance ● PiSi takes at least one command and optionally a parameter, i.e pisi help pisi install kdesdk-3.5.4-5.pisi pisi search firefox ● Many PiSi commands have their short forms it for install up for upgrade rm for remove
8
8 Installing a package with PiSi ● PiSi can install a package transparently from hard disk, on a web page or ftp site. ● While installing, dependencies of the corresponding package is resolved and necessary actions are taken. ● Installing KDE educational package from Pardus repository pisi install kdeedu ● Installing KDE games package from a web page pisi it http://www.pardus.org.tr/kdegames-3.5.4.pisi
9
9 Updating a package ● A package can be updated on demand using PiSi commands ● Old package is deleted, new one is installed ● If configuration files of the package (if there are any) are modified by user, new configuration file is installed side by side. Otherwise they are upgraded too.
10
10 Updating a package ● Updating a package (from repository) pisi upgrade firefox ● Updating a category pisi upgrade desktop.kde ● Updating a package (as a file) pisi upgrade postfix-2.3.2-6-5.pisi
11
11 Removing a package ● If a package (B) is dependent on another (A), then removing B will also remove A. ● Removing a package with rm (--remove) option pisi remove firefox ● Don't really remove, just see what will happen with -n (--dry-run) pisi remove firefox -n ● Remove a package ignoring the dependency with -- ignore-dependency (this may break other packages which are dependent to this package, so be careful!) pisi remove mysql-client --ignore-dependency
12
12 Getting package information ● A package information consists of a version information, summary, a description, component and category data. Version and release are numbers pointing to the current information of the corresponding package (i.e version 2.3.5 release 1) Summary gives a very short summary of the package Description is used to give more information for the impatient ● “info” command is used to get information from a specific package
13
13 Getting package information
14
14 Upgrading the whole system ● Applying all the updates available at a time is very easy with PiSi pisi upgrade ● This command will ask which packages need to be updated and the size of the downloaded packages ● All packages are downloaded and cached for future use to /var/cache/pisi/packages
15
15 Tricks while upgrading ● Get a list of which packages need an upgrade, without downloading them with -n (--dry-run) option pisi upgrade –n ● Only download the upgraded packages, but do not install them with -f (--fetch-only) pisi upgrade -f ● Do not upgrade a specific package or a list of packages with -x (--exclude) pisi upgrade -x openoffice pisi upgrade -x desktop.kde
16
16 Repository commands ● PiSi uses a repository to download and install the packages ● Adding or removing a repository is possible ● The current repositories can be listed with list- repo command: pisi list-repo pardus-1.1 http://paketler.pardus.org.tr/pardus-1.1/pisi-index.xml.bz2 playground http://svn.pardus.org.tr/pardus/playground/pisi-index.xml.bz2 Name of the repositoryAddress of the repository
17
17 Repository commands (2) ● A repository can be added in order to download more packages ● A repository is added with add-repo command ● This command takes two arguments: the name and the address of the repository pisi add-repo 3rdparty htp://reponame/dir/pisi-index.xml.bz2 Repo 3rdparty added to system. Update PiSi database for repository 3rdparty? (yes/no)
18
18 Repository commands (3) ● A repository can be removed from the repository list. ● A repository is removed with remove-repo command ● This command takes one argument: the name of the repository pisi remove-repo 3rdparty
19
19 Searching for files in the system ● The Pardus repository keeps a track of file list each package contains. ● This database knows which file a particular package contains ● In the database, a SHA1SUM of each file is also recorded. This sum is helpful when checking if a file is modified or not. ● The file database of the system is fully searchable.
20
20 Searching for files in the system ● Show the list of files and their sizes in a specific package with -f (--files) pisi search -f kdebase ● Show the file path only with -F (--files-path) pisi search -F whois ● Only show the package information with -l (--long) pisi search -l openoffice
21
21 Listing the packages ● All packages, whether they are installed or in the repository can be listed ● List all packages in the current repository/ies with la (--list-available) pisi la ● List components with lc (--list-components) pisi lc ● List all installed packages with li (--list- installed) pisi li ● List all packages to be upgraded with lu (--list- upgrades) pisi lu
22
22 Building a package ● A user can build a package from its own specification file, pspec.xml ● Building a package is done with build command given to pisi ● The pspec.xml file can be retrieved from internet, or it can reside on a local disk. ● After a successful build, the package resides in the current working directory ● If the build requires other packages to be downloaded, the user is informed on this matter
23
23 What happens during a build? ● A build consists of the following steps: 1. Fetch (download the source archive) 2. Unpack (unpack source and apply patches) 3. Setup (configure the package) 4. Build (compile the package) 5. Install (install the package) ● PiSi build system can apply any of these steps to a source file ● For example, a package source can only be fetched, or fetched+unpacked, or fetched+unpacked+setup or totally built and installed on the system.
24
24 Package build examples ● Only fetch a source file pisi build --fetch pspec.xml ● Fetch+unpack the source pisi build --unpack pspec.xml ● Fetch+unpack+setup the source pisi build --setup pspec.xml ● Fetch+unpack+setup+build the source pisi build --build pspec.xml ● Generate the package pisi build --package pspec.xml ● Build the source and install it pisi build --install pspec.xml
25
25 Checking all installed packages ● PiSi can check all files in a package for consistency, and report if a problem exists pisi check Checking all installed packages * Checking 3cp4218... OK * Checking 855resolution... OK * Checking DirectFB... OK * Checking FusionSound... OK * Checking IO-Socket-SSL... OK * Checking Net-SSLeay... OK * Checking PolicyKit... OK
26
26 Rebuilding the PiSi database ● PiSi can rebuild the files database from scratch if the file database needs to be updated. pisi rebuild-db Rebuild PiSi databases? (yes/no) yes * Adding 'PyKDEeXtensions' to db... OK. * Adding 'libsynaptics' to db... OK. * Adding 'cdparanoia' to db... OK. * Adding 'pth' to db... OK. * Adding 'iputils' to db... OK. * Adding 'rt2400' to db... OK.
27
27 Cleaning up the PiSi cache ● All packages to be upgraded is saved in a cache directory on the disk for future use ● This directory can be cleaned with dc (-- delete-cache) command. ● Example: pisi dc
28
28 QUESTIONS?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.