1. The causes of conflicts in Linux software packages are discussed as follows:
32-bit vs 64-bit conflict: Conflict between 32-bit and 64-bit versions of the same package often arises. Some processors are able to run programs that use different register and pointer sizes as seen in 64-bit X86 processors running in legacy mode 32-bit executables (Artho et al., 2012). For this to happen, all the shared libraries needed by the processor must also be available as 32-bit libraries. The way to go about this is the support by distributions to allow side by side installation of both 32-bit and 64-bit versions of the same library package on the same machine, although under different paths. Conflicts then occur in the files that are common to the two versions.
Package evolution: the evolution of a software distribution may cause a number of changes to the newer package. Newer packages could be renamed or could either be split into multiple packages or multiple packages merged. Consistency of such distribution will require the meta-data to also be updated. The meta-data is important as it contains information that describes dependencies and the relations between them. When the meta-data is not updated to reflect the changes in the package, conflicts occur.
Shared resources: unavailability or inaccessibility of shared resources contribute to conflicts in packages. The shared resources include files, network ports or function names of C library. Unavailability of shared resources due to mutual exclusion or ownership policy also causes conflicts.
2. The package manager of a Linux distribution maintains a list of all available packages and installed packages with the ability to manage installed packages. RedHat package manager and Debian package managers are similar in their management capabilities providing the tools for the updating, removing, installing and managing packages on the system. The RedHat package manager Yum, however, does not automatically solve dependencies while the Debian package manager Apt solves package dependencies automatically. Yum checks for package updates unless otherwise instructed while Apt requires a manual update (Seth, 2011).
REFERENCES
Artho, C., Suzaki, K., Di Cosmo, R., Treinen, R. and Zacchiroli, S. (2012). Why Do Software Packages Conflict? IEEE International Working Conference on Mining Software Repositories, PDF. Retrieved from http:// arxiv.org/pdf/1110.1354.pdf
Seth, K. (2011). RPM vs DEB. Packaging System, Pp 13 - 16. PDF. Retrieved from http://seth.kenlon.com/pflocal/TBOL_2011_1_RPM_DEM_US.pdf