Linux has many advantages over Mac and Window that make it potentially much easier to install:
- It is free - no need to bother user with serial numbers, etc.
- The kernel comes with all drivers, no need to ask user for ethernet & disk driver before install
- Possible to do a network installation of Linux, without any need for later updating packages
- When upgrading hardware, it is usually not necessary to reinstall Linux, this is certainly not the case on Windows. And on Mac you do not even have the freedom to change hardware.
However there are lot of small annoyances while installing Linux (here Fedora 18)
- Even when having more than 8 GB of memory, it will not copy the base-system from USB/CD to memory before launching. The CD will keep spinning up/down every time you access anything not in cache during installation. When using a livecd as rescue method, this is particular annoying as everything gets really slow to work with.
- Installation cd's are never updated after initial release, even through they have many bugs. Since very few users test the livecd before final release, a lot of bugs are found after release. These gets fixed in updates, but it never gets to the installation media. As a consequences you might be unable to install Fedora on a new system, even though the system could work after an update.
- Letting Linux handle the partitioning usually means creating lot of unnecessary paritions, ie /boot, /etc, /usr. Since most systems (if not all) can handle all these on one partition, why not just use / and /home?
My suggestions to improve Linux installation experience.
- Linux should aim to only install a fully updated base system with a powerful graphical package management system that can handle installation of later packages. The user should not have to bother with deciding packages to install at install-time.
- The base system should be so small that it can be stored in memory on computers with 4GB of memory. That way the install medium can be shared on multiple machines at the same time.
- It should be possible to modify the install medium to be used as a remote install. The installer would then contact a install-server on another machine that would be able to remotely do the installation.
- The installation should not install any unnecessary services on system, ie OpenSSH. Many users do not need it and it gives a security risk. It should be possible to choose to let some services be installed through.
Packages for minimum system
- System libraries like glibc
- Package manager for system packages
- Archivers: tar, bzip2, gzip, xz, zip, unrar
- CUPS (Should be option to not install it)
- OpenSSH (Only if user actively choose to install it)
Minimum graphical system
- Fluxbox or similar. Aim is to have a ultra lightweight and simple window manager that can be used as fallback and to setup system. It should not use any graphic acceleration or other things that might make it likely to have problems.
- Graphical package manager for applications
- Graphical archiving tool