i-Installer Design

Introduction

i-Installer is a program with complex and not always friendly behaviour. Though aspects can always be improved upon, some of the behaviour is in fact the result of explicit design and functionality choices. This page is meant to explain these.

General behaviour, constraints and guidelines

i-Installer works on the basis of data and configuration data available in socalled i-Packages. An i-Package maye have the following functionality: Apart from the unarchiving, all the phases are performed by the execution of programs in the package (normally scripts at the unix level, e.g. sh, perl, etc). As these may have any functionality they constitute a security risk. Hence, the contents of packages may be checked against GPG public keys, but more importantly, they can always be inspected before they are executed.

i-Installer is designed to meet the following constraints:

Furthermore, there are some implementation issues influencing the possible behaviours:

Some consequences

The philosophy and constraints above lead to behaviour that may not always be friendly: