Download presentation
Presentation is loading. Please wait.
Published byRosamund Horton Modified over 8 years ago
1
Use Cases, Issues, Proposed Solutions: Software and Environment Non Privileged User Package Management Francois-Denis Gonthier Kryptiva inc. fdgonthier@kryptiva.com Steven Pigeon Département de Génie Logiciel et des Technologies de l’Information (ETS) spigeon@etsmtl.ca
2
Issues of system installs Users depends on Administrators – Annoys administrators Users install packages themselves – Problems with Dependencies – Problems with Security – Problems with Redundancy
3
Objections Policies Redundancy Automatic Updates Security “Root” packages Sudo Delegation “sudoers”
4
Policies Users may lack essential skills – May or mayn't be familiar with Linux – Are often oblivious of other users Users ignore any policies they can
5
Redundancy If users each install their packages from tarballs – Many copies of the same may be found – No simple means of pooling installs
6
Automatic Updates Packages installed by users – May or mayn't be of the correct version for the current install – Are not automatically updated with the rest of the system
7
Security If users each install their packages from tarballs – They can install software from unauthenticated repositories – They can install software from incompatible repositories
8
“Root” Packages Some packages are inherently “root” – Kernel modules (and drivers) – Applications and services with restricted ressources usage
9
Sudoers Delegating Installs using “sudoers” – Basically gives root access to users – Malignant users can modify global configuration – Users can install broken or malicious packages from unauthenticated sources
10
Alternatives? Sudo Delegation “sudoers” – Already shown to be bad PackageKit Vserver (... or virtual machines)
11
What is PackageKit? ● Priviledged dbus service ● Uses distributor backend Conary RPM Apt PackageKit App. Dbus & PolicyKit
12
PackageKit Good Allow users to install software Potentially supports policies and filtering Bad No protection against bad packages... or bad users
13
What is Vserver? ● Isolated Linux instances ● Shared kernels (Vserver)... or not (VMs) Host machine Guest
14
Vserver Good Total control by user Isolation Bad Ressource cost Heavy redundancy Recursive problem
15
Proposed Solution Unprivileged User Installs Relocatable packages Multiple package databases Environment setup
16
Relocatable Packages Currently, package relocation – Partially supported by RPM – Breaks maintainers scripts Package content must be made relocatable Maintainer script be must be aware of new location
17
Multiple databases Currently, package database – Writable by root user only – Multiple database are not supported Must be accessible to user “Merged” with the system database
18
Relocatable packages File relocation (prefix based) Maintainer scripts support Software – Use relative paths – Environment variables
19
Multiple databases Package database local to user (or group) Local database “linked” with system database – Aware of system-installed dependencies – Make local version override possible
20
Setting Up Software Environment Environment setup – Prepare the software environment – Run all package specific initialization Executed through – PAM – Traditional session-initialization script
21
User package install 1. Reads local database 2. Reads system database 3. Merges both database 4. Resolves dependencies
22
System package install 1. Reads system database 2. Reads all user databases 3. Resolves dependencies Query for confirmation in case of conflicts Uninstall user-package if needed 4. Installs system packages
23
Dependencies, conflict resolution General rule – System package rule over user package – Might uninstall user packages (with confirm.) – Refuse to install non-relocatable package User – Can install earlier/other compatible versions
24
Repository policies Repository management – Allow/disallow custom repositories – White/black list of repositories – Distribution-specfic white/black list
25
Install policies Filters – By package “tags” (ie: exclude games) – By sections – Regular expressions – etc.
26
Modification to existing Package Management Software Development tools Maintainer scripts Database format (name, location) Conflict resolution Apt changes
27
Development tools Automate repetitive tasks – Setup common binary paths –... library paths –... manual paths... and that is all that is needed in some case
28
Program changes Relative path – FHS hierarchy –... relative to the program location
29
Maintainer scripts and conflict resolution Maintainer scripts – Must be made aware of location Conflict resolution – Rules already explained
30
Apt/Dpkg Read user database Handle policies – Apply policy before downloading – Support repository policies –... install policies
31
Conclusion Useful Nothing really impossible Can be made stable Little modifications needed in some case
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.