1 00:00:01,340 --> 00:00:08,900 ‫Contemporary distributions of Linux based operating systems install software in pre compiled packages, 2 00:00:09,230 --> 00:00:15,560 ‫which are archives that contain binaries of software configuration files and information about dependencies. 3 00:00:16,610 --> 00:00:23,480 ‫But beyond that, package management tools keep track of updates and upgrades so that the user doesn't 4 00:00:23,480 --> 00:00:27,440 ‫have to hunt down information about bug and security fixes, for instance. 5 00:00:29,330 --> 00:00:36,530 ‫So without package management, users must ensure that all of the required dependencies for a piece 6 00:00:36,530 --> 00:00:38,990 ‫of software are installed and up to date. 7 00:00:40,780 --> 00:00:48,790 ‫Compile the software from the source code, which takes time, introduces a compiler based variations 8 00:00:48,790 --> 00:00:50,020 ‫from system to system. 9 00:00:52,300 --> 00:00:56,290 ‫And manage configuration for each piece of software. 10 00:00:57,870 --> 00:01:02,400 ‫Now, maybe if you're getting paid by the hour, that sounds like a great job to have. 11 00:01:03,920 --> 00:01:12,290 ‫However, I want to demonstrate that the features that are included in most package management applications, 12 00:01:12,830 --> 00:01:14,720 ‫these will give you some luxuries. 13 00:01:16,050 --> 00:01:18,060 ‫For instance, package downloading. 14 00:01:18,920 --> 00:01:25,400 ‫Operating system projects provide package repositories, which allow users to download their packages 15 00:01:25,400 --> 00:01:27,170 ‫from a single, trusted provider. 16 00:01:27,780 --> 00:01:32,960 ‫So when you download from a package manager, the software can be authenticated and will remain in the 17 00:01:32,960 --> 00:01:36,770 ‫repository even if the original source becomes unreliable. 18 00:01:38,480 --> 00:01:46,070 ‫Dependency resolution packages contain metadata, which provides information about what other files 19 00:01:46,070 --> 00:01:48,350 ‫are required by each respective package. 20 00:01:48,920 --> 00:01:54,800 ‫So this allows programs to rely on common shared libraries, reducing bulk and allowing the operating 21 00:01:54,800 --> 00:01:57,050 ‫system to manage updates to the packages. 22 00:01:59,030 --> 00:02:01,160 ‫A standard binary package format. 23 00:02:02,980 --> 00:02:08,210 ‫So packages are uniformly prepared across the system to make installation easier. 24 00:02:08,860 --> 00:02:15,520 ‫While some distributions share format, compatibility issues between similarly formatted packages for 25 00:02:15,520 --> 00:02:17,860 ‫different operating systems can. 26 00:02:19,040 --> 00:02:21,440 ‫And by can, I mean, will know. 27 00:02:22,550 --> 00:02:26,240 ‫But anyway, can and by that, I mean will occur. 28 00:02:29,010 --> 00:02:32,200 ‫Common insulation and configuration locations. 29 00:02:34,430 --> 00:02:41,060 ‫Linux distribution developers often have conventions for how applications are configured and the layout 30 00:02:41,060 --> 00:02:48,980 ‫of files in the slash Etsy slash and slash Etsy slash init.d directories. 31 00:02:49,880 --> 00:02:54,650 ‫So by using packages, distros are able to enforce a single standard. 32 00:02:58,620 --> 00:02:59,700 ‫Quality control. 33 00:03:01,710 --> 00:03:07,290 ‫Operating system developers use the package process to test and ensure that the software is stable and 34 00:03:07,290 --> 00:03:12,660 ‫free of bugs that might affect product quality and that the software doesn't cause the system to become 35 00:03:12,660 --> 00:03:13,260 ‫unstable. 36 00:03:14,360 --> 00:03:21,170 ‫The subjective judgments and the community standards that guide packaging and package management also 37 00:03:21,170 --> 00:03:24,710 ‫guide the field and stability of a given system.