{"id":453,"date":"2017-07-15T13:56:11","date_gmt":"2017-07-15T12:56:11","guid":{"rendered":"http:\/\/chewett.co.uk\/blog\/?p=453"},"modified":"2017-07-15T14:53:51","modified_gmt":"2017-07-15T13:53:51","slug":"automatic-installation-commonly-used-packages","status":"publish","type":"post","link":"https:\/\/chewett.co.uk\/blog\/453\/automatic-installation-commonly-used-packages\/","title":{"rendered":"Automatic installation of commonly used packages"},"content":{"rendered":"<p>A number of years ago I was introduced to using Linux day to day. During this period of time I ran a large number of virtual machines to test its performance and various aspects which make it &#8220;linux&#8221;.<\/p>\n<p>Typically when I first set up a system I would install a common set of packages. Then once this had been done, I would install packages relevant to the system I was installing. I wouldn&#8217;t install games on my server for example. During this period I wrote a piece of software called the <a href=\"https:\/\/github.com\/chewett\/SetupSpider\">Setup Spider<\/a>.<\/p>\n<h2>What is the Setup Spider?<\/h2>\n<p>I wanted something really simple to both keep track of the packages that I cared about and install them for me automatically. This is what I have been using Setup Spider for.<\/p>\n<p>At a basic level I list the packages that I want to install in the setup file, and the type of system. This type could be apt, yum or dnf and the packages are just a list of package names. Once added to my script it calls install() and the packages are installed according to the package manager.<\/p>\n<p>Initially I was going to have a single list of packages for all operating systems. This worked for a very short period of time but I quickly hit a problem. For various reasons the naming of packages are not standard across major distributions. Even more annoying some packages are just not available for certain OS&#8217;s.<\/p>\n<p>This led me to splitting up the packages into their own folders. As I upgraded Fedora I decided to branch my git repository for each version (fc17, fc18&#8230;). This was working until I started using other Linux distrubtions more.<\/p>\n<h2>Improving Setup Spider<\/h2>\n<p>Setup Spider was written a long long time ago so wasnt very well done. It worked well for what it did but wasnt entirely nice to use. Recently I decided to revisit the Setup Spider and add some improvements.<\/p>\n<p>Now the scripts, instead of storing the package data in python files use json files to store the data. The python scripts are now used to manage the data in the json file.<\/p>\n<p>I flattened all of the branches and moved them back into master. This added another level of directories to store files in <code>{distribution}\/{version}.json<\/code>\u00a0format.<\/p>\n<p>I plan to be using some of this for the Raspberry Pi cluster. This is so I may quickly deploy packages to a new clone. However I am looking to in the future move to something more fully featured like Puppet. This should make managing the cluster a little easier.<\/p>\n<p>Setup Spider is available on <a href=\"https:\/\/github.com\/chewett\/SetupSpider\">GitHub<\/a> under the MIT licence. if you use it and its helpful please do contact me \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A number of years ago I was introduced to using Linux day to day. During this period of time I ran a large number of virtual machines to test its performance and various aspects which make it &#8220;linux&#8221;. Typically when I first set up a system I would install a common set of packages. Then [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5],"tags":[],"class_list":["post-453","post","type-post","status-publish","format-standard","hentry","category-informational"],"wppr_data":{"cwp_meta_box_check":"No"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2toWX-7j","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":997,"url":"https:\/\/chewett.co.uk\/blog\/997\/installing-dropbox-fedora-27-xfce\/","url_meta":{"origin":453,"position":0},"title":"Installing Dropbox on Fedora 27 XFCE","author":"Chewett","date":"February 7, 2018","format":false,"excerpt":"This blog post describes how you can install Dropbox on Fedora 27 XFCE. Installing pre-requisite packages Before we can install Dropbox we need to install a number of pre-requisite packages. The full command to install the required packages is: sudo\u00a0dnf\u00a0install\u00a0libgnome\u00a0nautilus-extensions python-gpgme The first two packages, libgnome\u00a0and\u00a0nautilus-extensions, are required by the\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/02\/installing_dropbox_on_fedora.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/02\/installing_dropbox_on_fedora.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/02\/installing_dropbox_on_fedora.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/02\/installing_dropbox_on_fedora.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":484,"url":"https:\/\/chewett.co.uk\/blog\/484\/virtualbox-guest-additions-fedora\/","url_meta":{"origin":453,"position":1},"title":"Virtualbox Guest additions on Fedora","author":"Chewett","date":"July 26, 2017","format":false,"excerpt":"This post describes how to install virtualbox guest additions on a Fedora virtual machine. Virtualbox guest additions adds a couple of features to running Fedora on virtualbox. Some of the useful features are shared folders, mouse pointer support, shared clipboard and better video driver support. The primary reason I install\u2026","rel":"","context":"In &quot;Informational&quot;","block_context":{"text":"Informational","link":"https:\/\/chewett.co.uk\/blog\/category\/informational\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/07\/fedora_on_virtualbox.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/07\/fedora_on_virtualbox.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/07\/fedora_on_virtualbox.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/07\/fedora_on_virtualbox.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1675,"url":"https:\/\/chewett.co.uk\/blog\/1675\/how-to-install-python-pip-on-ubuntu-18-04-server\/","url_meta":{"origin":453,"position":2},"title":"How to install Python Pip on Ubuntu 18.04 Server","author":"Chewett","date":"October 24, 2018","format":false,"excerpt":"This post describes how you can install Python Pip on ubuntu 18.04. Why apt doesn't work immediately By default the server edition of Ubuntu only includes the main repository for the Ubuntu software. This is for various performance and security reasons but means that there are a number of packages\u2026","rel":"","context":"In &quot;Informational&quot;","block_context":{"text":"Informational","link":"https:\/\/chewett.co.uk\/blog\/category\/informational\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/installing_pip_ubuntu_server-1.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/installing_pip_ubuntu_server-1.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/installing_pip_ubuntu_server-1.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/10\/installing_pip_ubuntu_server-1.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2135,"url":"https:\/\/chewett.co.uk\/blog\/2135\/installing-the-sdl-2-dev-tools-on-fedora\/","url_meta":{"origin":453,"position":3},"title":"Installing the SDL 2 Dev tools on Fedora","author":"Chewett","date":"April 10, 2019","format":false,"excerpt":"This post quickly lists how you can install the SDL 2 dev tools on Fedora. Installing the SDL 2 Dev tools To develop a SDL 2 application and use the SDL 2 header files to compile C++ applications you will need to install the SDL 2 dev tools. To install\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/sd2_dev_tools.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/sd2_dev_tools.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/sd2_dev_tools.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/sd2_dev_tools.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":572,"url":"https:\/\/chewett.co.uk\/blog\/572\/installing-ubuntu-linux-tools-windows\/","url_meta":{"origin":453,"position":4},"title":"Installing Ubuntu Linux tools for Windows","author":"Chewett","date":"August 23, 2017","format":false,"excerpt":"I am a big fan of Linux and today want to share how you can install the Windows Subsystem for Linux (WSL) on Windows 10. This new feature available in Windows 10 lets you install a Linux bash shell and run various linux tools on Windows. Here I describe how\u2026","rel":"","context":"In &quot;Informational&quot;","block_context":{"text":"Informational","link":"https:\/\/chewett.co.uk\/blog\/category\/informational\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/08\/windows_subsystem_for_linx.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/08\/windows_subsystem_for_linx.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/08\/windows_subsystem_for_linx.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2017\/08\/windows_subsystem_for_linx.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1281,"url":"https:\/\/chewett.co.uk\/blog\/1281\/how-to-install-redmine-on-fedora-28\/","url_meta":{"origin":453,"position":5},"title":"How to Install Redmine on Fedora 28","author":"Chewett","date":"July 4, 2018","format":false,"excerpt":"In this post I talk about the additional steps needed to install Redmine on Fedora 28. Pre-installation\u00a0steps required for Fedora 28 To install Redmine\u00a0on Fedora 28 you will need to install a number of packages first. These are required for the\u00a0ruby gem files to be compiled and installed. To quickly\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/06\/installing_redmine_on_fedora.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/06\/installing_redmine_on_fedora.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/06\/installing_redmine_on_fedora.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/06\/installing_redmine_on_fedora.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=453"}],"version-history":[{"count":1,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/453\/revisions"}],"predecessor-version":[{"id":455,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/453\/revisions\/455"}],"wp:attachment":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}