https://wiki.cliquesoft.org/api.php?action=feedcontributions&user=Digitalpipe&feedformat=atomCliquesoft - User contributions [en]2024-03-28T09:24:57ZUser contributionsMediaWiki 1.24.4https://wiki.cliquesoft.org/index.php?title=esesen&diff=5858esesen2019-01-04T16:37:18Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[https://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [https://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The DATA partition can only be Fat32/NTFS when using Windows (since those are the only filesystems that currently work with Esesen and Windows)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of bootable 'Esesen OS' medium (e.g. flash drive, CD, etc) handy in the event of drive failure or ransomware attack<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * Implement reverse ssh, VNC connections for end-user initiated assistance<br />
:: * Update the backend to work with network shares for DATA (as indicated by the installers)<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [https://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
::: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
::: For those using a Linux operating system, you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (which is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
::: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 66px'><br />
$ cdrecord -v -dao -eject dev=/dev/dvd /location/to/file/esesen.iso<br />
</pre><br />
<br />
::: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 66px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
::::: Please note that the network share for DATA does not work in the current version of Esesen and that further backend updates will resolve this problem.<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for the "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which are covered in the [[https://wiki.cliquesoft.org/index.php?title=esesen#Configuration_Menu Interfaces]] section below.<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [https://forums.cliquesoft.org forums]<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, Esesen provides uninstall scripts to make this as easy as possible. Linux users have a variety of choices for their graphical environment, so we will document the procedures that will universally work. Start by opening a terminal/console window and navigate to the "/opt/Esesen" directory. From there, simply call the "uninstall.sh" script (using "sudo" if you are a normal user):<br />
<br />
<pre><br />
# cd /opt/Esesen<br />
/opt/Esesen # sudo ./uninstall.sh<br />
</pre><br />
<br />
For Microsoft Windows users, the uninstall process can be started by going into your "Control Panel" or "Settings" (depending on the version of Windows), and then opening the "Add/Remove Programs" (Windows 2k/XP), "Programs and Features" (Windows Vista/7/8), "System > Apps & Features" (Windows 10). This will bring up a screen showing all the currently installed software. Scroll through the list until you find the "Esesen" entry and click it to expose an "Uninstall" or "Uninstall/Change" button (which can be in various locations depending on the version of Windows being used). Click that button to start the uninstall process.<br />
Alternatively, you can open a command prompt window and navigate to "C:\Program Files\Esesen" where you can run the "uninstall.bat" file:<br />
<br />
<pre><br />
C:\Users\owner> cd "c:\program files\esesen"<br />
C:\Program Files\Esesen> uninstall.bat<br />
</pre><br />
<br />
If any of those attempts fail, you can manually remove the Esesen software by performing the following steps while in the host operating system. Also note, that these steps pertain to installs on the host OS partition. If Esesen was installed to its own partition, simply delete that partition and any files/directories listed below:<br />
<br />
: '''Linux'''<br />
<pre style='margin-left: 22px'><br />
# rm /etc/cron.d/esesen<br />
# rm /boot/core32-vmlinuz<br />
# rm /boot/xinix.i32.gz<br />
# rm /boot/Esesen.pbr<br />
# rm -R /opt/Esesen<br />
</pre><br />
<br />
: To reset the bootloader menu back to its pre-Esesen state, find which file below exists and follow the steps outlined:<br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/40_custom.org<br />
/boot/grub/40_custom.org<br />
# sudo mv /boot/grub/40_custom.org /etc/grub.d/40_custom<br />
# sudo grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/menu.lst<br />
/boot/grub/menu.lst<br />
# sudo mv /boot/grub/menu.lst.org /boot/grub/menu.lst<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/extlinux]/extlinux.cfg.org<br />
/boot[/extlinux]/extlinux.cfg.org<br />
# sudo mv /boot[/extlinux]/extlinux.cfg.org /etc[/extlinux]/extlinux.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/syslinux]/syslinux.cfg.org<br />
/boot[/syslinux]/syslinux.cfg.org<br />
# sudo mv /boot[/syslinux]/syslinux.cfg.org /etc[/syslinux]/syslinux.cfg<br />
</pre><br />
<br />
: '''Windows All'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> SchTasks /Delete /TN "Esesen" /F<br />
C:\Users\owner> regedit /s "C:\Program Files\Esesen\Registry\uninstall.reg"<br />
C:\Users\owner> del C:\grldr*.*<br />
C:\Users\owner> del C:\Esesen.pbr<br />
C:\Users\owner> del C:\menu.lst<br />
C:\Users\owner> rmdir /q /s "C:\Program Files\Esesen"<br />
</pre><br />
<br />
: '''Windows 2k/XP'''<br />
<pre style='margin-left: 22px'><br />
C:\Documents and Settings\owner> xcopy /y /q /h /r /k C:\boot.org C:\boot.ini<br />
C:\Documents and Settings\owner> rm C:\boot.org<br />
</pre><br />
<br />
: '''Windows Vista/7/8'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> bcdedit /delete {11111111-1111-1111-1111-111111111111}<br />
</pre><br />
<br />
<br />
NOTES:<br />
: * Receiving any final message other than "Esesen has been uninstalled successfully!", you should contact your support staff or visit [https://forums.cliquesoft.org our forums].<br />
: * In the event of a failure, sometimes running the uninstaller multiple times will resolve the problem and continue the process until completed successfully.<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5857esesen2019-01-04T16:27:37Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The DATA partition can only be Fat32/NTFS when using Windows (since those are the only filesystems that currently work with Esesen and Windows)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of bootable 'Esesen OS' medium (e.g. flash drive, CD, etc) handy in the event of drive failure or ransomware attack<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * Implement reverse ssh, VNC connections for end-user initiated assistance<br />
:: * Update the backend to work with network shares for DATA (as indicated by the installers)<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
::: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
::: For those using a Linux operating system, you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (which is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
::: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 66px'><br />
$ cdrecord -v -dao -eject dev=/dev/dvd /location/to/file/esesen.iso<br />
</pre><br />
<br />
::: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 66px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, Esesen provides uninstall scripts to make this as easy as possible. Linux users have a variety of choices for their graphical environment, so we will document the procedures that will universally work. Start by opening a terminal/console window and navigate to the "/opt/Esesen" directory. From there, simply call the "uninstall.sh" script (using "sudo" if you are a normal user):<br />
<br />
<pre><br />
# cd /opt/Esesen<br />
/opt/Esesen # sudo ./uninstall.sh<br />
</pre><br />
<br />
For Microsoft Windows users, the uninstall process can be started by going into your "Control Panel" or "Settings" (depending on the version of Windows), and then opening the "Add/Remove Programs" (Windows 2k/XP), "Programs and Features" (Windows Vista/7/8), "System > Apps & Features" (Windows 10). This will bring up a screen showing all the currently installed software. Scroll through the list until you find the "Esesen" entry and click it to expose an "Uninstall" or "Uninstall/Change" button (which can be in various locations depending on the version of Windows being used). Click that button to start the uninstall process.<br />
Alternatively, you can open a command prompt window and navigate to "C:\Program Files\Esesen" where you can run the "uninstall.bat" file:<br />
<br />
<pre><br />
C:\Users\owner> cd "c:\program files\esesen"<br />
C:\Program Files\Esesen> uninstall.bat<br />
</pre><br />
<br />
If any of those attempts fail, you can manually remove the Esesen software by performing the following steps while in the host operating system. Also note, that these steps pertain to installs on the host OS partition. If Esesen was installed to its own partition, simply delete that partition and any files/directories listed below:<br />
<br />
: '''Linux'''<br />
<pre style='margin-left: 22px'><br />
# rm /etc/cron.d/esesen<br />
# rm /boot/core32-vmlinuz<br />
# rm /boot/xinix.i32.gz<br />
# rm /boot/Esesen.pbr<br />
# rm -R /opt/Esesen<br />
</pre><br />
<br />
: To reset the bootloader menu back to its pre-Esesen state, find which file below exists and follow the steps outlined:<br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/40_custom.org<br />
/boot/grub/40_custom.org<br />
# sudo mv /boot/grub/40_custom.org /etc/grub.d/40_custom<br />
# sudo grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/menu.lst<br />
/boot/grub/menu.lst<br />
# sudo mv /boot/grub/menu.lst.org /boot/grub/menu.lst<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/extlinux]/extlinux.cfg.org<br />
/boot[/extlinux]/extlinux.cfg.org<br />
# sudo mv /boot[/extlinux]/extlinux.cfg.org /etc[/extlinux]/extlinux.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/syslinux]/syslinux.cfg.org<br />
/boot[/syslinux]/syslinux.cfg.org<br />
# sudo mv /boot[/syslinux]/syslinux.cfg.org /etc[/syslinux]/syslinux.cfg<br />
</pre><br />
<br />
: '''Windows All'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> SchTasks /Delete /TN "Esesen" /F<br />
C:\Users\owner> regedit /s "C:\Program Files\Esesen\Registry\uninstall.reg"<br />
C:\Users\owner> del C:\grldr*.*<br />
C:\Users\owner> del C:\Esesen.pbr<br />
C:\Users\owner> del C:\menu.lst<br />
C:\Users\owner> rmdir /q /s "C:\Program Files\Esesen"<br />
</pre><br />
<br />
: '''Windows 2k/XP'''<br />
<pre style='margin-left: 22px'><br />
C:\Documents and Settings\owner> xcopy /y /q /h /r /k C:\boot.org C:\boot.ini<br />
C:\Documents and Settings\owner> rm C:\boot.org<br />
</pre><br />
<br />
: '''Windows Vista/7/8'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> bcdedit /delete {11111111-1111-1111-1111-111111111111}<br />
</pre><br />
<br />
<br />
NOTES:<br />
: * Receiving any final message other than "Esesen has been uninstalled successfully!", you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
: * In the event of a failure, sometimes running the uninstaller multiple times will resolve the problem and continue the process until completed successfully.<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5856esesen2019-01-04T16:24:46Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The DATA partition can only be Fat32/NTFS when using Windows (since those are the only filesystems that currently work with Esesen and Windows)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of bootable 'Esesen OS' medium (e.g. flash drive, CD, etc) handy in the event of drive failure or ransomware attack<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * Implement reverse ssh, VNC connections for end-user initiated assistance<br />
:: * Update the backend to work with network shares for DATA (as indicated by the installers)<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
::: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
For those using a Linux operating system, you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (which is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ cdrecord -v -dao -eject dev=/dev/dvd /location/to/file/esesen.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, Esesen provides uninstall scripts to make this as easy as possible. Linux users have a variety of choices for their graphical environment, so we will document the procedures that will universally work. Start by opening a terminal/console window and navigate to the "/opt/Esesen" directory. From there, simply call the "uninstall.sh" script (using "sudo" if you are a normal user):<br />
<br />
<pre><br />
# cd /opt/Esesen<br />
/opt/Esesen # sudo ./uninstall.sh<br />
</pre><br />
<br />
For Microsoft Windows users, the uninstall process can be started by going into your "Control Panel" or "Settings" (depending on the version of Windows), and then opening the "Add/Remove Programs" (Windows 2k/XP), "Programs and Features" (Windows Vista/7/8), "System > Apps & Features" (Windows 10). This will bring up a screen showing all the currently installed software. Scroll through the list until you find the "Esesen" entry and click it to expose an "Uninstall" or "Uninstall/Change" button (which can be in various locations depending on the version of Windows being used). Click that button to start the uninstall process.<br />
Alternatively, you can open a command prompt window and navigate to "C:\Program Files\Esesen" where you can run the "uninstall.bat" file:<br />
<br />
<pre><br />
C:\Users\owner> cd "c:\program files\esesen"<br />
C:\Program Files\Esesen> uninstall.bat<br />
</pre><br />
<br />
If any of those attempts fail, you can manually remove the Esesen software by performing the following steps while in the host operating system. Also note, that these steps pertain to installs on the host OS partition. If Esesen was installed to its own partition, simply delete that partition and any files/directories listed below:<br />
<br />
: '''Linux'''<br />
<pre style='margin-left: 22px'><br />
# rm /etc/cron.d/esesen<br />
# rm /boot/core32-vmlinuz<br />
# rm /boot/xinix.i32.gz<br />
# rm /boot/Esesen.pbr<br />
# rm -R /opt/Esesen<br />
</pre><br />
<br />
: To reset the bootloader menu back to its pre-Esesen state, find which file below exists and follow the steps outlined:<br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/40_custom.org<br />
/boot/grub/40_custom.org<br />
# sudo mv /boot/grub/40_custom.org /etc/grub.d/40_custom<br />
# sudo grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/menu.lst<br />
/boot/grub/menu.lst<br />
# sudo mv /boot/grub/menu.lst.org /boot/grub/menu.lst<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/extlinux]/extlinux.cfg.org<br />
/boot[/extlinux]/extlinux.cfg.org<br />
# sudo mv /boot[/extlinux]/extlinux.cfg.org /etc[/extlinux]/extlinux.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/syslinux]/syslinux.cfg.org<br />
/boot[/syslinux]/syslinux.cfg.org<br />
# sudo mv /boot[/syslinux]/syslinux.cfg.org /etc[/syslinux]/syslinux.cfg<br />
</pre><br />
<br />
: '''Windows All'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> SchTasks /Delete /TN "Esesen" /F<br />
C:\Users\owner> regedit /s "C:\Program Files\Esesen\Registry\uninstall.reg"<br />
C:\Users\owner> del C:\grldr*.*<br />
C:\Users\owner> del C:\Esesen.pbr<br />
C:\Users\owner> del C:\menu.lst<br />
C:\Users\owner> rmdir /q /s "C:\Program Files\Esesen"<br />
</pre><br />
<br />
: '''Windows 2k/XP'''<br />
<pre style='margin-left: 22px'><br />
C:\Documents and Settings\owner> xcopy /y /q /h /r /k C:\boot.org C:\boot.ini<br />
C:\Documents and Settings\owner> rm C:\boot.org<br />
</pre><br />
<br />
: '''Windows Vista/7/8'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> bcdedit /delete {11111111-1111-1111-1111-111111111111}<br />
</pre><br />
<br />
<br />
NOTES:<br />
: * Receiving any final message other than "Esesen has been uninstalled successfully!", you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
: * In the event of a failure, sometimes running the uninstaller multiple times will resolve the problem and continue the process until completed successfully.<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5855esesen2019-01-04T15:35:51Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The DATA partition can only be Fat32/NTFS when using Windows (since those are the only filesystems that currently work with Esesen and Windows)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of bootable 'Esesen OS' medium (e.g. flash drive, CD, etc) handy in the event of drive failure or ransomware attack<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * Implement reverse ssh, VNC connections for end-user initiated assistance<br />
:: * Update the backend to work with network shares for DATA (as indicated by the installers)<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, Esesen provides uninstall scripts to make this as easy as possible. Linux users have a variety of choices for their graphical environment, so we will document the procedures that will universally work. Start by opening a terminal/console window and navigate to the "/opt/Esesen" directory. From there, simply call the "uninstall.sh" script (using "sudo" if you are a normal user):<br />
<br />
<pre><br />
# cd /opt/Esesen<br />
/opt/Esesen # sudo ./uninstall.sh<br />
</pre><br />
<br />
For Microsoft Windows users, the uninstall process can be started by going into your "Control Panel" or "Settings" (depending on the version of Windows), and then opening the "Add/Remove Programs" (Windows 2k/XP), "Programs and Features" (Windows Vista/7/8), "System > Apps & Features" (Windows 10). This will bring up a screen showing all the currently installed software. Scroll through the list until you find the "Esesen" entry and click it to expose an "Uninstall" or "Uninstall/Change" button (which can be in various locations depending on the version of Windows being used). Click that button to start the uninstall process.<br />
Alternatively, you can open a command prompt window and navigate to "C:\Program Files\Esesen" where you can run the "uninstall.bat" file:<br />
<br />
<pre><br />
C:\Users\owner> cd "c:\program files\esesen"<br />
C:\Program Files\Esesen> uninstall.bat<br />
</pre><br />
<br />
If any of those attempts fail, you can manually remove the Esesen software by performing the following steps while in the host operating system. Also note, that these steps pertain to installs on the host OS partition. If Esesen was installed to its own partition, simply delete that partition and any files/directories listed below:<br />
<br />
: '''Linux'''<br />
<pre style='margin-left: 22px'><br />
# rm /etc/cron.d/esesen<br />
# rm /boot/core32-vmlinuz<br />
# rm /boot/xinix.i32.gz<br />
# rm /boot/Esesen.pbr<br />
# rm -R /opt/Esesen<br />
</pre><br />
<br />
: To reset the bootloader menu back to its pre-Esesen state, find which file below exists and follow the steps outlined:<br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/40_custom.org<br />
/boot/grub/40_custom.org<br />
# sudo mv /boot/grub/40_custom.org /etc/grub.d/40_custom<br />
# sudo grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/menu.lst<br />
/boot/grub/menu.lst<br />
# sudo mv /boot/grub/menu.lst.org /boot/grub/menu.lst<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/extlinux]/extlinux.cfg.org<br />
/boot[/extlinux]/extlinux.cfg.org<br />
# sudo mv /boot[/extlinux]/extlinux.cfg.org /etc[/extlinux]/extlinux.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/syslinux]/syslinux.cfg.org<br />
/boot[/syslinux]/syslinux.cfg.org<br />
# sudo mv /boot[/syslinux]/syslinux.cfg.org /etc[/syslinux]/syslinux.cfg<br />
</pre><br />
<br />
: '''Windows All'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> SchTasks /Delete /TN "Esesen" /F<br />
C:\Users\owner> regedit /s "C:\Program Files\Esesen\Registry\uninstall.reg"<br />
C:\Users\owner> del C:\grldr*.*<br />
C:\Users\owner> del C:\Esesen.pbr<br />
C:\Users\owner> del C:\menu.lst<br />
C:\Users\owner> rmdir /q /s "C:\Program Files\Esesen"<br />
</pre><br />
<br />
: '''Windows 2k/XP'''<br />
<pre style='margin-left: 22px'><br />
C:\Documents and Settings\owner> xcopy /y /q /h /r /k C:\boot.org C:\boot.ini<br />
C:\Documents and Settings\owner> rm C:\boot.org<br />
</pre><br />
<br />
: '''Windows Vista/7/8'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> bcdedit /delete {11111111-1111-1111-1111-111111111111}<br />
</pre><br />
<br />
<br />
NOTES:<br />
: * Receiving any final message other than "Esesen has been uninstalled successfully!", you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
: * In the event of a failure, sometimes running the uninstaller multiple times will resolve the problem and continue the process until completed successfully.<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5854esesen2019-01-04T00:21:38Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The DATA partition can only be Fat32/NTFS when using Windows (since those are the only filesystems that currently work with Esesen and Windows)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of bootable 'Esesen OS' medium (e.g. flash drive, CD, etc) handy in the event of drive failure or ransomware attack<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * Implement reverse ssh, VNC connections for end-user initiated assistance<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, Esesen provides uninstall scripts to make this as easy as possible. Linux users have a variety of choices for their graphical environment, so we will document the procedures that will universally work. Start by opening a terminal/console window and navigate to the "/opt/Esesen" directory. From there, simply call the "uninstall.sh" script (using "sudo" if you are a normal user):<br />
<br />
<pre><br />
# cd /opt/Esesen<br />
/opt/Esesen # sudo ./uninstall.sh<br />
</pre><br />
<br />
For Microsoft Windows users, the uninstall process can be started by going into your "Control Panel" or "Settings" (depending on the version of Windows), and then opening the "Add/Remove Programs" (Windows 2k/XP), "Programs and Features" (Windows Vista/7/8), "System > Apps & Features" (Windows 10). This will bring up a screen showing all the currently installed software. Scroll through the list until you find the "Esesen" entry and click it to expose an "Uninstall" or "Uninstall/Change" button (which can be in various locations depending on the version of Windows being used). Click that button to start the uninstall process.<br />
Alternatively, you can open a command prompt window and navigate to "C:\Program Files\Esesen" where you can run the "uninstall.bat" file:<br />
<br />
<pre><br />
C:\Users\owner> cd "c:\program files\esesen"<br />
C:\Program Files\Esesen> uninstall.bat<br />
</pre><br />
<br />
If any of those attempts fail, you can manually remove the Esesen software by performing the following steps while in the host operating system. Also note, that these steps pertain to installs on the host OS partition. If Esesen was installed to its own partition, simply delete that partition and any files/directories listed below:<br />
<br />
: '''Linux'''<br />
<pre style='margin-left: 22px'><br />
# rm /etc/cron.d/esesen<br />
# rm /boot/core32-vmlinuz<br />
# rm /boot/xinix.i32.gz<br />
# rm /boot/Esesen.pbr<br />
# rm -R /opt/Esesen<br />
</pre><br />
<br />
: To reset the bootloader menu back to its pre-Esesen state, find which file below exists and follow the steps outlined:<br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/40_custom.org<br />
/boot/grub/40_custom.org<br />
# sudo mv /boot/grub/40_custom.org /etc/grub.d/40_custom<br />
# sudo grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/menu.lst<br />
/boot/grub/menu.lst<br />
# sudo mv /boot/grub/menu.lst.org /boot/grub/menu.lst<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/extlinux]/extlinux.cfg.org<br />
/boot[/extlinux]/extlinux.cfg.org<br />
# sudo mv /boot[/extlinux]/extlinux.cfg.org /etc[/extlinux]/extlinux.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/syslinux]/syslinux.cfg.org<br />
/boot[/syslinux]/syslinux.cfg.org<br />
# sudo mv /boot[/syslinux]/syslinux.cfg.org /etc[/syslinux]/syslinux.cfg<br />
</pre><br />
<br />
: '''Windows All'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> SchTasks /Delete /TN "Esesen" /F<br />
C:\Users\owner> regedit /s "C:\Program Files\Esesen\Registry\uninstall.reg"<br />
C:\Users\owner> del C:\grldr*.*<br />
C:\Users\owner> del C:\Esesen.pbr<br />
C:\Users\owner> del C:\menu.lst<br />
C:\Users\owner> rmdir /q /s "C:\Program Files\Esesen"<br />
</pre><br />
<br />
: '''Windows 2k/XP'''<br />
<pre style='margin-left: 22px'><br />
C:\Documents and Settings\owner> xcopy /y /q /h /r /k C:\boot.org C:\boot.ini<br />
C:\Documents and Settings\owner> rm C:\boot.org<br />
</pre><br />
<br />
: '''Windows Vista/7/8'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> bcdedit /delete {11111111-1111-1111-1111-111111111111}<br />
</pre><br />
<br />
<br />
NOTES:<br />
: * Receiving any final message other than "Esesen has been uninstalled successfully!", you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
: * In the event of a failure, sometimes running the uninstaller multiple times will resolve the problem and continue the process until completed successfully.<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5853esesen2019-01-04T00:08:03Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * Implement reverse ssh, VNC connections for end-user initiated assistance<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, Esesen provides uninstall scripts to make this as easy as possible. Linux users have a variety of choices for their graphical environment, so we will document the procedures that will universally work. Start by opening a terminal/console window and navigate to the "/opt/Esesen" directory. From there, simply call the "uninstall.sh" script (using "sudo" if you are a normal user):<br />
<br />
<pre><br />
# cd /opt/Esesen<br />
/opt/Esesen # sudo ./uninstall.sh<br />
</pre><br />
<br />
For Microsoft Windows users, the uninstall process can be started by going into your "Control Panel" or "Settings" (depending on the version of Windows), and then opening the "Add/Remove Programs" (Windows 2k/XP), "Programs and Features" (Windows Vista/7/8), "System > Apps & Features" (Windows 10). This will bring up a screen showing all the currently installed software. Scroll through the list until you find the "Esesen" entry and click it to expose an "Uninstall" or "Uninstall/Change" button (which can be in various locations depending on the version of Windows being used). Click that button to start the uninstall process.<br />
Alternatively, you can open a command prompt window and navigate to "C:\Program Files\Esesen" where you can run the "uninstall.bat" file:<br />
<br />
<pre><br />
C:\Users\owner> cd "c:\program files\esesen"<br />
C:\Program Files\Esesen> uninstall.bat<br />
</pre><br />
<br />
If any of those attempts fail, you can manually remove the Esesen software by performing the following steps while in the host operating system. Also note, that these steps pertain to installs on the host OS partition. If Esesen was installed to its own partition, simply delete that partition and any files/directories listed below:<br />
<br />
: '''Linux'''<br />
<pre style='margin-left: 22px'><br />
# rm /etc/cron.d/esesen<br />
# rm /boot/core32-vmlinuz<br />
# rm /boot/xinix.i32.gz<br />
# rm /boot/Esesen.pbr<br />
# rm -R /opt/Esesen<br />
</pre><br />
<br />
: To reset the bootloader menu back to its pre-Esesen state, find which file below exists and follow the steps outlined:<br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/40_custom.org<br />
/boot/grub/40_custom.org<br />
# sudo mv /boot/grub/40_custom.org /etc/grub.d/40_custom<br />
# sudo grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/menu.lst<br />
/boot/grub/menu.lst<br />
# sudo mv /boot/grub/menu.lst.org /boot/grub/menu.lst<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/extlinux]/extlinux.cfg.org<br />
/boot[/extlinux]/extlinux.cfg.org<br />
# sudo mv /boot[/extlinux]/extlinux.cfg.org /etc[/extlinux]/extlinux.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/syslinux]/syslinux.cfg.org<br />
/boot[/syslinux]/syslinux.cfg.org<br />
# sudo mv /boot[/syslinux]/syslinux.cfg.org /etc[/syslinux]/syslinux.cfg<br />
</pre><br />
<br />
: '''Windows All'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> SchTasks /Delete /TN "Esesen" /F<br />
C:\Users\owner> regedit /s "C:\Program Files\Esesen\Registry\uninstall.reg"<br />
C:\Users\owner> del C:\grldr*.*<br />
C:\Users\owner> del C:\Esesen.pbr<br />
C:\Users\owner> del C:\menu.lst<br />
C:\Users\owner> rmdir /q /s "C:\Program Files\Esesen"<br />
</pre><br />
<br />
: '''Windows 2k/XP'''<br />
<pre style='margin-left: 22px'><br />
C:\Documents and Settings\owner> xcopy /y /q /h /r /k C:\boot.org C:\boot.ini<br />
C:\Documents and Settings\owner> rm C:\boot.org<br />
</pre><br />
<br />
: '''Windows Vista/7/8'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> bcdedit /delete {11111111-1111-1111-1111-111111111111}<br />
</pre><br />
<br />
<br />
NOTES:<br />
: * Receiving any final message other than "Esesen has been uninstalled successfully!", you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
: * In the event of a failure, sometimes running the uninstaller multiple times will resolve the problem and continue the process until completed successfully.<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5852esesen2019-01-04T00:07:00Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * Implement reverse ssh, VNC connections for end-user initiated assistance<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, Esesen provides uninstall scripts to make this as easy as possible. Linux users have a variety of choices for their graphical environment, so we will document the procedures that will universally work. Start by opening a terminal/console window and navigate to the "/opt/Esesen" directory. From there, simply call the "uninstall.sh" script (using "sudo" if you are a normal user):<br />
<br />
<pre style='margin-left: 22px'><br />
# cd /opt/Esesen<br />
/opt/Esesen # sudo ./uninstall.sh<br />
</pre><br />
<br />
For Microsoft Windows users, the uninstall process can be started by going into your "Control Panel" or "Settings" (depending on the version of Windows), and then opening the "Add/Remove Programs" (Windows 2k/XP), "Programs and Features" (Windows Vista/7/8), "System > Apps & Features" (Windows 10). This will bring up a screen showing all the currently installed software. Scroll through the list until you find the "Esesen" entry and click it to expose an "Uninstall" or "Uninstall/Change" button (which can be in various locations depending on the version of Windows being used). Click that button to start the uninstall process.<br />
Alternatively, you can open a command prompt window and navigate to "C:\Program Files\Esesen" where you can run the "uninstall.bat" file:<br />
<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> cd "c:\program files\esesen"<br />
C:\Program Files\Esesen> uninstall.bat<br />
</pre><br />
<br />
If any of those attempts fail, you can manually remove the Esesen software by performing the following steps while in the host operating system. Also note, that these steps pertain to installs on the host OS partition. If Esesen was installed to its own partition, simply delete that partition and any files/directories listed below:<br />
<br />
: '''Linux'''<br />
<pre style='margin-left: 22px'><br />
# rm /etc/cron.d/esesen<br />
# rm /boot/core32-vmlinuz<br />
# rm /boot/xinix.i32.gz<br />
# rm /boot/Esesen.pbr<br />
# rm -R /opt/Esesen<br />
</pre><br />
<br />
: To reset the bootloader menu back to its pre-Esesen state, find which file below exists and follow the steps outlined:<br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/40_custom.org<br />
/boot/grub/40_custom.org<br />
# sudo mv /boot/grub/40_custom.org /etc/grub.d/40_custom<br />
# sudo grub-mkconfig -o /boot/grub/grub.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot/grub/menu.lst<br />
/boot/grub/menu.lst<br />
# sudo mv /boot/grub/menu.lst.org /boot/grub/menu.lst<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/extlinux]/extlinux.cfg.org<br />
/boot[/extlinux]/extlinux.cfg.org<br />
# sudo mv /boot[/extlinux]/extlinux.cfg.org /etc[/extlinux]/extlinux.cfg<br />
</pre><br />
<br />
<pre style='margin-left: 22px'><br />
# ls /boot[/syslinux]/syslinux.cfg.org<br />
/boot[/syslinux]/syslinux.cfg.org<br />
# sudo mv /boot[/syslinux]/syslinux.cfg.org /etc[/syslinux]/syslinux.cfg<br />
</pre><br />
<br />
: '''Windows'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> SchTasks /Delete /TN "Esesen" /F<br />
C:\Users\owner> regedit /s "C:\Program Files\Esesen\Registry\uninstall.reg"<br />
C:\Users\owner> del C:\grldr*.*<br />
C:\Users\owner> del C:\Esesen.pbr<br />
C:\Users\owner> del C:\menu.lst<br />
C:\Users\owner> rmdir /q /s "C:\Program Files\Esesen"<br />
</pre><br />
<br />
: '''Windows 2k/XP'''<br />
<pre style='margin-left: 22px'><br />
C:\Documents and Settings\owner> xcopy /y /q /h /r /k C:\boot.org C:\boot.ini<br />
C:\Documents and Settings\owner> rm C:\boot.org<br />
</pre><br />
<br />
: '''Windows Vista/7/8'''<br />
<pre style='margin-left: 22px'><br />
C:\Users\owner> bcdedit /delete {11111111-1111-1111-1111-111111111111}<br />
</pre><br />
<br />
<br />
NOTES:<br />
: * Receiving any final message other than "Esesen has been uninstalled successfully!", you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
: * In the event of a failure, sometimes running the uninstaller multiple times will resolve the problem and continue the process until completed successfully.<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5851esesen2018-12-31T22:40:41Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
: The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5850esesen2018-12-31T22:39:34Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
<br />
==Interfaces==<br />
By default, the software will launch the automated restoration which will automatically start Esesen in a non-interactive mode to simply restore the image tagged as the "current" one (which is the default image created for the device unless any manual images have been created and marked as such). In the event you would like to configure, install, or perform some type of administrative function with the software, or manually perform a backup, rescue, or restore, there are two ways to interact with Esesen. During the booting phase of the device, once you have selected "Repair this device" another menu will become available with several options including a graphical and text-based interface - both containing the exact same options and abilities which are covered below:<br />
<br />
: Please note that the graphical interface is currently under development and is not available yet.<br />
<br />
===<u>Main Menu</u>===<br />
The main menu provides limited options to quickly allow you to create or restore an image, or direct you to another screen for configuration or administrative functions. Aside from those three groupings of actions, there is a column on the right-hand side that shows you the contact information for your support company (if you have one) along with your local and public IP addresses, the Esesen software version, and what storage areas are presently mounted to access or save images.<br />
<br />
:: '''Repair this device'''<br />
<br />
:: '''Repair using a custom image'''<br />
<br />
:: '''Create a custom image'''<br />
<br />
:: '''Administration''' see below<br />
<br />
:: '''Configuration''' see below<br />
<br />
:: '''View Log'''<br />
<br />
===<u>Administration Menu</u>===<br />
blah<br />
<br />
===<u>Configuration Menu</u>===<br />
blah<br />
<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the domain controller in order to interact with the network once again. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server!<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5849esesen2018-12-31T22:12:39Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Update the backend software to more recent versions<br />
:: * Add archivemount, curlftpfs, and dd_rescue<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * Resolve the non-100% completion output with 'pv' when interacting with ext/fat partitions<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5848esesen2018-12-20T16:14:42Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * The "DATA" partition can only be ext2/3/4 or NTFS currently<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5847esesen2018-12-17T17:09:03Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
:: * Currently the only network shares that can be used are SSH; future versions will allow for Linux and Windows shares (NFS and CIFS)<br />
:: * The password to access the network share is the same as the access to the admin and config screens; future versions will separate these two<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * Add the ability to use Linux and Windows shares (NFS and CIFS)<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5846esesen2018-12-15T23:21:13Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''': In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''': Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u>: For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u>: With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''': Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u>: this is...<br />
<br />
::: <u>Local storage device</u>: this allows...<br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5845esesen2018-12-15T23:20:16Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''' In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''' Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u> For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u> With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
:: 3. '''Configure''' Now that the Esesen software has been installed, it will need to be configured for the device. Reboot (off the optical media created for "Live OS" installs) and select the "Repair this device" menu option and/or "Text Interface" depending on your bootloader. This will bring you to the main Esesen screen where you will need to go into the configuration of the application by pressing the 'C' button. There are numerous options available on this screen which will be covered below:<br />
<br />
::: <u>Partition containing the OS</u><br />
<br />
::: <u>Local storage device</u><br />
...<br />
<br />
outline all the config options here<br />
mention to backup the config afterwards<br />
<br />
<br />
: '''NOTES'''<br />
:: * Help with a failure of any of the steps above can be found in our [http://forums.cliquesoft.org forums]<br />
:: * The a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5844esesen2018-12-15T23:11:01Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
===<u>Steps</u>===<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''' In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''' Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u> For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u> With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5843esesen2018-12-15T23:07:22Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App'''<br />
::: This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS'''<br />
::: As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer'''<br />
::: There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
:::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
:::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer'''<br />
::: Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''' In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''' Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u> For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u> With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: (I) The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: (II) The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5842esesen2018-12-15T23:01:33Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App''': This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS''': As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer''': There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer''': Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''' In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''' Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
<br />
::: A. <u>Live OS</u> For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
<br />
LEFT OFF - document the steps for the above installer<br />
<br />
::: B. <u>Installers</u> With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
<br />
:::: I. The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
<br />
:::: II. The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5841esesen2018-12-15T22:58:53Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * Add more bootloaders to work with<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App''': This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS''': As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are:<br />
::: * You can boot your computer no matter what so it can be re-imaged to get working again<br />
::: * This can be used as Esesen installation media Esesen for Linux and Windows<br />
::: * You do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to media.<br />
<br />
:: '''Linux Installer''': There are many different distros of Linux covering a wide range of niches. This file will allow you to install Esesen from within a running instance of your flavor of Linux and has minimal prerequisites which include the presence of the /opt and /boot directories and a supported bootloader (currently legacy grub, grub2, and syslinux). There should not be any restrictions on MBR or GPT usage since Esesen just appends to your current configuration. The main advantage here is the ease in which to install Esesen. The main disadvantages to using this method are:<br />
::: * The possibility of not being able to use a local storage partition (if using MBR and have more than 3 partitions)<br />
::: * An update to Esesen will require the creation of a new image afterwards since it will be installed on the partition that gets re-imaged<br />
<br />
:: '''Windows Installer''': Just like the "Linux Installer" above, this file contains everything necessary to install Esesen within a running instance of Windows itself. Also like the Linux variant, the same pro's and con's apply here as well with one additional con - Esesen will currently only work with MBR disks that contain the Windows operating system. We are working to expand into the new GPT disks, but this will be after a future version or two.<br />
<br />
: Now that we have covered what the individual files available for download are catering to, grab which one best fits your requirements and lets start to walk through the process of getting the Esesen software installed so it can be used. Each of the steps below are necessary for each file except where noted.<br />
<br />
:: 1. '''Extract''' In this example we will assume that the file has been downloaded to your Desktop. Microsoft Windows users just need to double click their installer to have the files extracted, whereas Linux users can double-click the file to open the archive extracting application, select all the archives contents, and then extract to the desktop. Now that there is an "Esesen" folder on your desktop, double-click to open it and proceed to the next step.<br />
<br />
:: 2. '''Install''' Depending on which file you downloaded, this step varies. Also this documentation will only cover the "Live OS" and "Installer" files mentioned above with the former being covered in sub-section A and the latter in sub-section B below:<br />
::: A. '''Live OS''' For users whose computer is running Windows 7 and above can simply insert a blank disc in your drive tray, right-click the "Esesen.iso" file, select "Burn disc image", select your optical drive from the list, and click the "Burn" button to complete this step. Those who are using Windows Vista or below, you will need to install supplemental software to burn the .iso file to disc. If you do not have one installed, one has been included in the archive labeled "Windows Installer".<br />
LEFT OFF - document the steps for the above installer<br />
::: B. '''Installers''' With the "Esesen" folder contents shown, locate the "install" file (Note: Windows users may see a ".bat" file extension; Linux users will see a ".sh" file extension) and double-click it to start the installation. A series of questions will be asked:<br />
:::: I. The first question is going to ask you which partition should be used as the "DATA" to store all the images created for the device. This can be an existing partition on the <u>same</u> drive containing the Operating System (OS) itself, a partition of another internal drive, or any attached hard drive via USB, eSATA, firewire, etc. However, it can <u>'''NOT'''</u> be the partition containing the OS itself for obvious reasons. If you wish to use a network share, you will need to enter the word "share" (without quotation marks) to bypass any processing for a locally attached "DATA".<br />
:::: II. The next several questions all pertain to the scheduling of Esesen to perform automated restores of the device. They will be very basic and asks things like the day of the week and the time. it is important to note however, that the time entered <u>must</u> be in 24-hour format, meaning 1pm should be entered as '13:00', 2pm as '14:00', etc.<br />
<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5840esesen2018-12-15T20:35:19Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS; uses 'dd' for all other formats<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
:: * We welcome any contributions from our users and the community<br />
:: * Make a backup of the Esesen configuration after completing that step<br />
:: * It is a good idea to have at least one copy of the 'Esesen OS' handy in the event of drive failure or ransomware attack<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
:: * We welcome any contributions from our users and the community<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
:: '''Standalone App''' This is the application itself which allows integrators, developers, or hobbyists to do whatever they would like. Since the project is open source, it can be audited, modified, redistributed, etc without any permission or royalties to [https://www.cliquesoft.org Cliquesoft]. Since this is just the application by itself, the user will need to make sure that it works in whatever environment it is placed - mileage may vary when using the software this way. Patches are welcomed to help make the application work in a broader fashion.<br />
<br />
:: '''Live OS''' As a bootable "live" instance of the software, this can give the user a way to play with the software without making any changes to the device itself - available in iso (CD/DVD) and img (flash/hard drive) formats. This is also the method to use if you need to recover from a drive failure or ransomware attack. The only known disadvantage to this method is that you have extra work to create boot media initially or as updates are released. The main advantages here are that you can boot your computer no matter what so it can be re-imaged to get working again, and that you do not have to worry about updating the Esesen software on the device itself (and then re-imaging to include that update). An update just consists of burning the newer Esesen version to your media.<br />
<br />
:: '''Linux Only'''<br />
<br />
windows only (easy to get going [additional step to get into software and configure], no LSB (due to mbr limitations), have to update the software and reimage)<br />
<br />
<br />
<br />
* '''Extract''' This step is accomplished by right-clicking the downloaded file (Esesen_x.x.x.x.x.zip) and selecting the "Select All..." menu option. Clicking the "Extract" button on the follow-up prompt will extract the software into a folder name Esesen_x.x.x.x.x in your current location.<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Some Examples==<br />
(these need to have their own page)... outline some examples of working with Esesen:<br />
- a typical process (going through all the options available in the top of the admin menu)<br />
- recovering data from a failing drive<br />
- backing up and restoring configuration<br />
- Using a live CD with an LSB (using on the 'drive prep' option from the configuraiton menu)<br />
- restoring a device while keeping the user data intact<br />
<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5839esesen2018-12-15T20:03:25Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS (uses 'dd' for all other formats)<br />
<br />
===<u>Caveats</u>===<br />
: As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
:: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
:: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
:: * Analytics are not yet available<br />
:: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
:: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
:: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
::: <u>Linux</u>: (legacy) grub(2), syslinux<br />
::: <u>Windows</u>: ntldr (XP and prior), winload (Vista and after)<br />
:: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
:: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
:: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
: Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
:: * The quickest method of re-imaging a device is by using a local storage partition (networking is the slowest) and is highly recommended<br />
:: * If using a local storage partition, it is recommended to sync those images to a secondary device (in the event of drive failure or ransomware attack)<br />
:: * Do <u>'''NOT'''</u> leave the drive known as your DATA plugged into a computer as malware/ransomware could infect that too causing you problems<br />
:: * If your DATA is a networked drive, configure it as readonly to prevent any alteration of the device image(s)<br />
:: * Esesen is <u>'''NOT'''</u> a backup software for your data! Implement a good backup strategy (see our [https://wiki.cliquesoft.org/index.php?title=backup.lite backup software]) to cover that aspect.<br />
:: * When creating the devices' default image, do <u>'''NOT'''</u> include any user data (afterwards is ok) since any files that are in the image can overwrite what exists on the drive<br />
<br />
<br />
===<u>History</u>===<br />
: Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
:: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>===<br />
: To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
:: * Add Android and Mac support<br />
:: * Add support for newer GPT bootdisks (see gldr project)<br />
:: * Expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc; this may require using partclone<br />
:: * Add analytics<br />
:: * Configurable option to have Esesen to automatically install the OS updates post-restore<br />
:: * Add disk-to-disk imaging<br />
:: * Add the ability to image different sized disks<br />
:: * Add a graphical interface and installers<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
windows only (easy to get going [additional step to get into software and configure], no LSB, have to update the software and reimage)<br />
linux only<br />
generic/live (can do LSB, depending on install method you do not have to reimage upon updating)<br />
standalone application (just the shell script itself)<br />
<br />
<br />
<br />
* '''Extract''' This step is accomplished by right-clicking the downloaded file (Esesen_x.x.x.x.x.zip) and selecting the "Select All..." menu option. Clicking the "Extract" button on the follow-up prompt will extract the software into a folder name Esesen_x.x.x.x.x in your current location.<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5838esesen2018-12-15T19:44:35Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As mentioned above, home users and business owners would definitely benefit from having this software installed on their networked computers. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
Lastly, there are several points to mention that distinguish Esesen from other imaging software:<br />
: * Imaging can be scheduled to perform automatic restores per device<br />
: * Instead of just a single image available for restore, there can be up to nine manually created images as alternatives per device<br />
: * The software can be configured to retain any saved user data (under /home or C:\Users)<br />
: * Works with Linux and Microsoft Windows file systems natively: ext2/3/4, Fat16/32, NTFS (uses 'dd' for all other formats)<br />
<br />
===<u>Caveats</u>===<br />
As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention. As future versions are released, most of these will be resolved:<br />
<br />
: * If the device uses legacy MBR for its boot media and a local storage partition is desired, the total number of partitions beforehand can not exceed 3 primary (no logical); GPT does not have any limitations<br />
: * When using .squash files to retain users data, NTFS partitions have a fair amount of post-processing so be patient<br />
: * Analytics are not yet available<br />
: * Interaction with Ext/Fat file systems, the progress meter is just an approximate value and may exceed or not reach 100% even though it did process everything correctly<br />
: * Esesen has only been tested with traditional, single-disk computers; mileage may vary with different configurations so let us know<br />
: * Currently only identifies and works with (patches for other bootloaders are welcome):<br />
:: Linux: (legacy) grub(2), syslinux<br />
:: Windows: ntldr (up to Vista), winload (Vista and after)<br />
: * All software updates will have to optionally be reinstalled after re-imaging since the device will be completely reverted to its state at the time the image was made<br />
: * After a drive failure, the disk must be replaced with the same size or larger since Esesen can not re-image different sized disks currently<br />
: * The partition containing the <u>Windows</u> OS must be MBR, not GPT due to limitations of the bootloader; storage disks (e.g. DATA) can be GPT however<br />
<br />
===<u>Best Practices</u>===<br />
Below we will outline several best practices to keep in mind when using the software to give you the best experience as possible. Since this software is still in beta, these will be updated as time goes by.<br />
<br />
- do not leave the drive known as your DATA plugged into a computer (malware/ransomware could infect that too causing you problems)<br />
- implement a good backup strategy (see our backup software)<br />
- utilize network shares when possible<br />
: * when creating the initial image, do NOT include any user data since any files that are in the image overwrite what exists on the drive. If data is introduced afterwards, it will not be touched!<br />
<br />
<br />
===<u>History</u>===<br />
Prior to version 2018.12.x.x, this software was used exclusively by [https://www.digital-pipe.com/ Digital Pipe Inc] (the parent company to Cliquesoft) with its own customers. Its abilities were very basic and lacked most of the feature set brought about in the 2018.12.x.x public release. As a result, the baseline for any information here will start with that release up to the present.<br />
<br />
: <u>2018.12.x.x</u> The first public release<br />
<br />
<br />
===<u>Roadmap</u>==<br />
To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
- add Mac support<br />
- add gpt bootdisks (see gldr project)<br />
- expand the number of file systems that can be processed natively including: exFat, HPFS (Apple), etc<br />
- possibly move to using partclone<br />
- add analytics<br />
- get Esesen to automatically install the OS updates<br />
- add disk-to-disk imaging<br />
- add the ability to image different sized disks<br />
- add graphical interface and installers<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
windows only (easy to get going [additional step to get into software and configure], no LSB, have to update the software and reimage)<br />
linux only<br />
generic/live (can do LSB, depending on install method you do not have to reimage upon updating)<br />
standalone application (just the shell script itself)<br />
<br />
<br />
<br />
* '''Extract''' This step is accomplished by right-clicking the downloaded file (Esesen_x.x.x.x.x.zip) and selecting the "Select All..." menu option. Clicking the "Extract" button on the follow-up prompt will extract the software into a folder name Esesen_x.x.x.x.x in your current location.<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5837esesen2018-12-15T17:43:46Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the automated scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive (after a hard drive replacement if applicable) will quickly get you back up and running - in some instances, within minutes!<br />
<br />
So who would benefit from using this software? As we have mentioned above, home users and business owners would definitely benefit from having this software installed on their networks. Additionally, labs, schools, or any other organizations that may need to have equipment restored to an unmodified state after testing or usage by unknown users or third parties.<br />
<br />
How are you different from other imaging software.<br />
- it can also be configured to retain any saved user data!<br />
- it can be scheduled to perform restore automatically<br />
- there can be manually created images that can be used instead of just a single image to restore<br />
<br />
===<u>Caveats</u>===<br />
As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention.<br />
# - if creating a local storage partition, the total number of partitions beforehand needs to be 3 so all will be primary (for mbr partition tables); gpt is not affected<br />
# - even though GPT tables are backed up, their backup at the end of the disk is NOT!!!<br />
# - when using .squash files, ntfs partitions do a fair amount of post-processing so be patient!!!<br />
# - analytics are not yet available<br />
# - the progress meter when dealing with ext/vfat file systems is just an approximate and may not go to 100%<br />
# - this has only been tested with traditional, single-disk computers. if Esesen is installed on a different disk other than the OS, results may not be desired.<br />
# - currently only identifies and works with grub (legacy) and syslinux on the Linux OS - patches for other bootloaders are welcome!<br />
# - when creating the initial image, do NOT include any user data since any files that are in the image overwrite what exists on the drive. If data is introduced afterwards, it will not be touched!<br />
# - windows updates will have to be reinstalled<br />
# - can not re-image different sized disks<br />
<br />
===<b>Best Practices</u>===<br />
- do not leave the drive known as your DATA plugged into a computer (malware/ransomware could infect that too causing you problems)<br />
- implement a good backup strategy (see our backup software)<br />
- utilize network shares when possible<br />
<br />
<br />
<br />
<br />
==Roadmap==<br />
To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
windows only (easy to get going [additional step to get into software and configure], no LSB, have to update the software and reimage)<br />
linux only<br />
generic/live (can do LSB, depending on install method you do not have to reimage upon updating)<br />
standalone application (just the shell script itself)<br />
<br />
<br />
<br />
* '''Extract''' This step is accomplished by right-clicking the downloaded file (Esesen_x.x.x.x.x.zip) and selecting the "Select All..." menu option. Clicking the "Extract" button on the follow-up prompt will extract the software into a folder name Esesen_x.x.x.x.x in your current location.<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5836esesen2018-12-15T17:31:32Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by periodically re-imaging it back to a fresh state as defined by the manufacturer, your administrator, or support staff containing little or no "contamination". With the use of this software on all the computers in your home or office, along with implementing the scheduling aspect, the result should end up becoming a self sustaining network (SSN aka Esesen)!<br />
<br />
Of course problems can arise between the scheduled re-imaging, such as accidental deletion or updates that cause unintended consequences. Pick up some [https://en.wikipedia.org/wiki/Malware malware] or get hit with [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers' contents are completely encrypted by a malicious attacker? How about a hardware failure? All of these would cause serious downtime for a home or business, but devices utilizing Esesen do not have to worry about a thing! The user has the ability to go into Esesen at any time in order to restore back to a known working state. For situations such as a drive failure or ransomware, booting off of an Esesen live CD or flash drive will quickly get you back up and running!<br />
<br />
good defense against malware as the device can be restored to complete working functionality within minutes - even if you were attacked by [https://en.wikipedia.org/wiki/Ransomware Ransomware].<br />
<br />
hardware failure: what happens if your drive crashes or fails - no problem, simply replace the drive, boot into a live cd and restore the device.<br />
<br />
good for schools, etc<br />
<br />
overview: Want to keep your computer working in a pristine state<br />
for as long as you own it? Esesen is your answer! This<br />
software can re-image your computer to any saved state<br />
manually or at a scheduled interval automatically! An<br />
ideal solution for labs, schools or other institutions<br />
that need to keep devices unmodified! Note that it can<br />
also be configured to retain any saved user data!<br />
<br />
===<u>Caveats</u>===<br />
As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention.<br />
# - if creating a local storage partition, the total number of partitions beforehand needs to be 3 so all will be primary (for mbr partition tables); gpt is not affected<br />
# - even though GPT tables are backed up, their backup at the end of the disk is NOT!!!<br />
# - when using .squash files, ntfs partitions do a fair amount of post-processing so be patient!!!<br />
# - analytics are not yet available<br />
# - the progress meter when dealing with ext/vfat file systems is just an approximate and may not go to 100%<br />
# - this has only been tested with traditional, single-disk computers. if Esesen is installed on a different disk other than the OS, results may not be desired.<br />
# - currently only identifies and works with grub (legacy) and syslinux on the Linux OS - patches for other bootloaders are welcome!<br />
# - when creating the initial image, do NOT include any user data since any files that are in the image overwrite what exists on the drive. If data is introduced afterwards, it will not be touched!<br />
# - windows updates will have to be reinstalled<br />
<br />
<br />
<br />
<br />
==Roadmap==<br />
To address some of the caveats described above and to expand the software as time progresses, we have outlined some items below that we would like to accomplish.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
windows only (easy to get going [additional step to get into software and configure], no LSB, have to update the software and reimage)<br />
linux only<br />
generic/live (can do LSB, depending on install method you do not have to reimage upon updating)<br />
standalone application (just the shell script itself)<br />
<br />
<br />
<br />
* '''Extract''' This step is accomplished by right-clicking the downloaded file (Esesen_x.x.x.x.x.zip) and selecting the "Select All..." menu option. Clicking the "Extract" button on the follow-up prompt will extract the software into a folder name Esesen_x.x.x.x.x in your current location.<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.<br />
<br />
<br />
<br />
<br />
showing/hiding of the boot menu and how to get it to show if you hide it (e.g. grub2 using shift key)</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=esesen&diff=5835esesen2018-12-15T17:04:47Z<p>Digitalpipe: </p>
<hr />
<div>With all the daily activities that users have their computers go through, one could expect that over time the software on these devices usually becomes cluttered with unused and/or unwanted files, settings, and data as well as some kind of problem just waiting for the opportunity to halt your progress when you have to get something done yesterday! And what is the normal fix? Call your support staff and wait for them to work you into their schedule for the repairs. What if there was a way for <u>'''you'''</u> to fix the problem easily? Introducing Esesen. This software can return the device to an out-of-the-box state so that your productivity is as high as it was on the first day it was unpackaged! Not to be confused with the Windows restore feature, this software replaces your entire system with one that you choose to restore instead of a couple of files that Windows restore will replace (but often times does not actually resolve the problem and occasionally creates new problems).<br />
<br />
Administrators will enjoy the variety of configuration options that pertain to this software including local and/or remote storage of images, optional WAN connectivity, and the ability to schedule automated restores in order to keep your home or business network in a constantly pristine state. And for those admins that are familiar with ssh, this software provides a way to remotely gain access into a workable system to perform any detailed modifications to the device that may be required.<br />
<br />
<br />
==License==<br />
This project's codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
<br />
<br />
<br />
==Overview==<br />
Esesen was designed to keep a device working at its optimal performance at all times by ... With the use of this software, you should end up with a self sustaining network (SSN)<br />
<br />
good defense against malware as the device can be restored to complete working functionality within minutes - even if you were attacked by [https://en.wikipedia.org/wiki/Ransomware Ransomware] where your computers contents are completely encrypted by a malicious attacker.<br />
<br />
===<u>Caveats</u>===<br />
As of the 2018.12.x.x version of the software, there are a couple of caveats that should be brought to your attention.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Just like the rest of our software, we have engineered our installation process to be as simple as possible. After downloading the desired version from [http://www.cliquesoft.org/#Projects our website], you can begin the installation process. Currently this process only has a text-based installer, but we will be adding graphical capabilities in a future version. Below we will cover the steps necessary to get the software installed.<br />
<br />
===<u>File Types</u>===<br />
: Before we continue with the individual steps, it is important to define what the various file types are and the intended application for them. Currently there are four different downloads that are available for this software with each containing advantages and disadvantages.<br />
<br />
windows only (easy to get going [additional step to get into software and configure], no LSB, have to update the software and reimage)<br />
linux only<br />
generic/live (can do LSB, depending on install method you do not have to reimage upon updating)<br />
standalone application (just the shell script itself)<br />
<br />
<br />
<br />
* '''Extract''' This step is accomplished by right-clicking the downloaded file (Esesen_x.x.x.x.x.zip) and selecting the "Select All..." menu option. Clicking the "Extract" button on the follow-up prompt will extract the software into a folder name Esesen_x.x.x.x.x in your current location.<br />
<br />
* '''Install''' Double-clicking the 'install' file (or typing 'install.bat' and pressing the ENTER key at the command line) will show a popup with all the current processes taking place. Any final message other than "Esesen has been installed successfully! Press any key to continue . . .", indicates a failure and you will need to consult your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
NOTES: <br />
* we are currently working on a graphical installer<br />
* the a default administrators password will be the word 'password' (without quotes)<br />
<br />
<br />
<br />
<br />
==Uninstallation==<br />
Hopefully your choice to uninstall the software isn't a permanent one, but in the event that you do need to perform this function, simply go into your 'Control Panel' and click the "Add/Remove Programs"/"Programs and Features" icon or the "Uninstall a program" link. This will bring up a screen showing all the currently installed software. Scroll through the list until you find the 'Esesen' entry and click it. You should then see an "Uninstall" or "Uninstall/Change" button in the window to which you should click. This will open another popup showing you all the uninstallation tasks taking place. For any final message other than "Esesen has been uninstalled successfully! Press any key to continue . . .", then you should contact your support staff or visit [http://forums.cliquesoft.org our forums].<br />
<br />
<br />
<br />
==Network Designs==<br />
If your office consist of a room in your house, or actually is an office but only houses a handful of employees, then most of the time any servers in use are mainly for authentication and file sharing. While it is irrelevant whether the server is configured as a domain controller (DC) or a simple workgroup server, we do recommend having the clients of the network '''NOT''' be connected to a domain. Currently there are instances after a restoration where the client will need to be dropped and then re-joined to the DC. Not only will this step be prevented if the clients are never joined to a domain, but in the event that the server has to be replaced, the clients do not have to go through the process of migrating to the new server.</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5834builder2017-08-25T15:12:45Z<p>Digitalpipe: /* Developers */</p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
'builder' only requires a profile and the source code to successfully build software. Below the steps will be outlined to show you how easy it is to actually use it! In this example, we will be using libbsd with the assumption that it is downloaded in /tmp.<br />
<br />
First lets make sure we have a profile for the software:<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
</pre><br />
<br />
Now lets make sure we are in the proper directory to compile (one level up from the source code directory if CODE has a proper value, or within the source code directory without it)<br />
<pre><br />
/etc/builder $ cat libbsd/config | grep CODE<br />
CODE='lib|libbsd-'<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
</pre><br />
<br />
Now lets call 'builder' to make the packages!<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson <dhenderson (at) cliquesoft (dot) org> - main developer<br />
<br />
polikuo <michael5329208 (at) gmail (dot) com> - testing and contributions</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5833builder2017-08-25T15:12:35Z<p>Digitalpipe: /* Developers */</p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
'builder' only requires a profile and the source code to successfully build software. Below the steps will be outlined to show you how easy it is to actually use it! In this example, we will be using libbsd with the assumption that it is downloaded in /tmp.<br />
<br />
First lets make sure we have a profile for the software:<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
</pre><br />
<br />
Now lets make sure we are in the proper directory to compile (one level up from the source code directory if CODE has a proper value, or within the source code directory without it)<br />
<pre><br />
/etc/builder $ cat libbsd/config | grep CODE<br />
CODE='lib|libbsd-'<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
</pre><br />
<br />
Now lets call 'builder' to make the packages!<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson <dhenderson (at) cliquesoft (dot) org> - main developer<br />
<br />
<br />
polikuo <michael5329208 (at) gmail (dot) com> - testing and contributions</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5832builder2017-08-25T15:12:15Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
'builder' only requires a profile and the source code to successfully build software. Below the steps will be outlined to show you how easy it is to actually use it! In this example, we will be using libbsd with the assumption that it is downloaded in /tmp.<br />
<br />
First lets make sure we have a profile for the software:<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
</pre><br />
<br />
Now lets make sure we are in the proper directory to compile (one level up from the source code directory if CODE has a proper value, or within the source code directory without it)<br />
<pre><br />
/etc/builder $ cat libbsd/config | grep CODE<br />
CODE='lib|libbsd-'<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
</pre><br />
<br />
Now lets call 'builder' to make the packages!<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson <dhenderson (at) cliquesoft (dot) org> - main developer<br />
polikuo <michael5329208 (at) gmail (dot) com> - testing and contributions</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5831builder2017-08-25T15:11:24Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
'builder' only requires a profile and the source code to successfully build software. Below the steps will be outlined to show you how easy it is to actually use it! In this example, we will be using libbsd with the assumption that it is downloaded in /tmp.<br />
<br />
First lets make sure we have a profile for the software:<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
</pre><br />
<br />
Now lets make sure we are in the proper directory to compile (one level up from the source code directory if CODE has a proper value, or within the source code directory without it)<br />
<pre><br />
/etc/builder $ cat libbsd/config | grep CODE<br />
CODE='lib|libbsd-'<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
</pre><br />
<br />
Now lets call 'builder' to make the packages!<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org] - main developer<br />
polikuo [michael5329208 (at) gmail (dot) com] - testing and contributions</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5830builder2017-08-25T15:10:44Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
'builder' only requires a profile and the source code to successfully build software. Below the steps will be outlined to show you how easy it is to actually use it! In this example, we will be using libbsd with the assumption that it is downloaded in /tmp.<br />
<br />
First lets make sure we have a profile for the software:<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
</pre><br />
<br />
Now lets make sure we are in the proper directory to compile (one level up from the source code directory if CODE has a proper value, or within the source code directory without it)<br />
<pre><br />
/etc/builder $ cat libbsd/config | grep CODE<br />
CODE='lib|libbsd-'<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
</pre><br />
<br />
Now lets call 'builder' to make the packages!<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]<br />
polikuo [michael5329208 (at) gmail (dot) com]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5829builder2017-08-25T13:19:12Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
'builder' only requires a profile and the source code to successfully build software. Below the steps will be outlined to show you how easy it is to actually use it! In this example, we will be using libbsd with the assumption that it is downloaded in /tmp.<br />
<br />
First lets make sure we have a profile for the software:<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
</pre><br />
<br />
Now lets make sure we are in the proper directory to compile (one level up from the source code directory if CODE has a proper value, or within the source code directory without it)<br />
<pre><br />
/etc/builder $ cat libbsd/config | grep CODE<br />
CODE='lib|libbsd-'<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
</pre><br />
<br />
Now lets call 'builder' to make the packages!<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5828builder2017-08-25T13:17:40Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
'builder' only requires a profile and the source code to successfully build software. Below the steps will be outlined to show you how easy it is to actually use it! In this example, we will be using libbsd with the assumption that it is downloaded in /tmp.<br />
<br />
First lets make sure we have a profile for the software:<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
</pre><br />
<br />
Now lets make sure we are in the proper directory to compile (one level up from the source code directory if CODE has a proper value, or within the source code directory without it)<br />
<pre><br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
</pre><br />
<br />
Now lets call 'builder' to make the packages!<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5827builder2017-08-25T13:13:10Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd/<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/ libbsd-0.8.6.tar.gz<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5826builder2017-08-25T13:12:33Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ ls<br />
libbsd-0.8.6/<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5825builder2017-08-23T21:12:48Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==Parameters==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5824builder2017-08-23T21:12:23Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
: * Simple syntax for easy compiling no matter build system<br />
: * Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
: * Extreme flexibility using various pre and post step scripts<br />
: * Can pull source code from private or public locations<br />
: * Small footprint - contains only two files!<br />
: * Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==Addresses==<br />
As stated in the preamble, managing a software repository is a tremendous task that can get out of control if great effort and detail are not constantly applied. Several of the issues related to maintaining an online repo are handled automatically by builder and include:<br />
<br />
: Names not being uniform<br />
:: This occurs when the 'foo' package in the i32 repo might be 'foo-ng' in i64. Not only can this cause confusion for the end user, but also makes it difficult for package maintainers to manage the proper dependency lists per software title.<br />
<br />
: Packages are not split the same way<br />
:: Just like when the names don't match, this can equally cause problems managing dependencies lists because 'libfoo' in the r32 repo is actually the combined contents from 'libfoo' and 'libfoo-dev' from the i32 repo. When there are inconsistent packages, end users can again become confused and frustrated by not understanding appropriate steps to take in order to get a working system.<br />
<br />
: Inconsistent existence of a package between repos<br />
:: What happens when 'foo' exists in i64, but not anywhere else? Not only do you end up with complaints from the users, but you risk the growth of your project because requested or required functionality is not completely instituted.<br />
<br />
: Source code used to build the packages may be different<br />
:: A common problem where the 'foo' package in the r32 repo might have been compiled using the source code version 1.2.3, but i64 may have 1.4.6 and i32 might have 1.2.6. This can lead to various problems being present under certain circumstances, but not others due to the vast different in used code bases.<br />
<br />
: Compile flags are not the same<br />
:: Similar to the above point, 'foo' in i64 might have been compiled using "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for i32 causing a mismatch of functionality between the different repositories available to users. This will simply lead to more questions from your community as to why this works in this situation, but not this one.<br />
<br />
: File and directory permissions and ownership are incorrect<br />
:: There is a reason that these attributes were developed and implemented. Documents and graphics should not be executable and require proper ownership so users can read and/or modify them. Contrarily, binaries do need to be executable along with and SUID abilities. When these settings are incorrect, it not only causes a problem with programs that check for these rules, but also causes major security concerns!<br />
<br />
<br />
<br />
==Benefits==<br />
Not only do the above concerns get addressed by using builder, but several benefits become present as well. Some of them will be outlined below:<br />
<br />
: Uniform updates<br />
:: Since builder is so easy to use, once a profile is developed for a software title, simply calling builder with '-a all' (or for each individual CPU architecture on the proper hardware or VM) will make all the packages available to simply upload to your repo!<br />
<br />
: Access to various CPU architectures<br />
:: By using builder with available profiles, your Linux distro can immediately be used on all the devices with the supported silicon! This can make your project have a larger pool of users instead of only producing for a single architecture.<br />
<br />
: Access to a large repository of software<br />
:: Instead of having to figure out how to build all the desired software you would like to include with your distro, you can save yourself a ton of effort and resources by using any or all of the software available to be built with builder!<br />
<br />
<br />
<br />
<br />
==PARAMETERS==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5823builder2017-08-23T20:06:11Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
What about if your repo is already a mess<br />
<br />
- names are not uniform<br />
Example: foo.tcz in x86 might be foo-ng.tcz in x86_64<br />
- packages are not split the same way<br />
Example: foo.tcz in x86 might include binaries, documentation, and libraries, whereas there might be foo.tcz, foo-lib.tcz, foo-doc.tcz in x86_64)<br />
- the existence of a package in one repo does not mean it is available in another<br />
Example: foo.tcz exists for x86, but not for x86_64 or rpi<br />
- the source code used to build the packages may not be the same<br />
Example: foo.tcz in x86 might be using 1.2.3 version of source code and the x86_64 might use 1.3.4<br />
- the compile flags are not the same<br />
Example: foo.tcz in x86 might use "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for x86_64<br />
- the file and directory permissions are not set correctly<br />
<br />
<br />
benefits:<br />
constant updates<br />
consistency between CPU architectures<br />
an immediate access to a large repository of software<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
* Simple syntax for easy compiling no matter build system<br />
* Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
* Extreme flexibility using various pre and post step scripts<br />
* Can pull source code from private or public locations<br />
* Small footprint - contains only two files!<br />
* Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==PARAMETERS==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER''', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5822builder2017-08-23T20:05:29Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
What about if your repo is already a mess<br />
<br />
- names are not uniform<br />
Example: foo.tcz in x86 might be foo-ng.tcz in x86_64<br />
- packages are not split the same way<br />
Example: foo.tcz in x86 might include binaries, documentation, and libraries, whereas there might be foo.tcz, foo-lib.tcz, foo-doc.tcz in x86_64)<br />
- the existence of a package in one repo does not mean it is available in another<br />
Example: foo.tcz exists for x86, but not for x86_64 or rpi<br />
- the source code used to build the packages may not be the same<br />
Example: foo.tcz in x86 might be using 1.2.3 version of source code and the x86_64 might use 1.3.4<br />
- the compile flags are not the same<br />
Example: foo.tcz in x86 might use "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for x86_64<br />
- the file and directory permissions are not set correctly<br />
<br />
<br />
benefits:<br />
constant updates<br />
consistency between CPU architectures<br />
an immediate access to a large repository of software<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
* Simple syntax for easy compiling no matter build system<br />
* Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
* Extreme flexibility using various pre and post step scripts<br />
* Can pull source code from private or public locations<br />
* Small footprint - contains only two files!<br />
* Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==PARAMETERS==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: '''-a''' allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: '''-d''' is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: '''-D''' in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n''' indicates the name of the package to create and requires a builder profile under /etc/builder that has the same directory name.<br />
<br />
: '''-p''' provides the number of passes to take in order to fully compile, sort, and package a particular software. For example, php can have multiple passes to create various related packages without having to entirely recompile the source code. There are also some packages that have to start a compilation, then move files around, then re-compile in order for the end result to be correct - typically involving database interaction.<br />
<br />
: '''-P''' states that on a follow-up attempt at building a software due to a failure, that the patches should not be re-applied since that will cause another failure in the build process. Please note, that this is not the appropriate parameter to use if you don't want patches applied for a particular pass. See the information on the various builder files below.<br />
<br />
: '''-r''' defines phrases that can be removed from the package name and can contain regular expressions. So, for example, lets say you want to have 'lib' removed from 'libassuan', you can simply pass "-r '^lib'" and it will remove 'lib' from the beginning of the name!<br />
<br />
: '''-r''' informs builder that no sorting or packaging attempts should be made until the final pass in a multi-pass build. Otherwise, these steps will occur every pass and will require any pre/post scripts to manually move and rename a small set of files and directories (instead of making mass adjustments).<br />
<br />
: '''-s''' like the '-r' parameter, using this one will allow the sorting to occur, but will withhold packaging the contents (and applying ownership and permissions to the package contents).<br />
<br />
: '''-S''' another option that can be used to automatically obtain the source code files for package maintainers, this one will actually fetch the one from the official website. '''HOWEVER'', this will require a properly configured associated information file containing a line beginning with 'download:' and 'filename:' representing the URL and filename respectively of the source code file to obtain. This switch uses the URL_INFO variable in the builder.conf to find the information file.<br />
<br />
: '''-t''' defines the type of compile framework that is used for the particular package and includes: autoconf, autogen, bootstrap, cmake, custom, and default.<br />
<br />
: '''-U''' lets builder know that it should not unload any dependencies required the build the package upon a successful run. If the SPM_UNL variable is blank, this step is ignored no matter if this is passed or not.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5821builder2017-08-23T19:40:04Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
What about if your repo is already a mess<br />
<br />
- names are not uniform<br />
Example: foo.tcz in x86 might be foo-ng.tcz in x86_64<br />
- packages are not split the same way<br />
Example: foo.tcz in x86 might include binaries, documentation, and libraries, whereas there might be foo.tcz, foo-lib.tcz, foo-doc.tcz in x86_64)<br />
- the existence of a package in one repo does not mean it is available in another<br />
Example: foo.tcz exists for x86, but not for x86_64 or rpi<br />
- the source code used to build the packages may not be the same<br />
Example: foo.tcz in x86 might be using 1.2.3 version of source code and the x86_64 might use 1.3.4<br />
- the compile flags are not the same<br />
Example: foo.tcz in x86 might use "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for x86_64<br />
- the file and directory permissions are not set correctly<br />
<br />
<br />
benefits:<br />
constant updates<br />
consistency between CPU architectures<br />
an immediate access to a large repository of software<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
* Simple syntax for easy compiling no matter build system<br />
* Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
* Extreme flexibility using various pre and post step scripts<br />
* Can pull source code from private or public locations<br />
* Small footprint - contains only two files!<br />
* Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==PARAMETERS==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: <b>-a</b> allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: <b>-d</b> is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: <b>-D</b> in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: '''-L''' similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
: '''-n'''<br />
<br />
is used to indicate an alternative temporary directory for processing. This parameter is optional, but should be a full path of the desired location.<br />
provides the location where all unique files will be copied from the <i>--source</i> directory. It's important to note that each unique file will retain it's location after its copy. For example, if we've executed 'dedup --source=/tmp/source --target=/tmp/target ...' and the source directory contains the unique file /tmp/<b>source</b>/garden/2011/sunflowers.jpg, when it's copied into the target, the directory would be /tmp/<b>target</b>/garden/2011/sunflowers.jpg.<br />
<br />
: <b>-L</b> defines the unique database of files from a prior run. Like the <i>--temp</i> directory, this is optional, but allows a user to compare additional (possibly) duplicate files against the database from a prior run. So, given the pictures example above, this would allow a person to compare any newly found pictures against a prior database containing the unque file hashes from a previous run.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5820builder2017-08-23T19:38:46Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
What about if your repo is already a mess<br />
<br />
- names are not uniform<br />
Example: foo.tcz in x86 might be foo-ng.tcz in x86_64<br />
- packages are not split the same way<br />
Example: foo.tcz in x86 might include binaries, documentation, and libraries, whereas there might be foo.tcz, foo-lib.tcz, foo-doc.tcz in x86_64)<br />
- the existence of a package in one repo does not mean it is available in another<br />
Example: foo.tcz exists for x86, but not for x86_64 or rpi<br />
- the source code used to build the packages may not be the same<br />
Example: foo.tcz in x86 might be using 1.2.3 version of source code and the x86_64 might use 1.3.4<br />
- the compile flags are not the same<br />
Example: foo.tcz in x86 might use "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for x86_64<br />
- the file and directory permissions are not set correctly<br />
<br />
<br />
benefits:<br />
constant updates<br />
consistency between CPU architectures<br />
an immediate access to a large repository of software<br />
<br />
<br />
<br />
==License==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==Features==<br />
While there may be more features than are currently listed below, this should give potential users at least a portion of the currently implemented features.<br />
* Simple syntax for easy compiling no matter build system<br />
* Works with autogen, autoconf, bootstrap, cmake, and traditional<br />
* Extreme flexibility using various pre and post step scripts<br />
* Can pull source code from private or public locations<br />
* Small footprint - contains only two files!<br />
* Portable using POSIX shell<br />
<br />
<br />
<br />
<br />
==PARAMETERS==<br />
Among the standard 'help' and 'version' actions, this project also contains several others that will be covered below in greater detail.<br />
<br />
: * <b>-a</b> allows the user to specify which CPU architecture to use during the compile process. Currently builder supports three including ARM v6/7 (r32) and AMD/Intel 32-bit (i32) and 64-bit (i64). The former is typically used for [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] boards.<br />
<br />
: * <b>-d</b> is used to build packages based on directory names instead of the supplied package name via the '-n' parameter. So, for example, if you need to create several packages from a single execution of builder such as alsa and alsa-config, you can pass this parameter to accomplish this task. It is important to note, however, that the directory names will become the package names and will need to be setup in the various pre/post scripts.<br />
<br />
: * <b>-D</b> in the instance that you have an online repo setup with the source code files already located there, passing this switch can automatically download those files instead of the package maintainer having to manually find and download it beforehand. It uses the URL_CODE value from the builder.conf file in order to locate the proper source tarball from you repo.<br />
<br />
: * <b>-L</b> similar to the '-D' option, this one will use a local (networked|attached) resource to fetch the source code files instead of having to go over the Internet. This one works with the DIR_REPO variable value in the builder.conf file.<br />
<br />
is used to indicate an alternative temporary directory for processing. This parameter is optional, but should be a full path of the desired location.<br />
provides the location where all unique files will be copied from the <i>--source</i> directory. It's important to note that each unique file will retain it's location after its copy. For example, if we've executed 'dedup --source=/tmp/source --target=/tmp/target ...' and the source directory contains the unique file /tmp/<b>source</b>/garden/2011/sunflowers.jpg, when it's copied into the target, the directory would be /tmp/<b>target</b>/garden/2011/sunflowers.jpg.<br />
<br />
: * <b>-L</b> defines the unique database of files from a prior run. Like the <i>--temp</i> directory, this is optional, but allows a user to compare additional (possibly) duplicate files against the database from a prior run. So, given the pictures example above, this would allow a person to compare any newly found pictures against a prior database containing the unque file hashes from a previous run.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5819builder2017-08-23T13:14:57Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
What about if your repo is already a mess<br />
<br />
- names are not uniform<br />
Example: foo.tcz in x86 might be foo-ng.tcz in x86_64<br />
- packages are not split the same way<br />
Example: foo.tcz in x86 might include binaries, documentation, and libraries, whereas there might be foo.tcz, foo-lib.tcz, foo-doc.tcz in x86_64)<br />
- the existence of a package in one repo does not mean it is available in another<br />
Example: foo.tcz exists for x86, but not for x86_64 or rpi<br />
- the source code used to build the packages may not be the same<br />
Example: foo.tcz in x86 might be using 1.2.3 version of source code and the x86_64 might use 1.3.4<br />
- the compile flags are not the same<br />
Example: foo.tcz in x86 might use "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for x86_64<br />
- the file and directory permissions are not set correctly<br />
<br />
<br />
benefits:<br />
constant updates<br />
consistency between CPU architectures<br />
an immediate access to a large repository of software<br />
<br />
A simple utility script used for de-duplication of data pools such as your pictures or documents. There's no deletion of the original files, but instead all unique data is copied to a separate directory so the originals can be deleted, backed up, or some other desired task. Not unlike our other bash-script-based software, this project relies on our clAPI framework for various functionality, so be sure this dependency is satisfied before using. It's also worth mentioning that the placement of the OPTION's <b>must</b> follow their respective ACTION (or parent script) which can be determined via the <i>--help</i> output. It might also help to read over the basics of [http://wiki.cliquesoft.org/index.php?title=clAPI clAPI] to get a better understanding when running software from the command line.<br />
<br />
<br />
==Terms==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==ACTION's==<br />
Among our standard 'help', 'version', and 'update' ACTIONs, this project also contains two others - 'install' and 'sort'. The 'install' ACTION simply installs the script in the "~/.bin" directory for XiniX and "/usr/bin" for typical GNU/Linux distros. To see how easy it is to install, see the examples section.<br />
<br />
The other ACTION, 'sort', will perform most of the desired work. It will basically run through the entire directory heirarchy of the <i>--source</i> OPTION and create a database of MD5 hashes per compared file. During this comparison, if the DB does <b>not</b> contain the generated MD5 hash, then the file is unique and will be copied to the <i>--target</i> directory - retaining it's location. On the other hand, if the MD5 hash is present in the database, then the file is a duplicate and no further action is taken against it. After 'dedup' has completed its run, all unique data is now located under the <i>--target</i> directory.<br />
<br />
<br />
===OPTION's===<br />
There aren't very many options currently available for the 'sort' ACTION, but more are planned for future versions. Below we'll cover each to provide you with a detailed explaination of their function.<br />
<br />
* <b>--source</b> allows the user to specify the "parent" directory containing the various data pools. For example, lets say that you've ended up with your collection of pictures spread throughout different directories (aka folders) in the file system. Since this project doesn't allow for multiple <i>--source</i> OPTIONs, all the directories containing your pictures will need to be moved or copied into a single "parent" directory and passed as this OPTIONs value.<br />
<br />
* <b>--target</b> provides the location where all unique files will be copied from the <i>--source</i> directory. It's important to note that each unique file will retain it's location after its copy. For example, if we've executed 'dedup --source=/tmp/source --target=/tmp/target ...' and the source directory contains the unique file /tmp/<b>source</b>/garden/2011/sunflowers.jpg, when it's copied into the target, the directory would be /tmp/<b>target</b>/garden/2011/sunflowers.jpg.<br />
<br />
* <b>--temp</b> is used to indicate an alternative temporary directory for processing. This parameter is optional, but should be a full path of the desired location.<br />
<br />
* <b>--uniquedb</b> defines the unique database of files from a prior run. Like the <i>--temp</i> directory, this is optional, but allows a user to compare additional (possibly) duplicate files against the database from a prior run. So, given the pictures example above, this would allow a person to compare any newly found pictures against a prior database containing the unque file hashes from a previous run.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5818builder2017-08-22T21:17:13Z<p>Digitalpipe: </p>
<hr />
<div>Unless you are creating a Linux distro that is a fork of another one with a well stocked software repository, the thought of having to build one from scratch is breath taking. To tackle the thousands of source code downloads, applying necessary patches, figuring out the proper compile flags and various make systems (autogen, autoconf, bootstrap, cmake, etc), and applying file and directory ownership and permissions is quite a job! Fortunately builder will handle all of these tasks for you and already comes with a large pool of software profiles that can be tailored to your individual needs, or left to assume defaults.<br />
<br />
What about if your repo is already a mess (like TinyCore)<br />
<br />
- names are not uniform<br />
Example: foo.tcz in x86 might be foo-ng.tcz in x86_64<br />
- packages are not split the same way<br />
Example: foo.tcz in x86 might include binaries, documentation, and libraries, whereas there might be foo.tcz, foo-lib.tcz, foo-doc.tcz in x86_64)<br />
- the existence of a package in one repo does not mean it is available in another<br />
Example: foo.tcz exists for x86, but not for x86_64 or rpi<br />
- the source code used to build the packages may not be the same<br />
Example: foo.tcz in x86 might be using 1.2.3 version of source code and the x86_64 might use 1.3.4<br />
- the compile flags are not the same<br />
Example: foo.tcz in x86 might use "--option1=xyz --option2 --option3", whereas "--option2 --option5" may be used to compile for x86_64<br />
- the file and directory permissions are not set correctly<br />
<br />
<br />
benefits:<br />
constant updates<br />
consistency between CPU architectures<br />
an immediate access to a large repository of software<br />
<br />
A simple utility script used for de-duplication of data pools such as your pictures or documents. There's no deletion of the original files, but instead all unique data is copied to a separate directory so the originals can be deleted, backed up, or some other desired task. Not unlike our other bash-script-based software, this project relies on our clAPI framework for various functionality, so be sure this dependency is satisfied before using. It's also worth mentioning that the placement of the OPTION's <b>must</b> follow their respective ACTION (or parent script) which can be determined via the <i>--help</i> output. It might also help to read over the basics of [http://wiki.cliquesoft.org/index.php?title=clAPI clAPI] to get a better understanding when running software from the command line.<br />
<br />
<br />
==Terms==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==ACTION's==<br />
Among our standard 'help', 'version', and 'update' ACTIONs, this project also contains two others - 'install' and 'sort'. The 'install' ACTION simply installs the script in the "~/.bin" directory for XiniX and "/usr/bin" for typical GNU/Linux distros. To see how easy it is to install, see the examples section.<br />
<br />
The other ACTION, 'sort', will perform most of the desired work. It will basically run through the entire directory heirarchy of the <i>--source</i> OPTION and create a database of MD5 hashes per compared file. During this comparison, if the DB does <b>not</b> contain the generated MD5 hash, then the file is unique and will be copied to the <i>--target</i> directory - retaining it's location. On the other hand, if the MD5 hash is present in the database, then the file is a duplicate and no further action is taken against it. After 'dedup' has completed its run, all unique data is now located under the <i>--target</i> directory.<br />
<br />
<br />
===OPTION's===<br />
There aren't very many options currently available for the 'sort' ACTION, but more are planned for future versions. Below we'll cover each to provide you with a detailed explaination of their function.<br />
<br />
* <b>--source</b> allows the user to specify the "parent" directory containing the various data pools. For example, lets say that you've ended up with your collection of pictures spread throughout different directories (aka folders) in the file system. Since this project doesn't allow for multiple <i>--source</i> OPTIONs, all the directories containing your pictures will need to be moved or copied into a single "parent" directory and passed as this OPTIONs value.<br />
<br />
* <b>--target</b> provides the location where all unique files will be copied from the <i>--source</i> directory. It's important to note that each unique file will retain it's location after its copy. For example, if we've executed 'dedup --source=/tmp/source --target=/tmp/target ...' and the source directory contains the unique file /tmp/<b>source</b>/garden/2011/sunflowers.jpg, when it's copied into the target, the directory would be /tmp/<b>target</b>/garden/2011/sunflowers.jpg.<br />
<br />
* <b>--temp</b> is used to indicate an alternative temporary directory for processing. This parameter is optional, but should be a full path of the desired location.<br />
<br />
* <b>--uniquedb</b> defines the unique database of files from a prior run. Like the <i>--temp</i> directory, this is optional, but allows a user to compare additional (possibly) duplicate files against the database from a prior run. So, given the pictures example above, this would allow a person to compare any newly found pictures against a prior database containing the unque file hashes from a previous run.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
The installation of the software could not be easier. Simply download the package, uncompress it, and run the 'install.sh' script with an elevated account (e.g. root) or prefixing with 'sudo' such as:<br />
<pre><br />
$ cd /tmp<br />
$ tar zxf 2017.08.22-builder.tgz<br />
$ cd builder<br />
$ sudo ./install.sh<br />
<br />
Checking the effective UID: [done]<br />
<br />
Installing the software: [done]<br />
<br />
Congrats! Your software is installed and ready to use!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/etc/builder $ ls<br />
builder.conf libbsd<br />
/etc/builder $ cd /tmp<br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=builder&diff=5817builder2017-08-22T21:04:18Z<p>Digitalpipe: Created page with "A simple utility script used for de-duplication of data pools such as your pictures or documents. There's no deletion of the original files, but instead all unique data is co..."</p>
<hr />
<div>A simple utility script used for de-duplication of data pools such as your pictures or documents. There's no deletion of the original files, but instead all unique data is copied to a separate directory so the originals can be deleted, backed up, or some other desired task. Not unlike our other bash-script-based software, this project relies on our clAPI framework for various functionality, so be sure this dependency is satisfied before using. It's also worth mentioning that the placement of the OPTION's <b>must</b> follow their respective ACTION (or parent script) which can be determined via the <i>--help</i> output. It might also help to read over the basics of [http://wiki.cliquesoft.org/index.php?title=clAPI clAPI] to get a better understanding when running software from the command line.<br />
<br />
<br />
==Terms==<br />
This projects' codebase is licensed under the 2-clause BSD which can be found at "[https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29 Wikipedia]".<br />
<br />
<br />
<br />
<br />
==ACTION's==<br />
Among our standard 'help', 'version', and 'update' ACTIONs, this project also contains two others - 'install' and 'sort'. The 'install' ACTION simply installs the script in the "~/.bin" directory for XiniX and "/usr/bin" for typical GNU/Linux distros. To see how easy it is to install, see the examples section.<br />
<br />
The other ACTION, 'sort', will perform most of the desired work. It will basically run through the entire directory heirarchy of the <i>--source</i> OPTION and create a database of MD5 hashes per compared file. During this comparison, if the DB does <b>not</b> contain the generated MD5 hash, then the file is unique and will be copied to the <i>--target</i> directory - retaining it's location. On the other hand, if the MD5 hash is present in the database, then the file is a duplicate and no further action is taken against it. After 'dedup' has completed its run, all unique data is now located under the <i>--target</i> directory.<br />
<br />
<br />
===OPTION's===<br />
There aren't very many options currently available for the 'sort' ACTION, but more are planned for future versions. Below we'll cover each to provide you with a detailed explaination of their function.<br />
<br />
* <b>--source</b> allows the user to specify the "parent" directory containing the various data pools. For example, lets say that you've ended up with your collection of pictures spread throughout different directories (aka folders) in the file system. Since this project doesn't allow for multiple <i>--source</i> OPTIONs, all the directories containing your pictures will need to be moved or copied into a single "parent" directory and passed as this OPTIONs value.<br />
<br />
* <b>--target</b> provides the location where all unique files will be copied from the <i>--source</i> directory. It's important to note that each unique file will retain it's location after its copy. For example, if we've executed 'dedup --source=/tmp/source --target=/tmp/target ...' and the source directory contains the unique file /tmp/<b>source</b>/garden/2011/sunflowers.jpg, when it's copied into the target, the directory would be /tmp/<b>target</b>/garden/2011/sunflowers.jpg.<br />
<br />
* <b>--temp</b> is used to indicate an alternative temporary directory for processing. This parameter is optional, but should be a full path of the desired location.<br />
<br />
* <b>--uniquedb</b> defines the unique database of files from a prior run. Like the <i>--temp</i> directory, this is optional, but allows a user to compare additional (possibly) duplicate files against the database from a prior run. So, given the pictures example above, this would allow a person to compare any newly found pictures against a prior database containing the unque file hashes from a previous run.<br />
<br />
<br />
<br />
<br />
==Installation==<br />
Installation is a simple 2-step process...<br />
<pre><br />
$ cd /path/to/uncompressed/package<br />
$ ./dedup install<br />
</pre><br />
<br />
<br />
<br />
<br />
==Example==<br />
In this example, we are going to assume that the libbsd source code has been downloaded and extracted under the /tmp directory<br />
<pre><br />
/tmp $ builder -n libbsd -a i64<br />
<br />
Performing filesystem checks...<br />
<br />
Installing compile-time dependencies...<br />
<br />
Entering source code directory...<br />
<br />
Applying software patches...<br />
<br />
Generating the compile script...<br />
<br />
Compiling the software...<br />
<br />
Copying in the extra files...<br />
<br />
Separating into various packages...<br />
<br />
Applying ownership and permissions...<br />
<br />
Creating the various packages...<br />
bsd [dev]<br />
bsd [doc]<br />
bsd [lib]<br />
<br />
Congrats, the software has been packaged successfully!<br />
<br />
</pre><br />
<br />
<br />
<br />
<br />
==Developers==<br />
Dave Henderson [dhenderson (at) cliquesoft (dot) org]</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=Welcome&diff=5816Welcome2017-08-22T20:25:12Z<p>Digitalpipe: </p>
<hr />
<div>On behalf of our staff, we'd like to welcome you to the Cliquesoft wiki! Currently you will find an initial collection of meaningful articles that document the functionality of our released projects and their API's as well. As time passes, we will continue to update the information to provide the most comprehensive documentation possible based on the feedback from our users. Anyone that is interested in helping by contributing their talents can email our staff from the "[http://www.cliquesoft.org/#Contact Contact Us]" link on the bottom of our [http://www.cliquesoft.org website]. Additionally, for any software developers interested in helping to extend our projects with any widgets (e.g. themes, addons, icon sets, etc), we would like to make as much information available to you as possible so that you have all the knowledge needed to begin right away! Below you will also find links to the API documentation for each associated project.<br />
<br />
{| class='none' style='margin: auto'<br />
|[http://wiki.cliquesoft.org/index.php?title=backup.lite backup.lite] || APIs<br />
|-<br />
| BetterOdds.in &nbsp; &nbsp; &nbsp; || &nbsp;<br />
|-<br />
|[http://wiki.cliquesoft.org/index.php?title=builder builder] || &nbsp;<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=clAPI clAPI] || [http://wiki.cliquesoft.org/index.php?title=clAPI_APIs APIs]<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=dedup dedup] || APIs<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=esesen esesen] || APIs<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=FXwm FXwm] || APIs<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=lssmb lssmb] || APIs<br />
|-<br />
| paged || &nbsp;<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=software software] || APIs<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=Threads Threads] || [http://wiki.cliquesoft.org/index.php?title=Threads_APIs APIs]<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=Tracker Tracker] || [http://wiki.cliquesoft.org/index.php?title=Tracker_APIs APIs]<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=web.de web.de] || APIs<br />
|-<br />
| web.sh || &nbsp;<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=web.ui web.ui] || &nbsp;<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=webBooks webBooks] || [http://wiki.cliquesoft.org/index.php?title=webBooks_APIs APIs]<br />
|-<br />
| [http://wiki.cliquesoft.org/index.php?title=XiniX XiniX] || &nbsp;<br />
|}</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=XiniX&diff=5815XiniX2017-07-07T23:19:28Z<p>Digitalpipe: </p>
<hr />
<div>The distro that's poised to usher in the year of the Linux desktop, XiniX has been released as a beta! Hitting the market just weeks after the two power houses release their latest versions, Microsoft Windows 10 on July 29 2015 and Apple iOS on September 16 2015, XiniX, the little-known underdog, has entered the market! So what is XiniX (pronounced 'zen-ics')? First, XiniX is an [https://en.wikipedia.org/wiki/Operating_system operating system] (OS) just like [http://www.microsoft.com Microsoft Windows] and [http://www.apple.com Apple's iOS], but is based on Linux akin to [http://www.google.com Google's Android]. XiniX represents the world's next generation of OS and is currently available for use on conventional computers such as desktop or laptops, with mobile platforms coming in the future. Built to act more as a firmware among devices, one of its primary goals is to remain small and efficient - just enough to get the device into an environment where the users' work takes center stage!<br />
<br />
Unlike any of the companies mentioned above, our OS is not based on fixed releases (e.g. Windows 8, Windows 10), but instead, is distributed as a continuing (or rolling) release as updates are made available. What's also different, is that our OS comes with just enough software to get you basic device operations and then lets you take over and personalize the device by installing any of the software or services located in our 'Software Shoppe'. In the sections that follow, we will not only cover some of the unique aspects of the amazing operating system, but we will also compare it with others to help users better understand if they would like to make the switch!<br />
<br />
<br />
<br />
<br />
==License==<br />
There are various projects that make up the XiniX core operating system. Each will be listed below with their respective license. More information about the CPLv2 licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
{| class='wikitable' style='margin: auto'<br />
! '''Package''' !! '''License''' !! '''Package''' !! '''License''' !! '''Package''' !! '''License'''<br />
|-<br />
| '''Linux''' || GPLv2 || '''grub''' || GPLv3 || '''busybox''' || GPLv2<br />
|-<br />
| '''Xfbdev''' || na || '''alsa-config''' || na || '''socat''' || na<br />
|-<br />
| '''nmap''' || na || '''harfbuzz''' || na || '''imlib2-bin''' || na<br />
|-<br />
| '''libXau''' || na || '''libXdmcp''' || na || '''libfontenc''' || na<br />
|-<br />
| '''libXt''' || na || '''libXext''' || na || '''libXrender''' || na<br />
|-<br />
| '''Xorg-fonts''' || na || '''Xprogs''' || na || '''fonts-mscore''' || na<br />
|-<br />
| '''imlib2''' || na || '''libXfont''' || na || '''libXi''' || na<br />
|-<br />
| '''libXmu''' || na || '''libXpm''' || na || '''libXrandr''' || na<br />
|-<br />
| '''libffi''' || na || '''libjpeg-turbo''' || na || '''libpng''' || na<br />
|-<br />
| '''libxcb''' || na || '''Xlibs''' || na || '''file''' || na<br />
|-<br />
| '''clapi''' || CPLv2 || '''web.de''' || CPLv2 || '''web.ui''' || CPLv2<br />
|-<br />
| '''FXwm''' || CPLv2 || &nbsp; || &nbsp; || &nbsp; || &nbsp;<br />
|}<br />
<br />
<br />
<br />
<br />
==Features==<br />
What makes a software title desired by the masses? Its features of course! While XiniX is still in its infancy, there are some features that we would like to point out and provide details on. While the below list may not include all the current features, and does list some that are in development, it does provide you with some indication of what can be done with the current version of our OS. Take the time to try it and you'll learn why we say "Achieve zen with XiniX!"<br />
<br />
* Better security<br />
:: There's a reason why we started the list with this item. Security has become much more of a concern today than years past, especially with the revelations of government and corporate spying along with those out there willing to cause harm using malware and ransomware. The more parts of a working system you have, the more opportunities there are to exploit bugs and other issues that can cause you problems. Compare our clean install size of the Vanilla Edition (VE) at less than <u>85MB</u> (under 64MB for EE), whereas Windows 10 is approximately <u>15,000MB</u> - 0.004 the size! As you can see, we offer quite a substantial reduction in software that can be exploited on your device to allow others to take advantage of you!<br />
<br />
* Best Price in its class<br />
:: Another top concern with households and businesses nowadays is how much does it cost me to stay up-to-date and productive? Once again, we shine where our competitors fail - releasing XiniX for the low, low cost of $FREE USD! Compare that to the 3 year Microsoft upgrade fee of $200-$300 to get the latest version of only Windows (not to mention Office and other software), $1200-$2000 to get the latest Apple device to use their software, and forget about Google's Android since it is only available for mobile devices (placing it in the category of Apple where you must buy a device to get it). You can use our XiniX OS on any laptop, desktop, server, and soon on mobile devices as well!<br />
<br />
* Can run from any storage media<br />
:: Since XiniX was designed to be lightweight and efficient from day 1, we can install it to a wide variety of media. This includes hard drives, optical discs, flash drives, SD cards, and more! What's more is that since the OS, by default, loads to RAM, once the OS has been loaded, you can even remove the bootable media itself!* In an upcoming release, the OS can even be loaded over the network via [https://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE].<br />
<br />
* Clean separation of OS from data and apps<br />
:: Since our OS works as a common firmware among devices and is designed to get you in an environment to perform your work, once it is loaded, it gets out of your way! From that point forward, the only interaction the user has will be with their data and applications on a local or network resource.<br />
<br />
* Clear separation of [https://en.wikipedia.org/wiki/Graphical_user_interface GUI] from engine<br />
:: Simply put, this will allow any user (GUI) to control any device (engine). So, for example, you may have a computer connected to your living room TV that can be controlled with your smart phone or tablet - natively! No additional software to install and configure! And while you can't currently install XiniX on a smart phone or tablet, you can still connect and control the XiniX-based device using the web browser already installed on either of those devices.<br />
<br />
* Easy built-in local and remote access<br />
:: Like many of the existing mainstream operating systems, XiniX can also handle local and remote access for users. Where we differ from the other OS's is the fact that this interaction only requires a web browser and not a separate piece of software or other elaborate infrastructure to route requests properly. Once two devices are paired, it doesn't matter the physical location of either!**<br />
<br />
* Useful for headed or headless devices<br />
:: Can you imagine Microsoft Windows running on a router? Neither can we! Our operating system on the other hand, it quite capable of accomplishing this goal. Due to its small size, and by utilizing the aforementioned benefit, you can control that device no matter its design or function.<br />
<br />
* Works with older hardware<br />
:: Since the firmware is small and efficient, it should work with the old computer you've stored in the closet over the last 10+ years. This can turn an old, obsolete computer into a working tool for young children, grandparents, or even act as a gateway into network resources in a variety of situations and environments.<br />
<br />
* No installation media<br />
:: Ever wanted to install that latest version of your favorite OS, but can't find a blank DVD or flash drive to create the installation media just to install on another media (e.g. hard drive) for actual use? Well, we've skipped that intermediary step and combined both into one. You can also not only obtain XiniX from our website, but you can create a copy from within the software itself!<br />
<br />
* First actual cloud-based OS<br />
:: You may be thinking "I can already use the cloud with a web browser and software like dropbox", but that doesn't quite define a cloud-based operating system. First, browsing the Internet with a web browser does not fall within this scope. And second, the use of 3rd party software means that the OS is incapable of cloud interaction natively. XiniX can seamlessly connect with services such as Amazon's AWS, web hosting servers, and other XiniX devices natively. Files can be copied back and forth just as you would if it were local, and more!<br />
<br />
* Unique p2p networking<br />
:: XiniX uses its own type of networking using a peer-2-peer method among devices. This means that setting up a network of devices involves nothing more than pairing the desired devices with one another in a simple process that even grandma could understand!<br />
<br />
* Perfect as IoT OS<br />
:: Since XiniX was designed to be as small as possible while allowing for a reasonable amount of functionality out-of-the-box, it is a perfect choice for those interested in creating a device considered as part of the "Internet of Things" (IoT). No only does it have a small footprint along with the ability to be used in devices with or without displays, but the software is constantly updated to prevent malicious activity from taking place by patching bugs and fixing points of exposure!<br />
<br />
<center><br />
:: * This can be achieved if working without a DATA partition or if the DATA partition is on other media or a network resource.<br />
:: ** This is currently in development, seamless LAN access is currently only available.<br />
</center><br />
<br />
<br />
{| class='wikitable' style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Vanilla Edition (VE) !! Embedded Edition (EE) !! TinyCore Linux<br />
|-<br />
| style='text-align: left' | Target Size || Under 64MB || Under 32MB || &nbsp;<br />
|-<br />
| style='text-align: left' | Current Size || 69MB (i32)<br />76MB (i64)<br />72MB (r32) || 37MB (i32)<br />41MB (i64)<br />37MB (r32) || Approx 16MB<br />
|-<br />
| style='text-align: left' | Built-in Capabilities || &nbsp; || &nbsp; || &nbsp;<br />
|-<br />
| style='text-align: left' |<br />
:: NTFS Capabilities<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: LAN, BT, Wifi<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Controlled via Device<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Designed for Cloud<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Access<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Interface<br />
|| GUI || GUI || None<br />
|-<br />
| style='text-align: left' |<br />
:: Local Interface<br />
|| GUI || CLI || GUI<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==History==<br />
Currently the operating system is still in beta, which means that it should not be put into production for businesses. However, the system is stable enough for personal and hobbyists usage. Up to version 2016.11.01.0, all distributed images were for the Intel/AMD 64bit processors and were the Vanilla Edition (VE). With the release of 2016.11.01.0, however, both 32bit and 64bit were available as well as being offered in two editions - Embedded Edition (EE) and Vanilla Edition (VE). The former edition is intended for hobbyists projects, routers, set top boxes, etc., whereas the latter is suitable for traditional computers such as laptops and desktops. As of version 2016.12.01.0, two different types of image files were released to expand the media that could be used in order to boot into XiniX. Previously only drive images were available for media such as hard drives, flash drives, SD cards, etc., but the December 2016 release also included optical images capable of booting off of optical media such as a CD or DVD.<br />
<br />
Some big changes came with version 2017.04.07.0 including a 'Welcome' screen that allows the user to tailor the OS to their basic needs by installing some commonly used software such as a PDF viewer and office suite. Also, this release enabled full usage on mobile smartphones (tablets were still untested) using the default theme as well as the integration of web.link (remote control) and web.sight (image viewer). The package manager (pax) received some new abilities as well including the parsing of conditional and specific version numbers of packages, and the ability to process file lists and directories as the source of packages instead of them being specifically stated. Lastly this version included an auto-login when no DATA exists along with several boot menu options to work with devices that did not work well with the default auto-configuration of the frame buffer with graphical user interfaces (e.g. VE).<br />
<br />
With the release of 2017.06.07.0, all available themes were now able to be used on smartphones using the Chrome browser (others were untested) along with a typical list of updates to web.de. And as originally stated in this section, 2017.07.07.0 included a basic release for the Raspberry Pi boards. However, this release was very laggy for the Pi2 and not much better for the Pi3 when using the vanilla edition (VE) - no attempt should even be made with the Pi0 and Pi1 boards. As it was originally designed, anyone interested in using the embedded edition (EE) should have no problems with any of these devices!<br />
<br />
Our long term goals include the ARM CPU architecture in 64bit once it proves useful, and if our users have enough interest, we will also expand into MIPS and PowerPC.<br />
<br />
<br />
<br />
<br />
==Requirements==<br />
Due to the small footprint that makes up the XiniX operating system, not much hardware is required to run it. The below is the minimal values of both categories in order to run the OS.<br />
{| class="wikitable" style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Processor (CPU) !! Memory (RAM) !! Storage (HDD) !! Graphics Card !! Display !! Network !! Notes<br />
|-<br />
| style='text-align: left' | Required (EE) || Single-core 400MHz (est) || 48MB || 100MB || None || None || None<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Required (VE) || Single-core 800MHz (est) || 128MB || 100MB || VGA compatible || 800x600, 256 Colors || None<br />
| style='text-align: left' | Lowest tested is an Intel P3 1.13Ghz<br />
|-<br />
| style='text-align: left' | Recommended (EE) || Single-core 1GHz || 512GB || 8GB || VGA compatible || 800x600, 256 Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Recommended (VE) || Dual-core 1.8GHz || 2GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | This should be any desktop/laptop around 2006<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==Installation==<br />
There are currently three ways to obtain and install XiniX - [https://sourceforge.net/projects/xinix/?source=directory sourceforge.net], our [http://www.cliquesoft.org/#Projects website], or from within the OS interface itself. All methods will be covered below. While we are working to expand the installation wizard to reduce this complexity in Linux, Microsoft Windows users should have a fairly straight forward process. As a result, only someone with the proper knowledge should attempt these steps in a Linux environment as any wrong values can actually erase your hard drive!<br />
<br />
===<u>Download</u>===<br />
: No matter what operating system you are using, this part of the process is easy to complete. To begin, simply click on either of the first two links offered above. If you have selected sourceforge.net to obtain the image, you should be presented with the latest version to download by using the green 'Download' button located towards the top of the webpage. Keep in mind this will be for the 32bit iso version of the Vanilla Edition (VE) which is made for desktops and laptops using optical media such as CD's and DVD's. If you are interested in different CPU architectures, editions, or installation media, click the 'Files' option right below the header on that webpage and select which file you would like to download. Keep in mind that scrolling further down the page will present you with information to guide you in downloading the desired image.<br />
<br />
: If you choose to obtain XiniX from our website, you will need to scroll down to the bottom of the page to find it since the listing is in alphabetical order. Once you have found the XiniX operating system, you can read the description to determine which edition is right for you. Once you have that figured out, clicking the 'Download' listbox will expose all the available images for download. The layout for each entry is as follows:<br />
<br />
:: [State] [Edition] Target CPU Bit<br />
<br />
: You will need to find the list item belonging to your running OS, or the 'ISO' that can be used to create XiniX boot media regardless of the operating system you are currently using (e.g. Apple, Linux, Windows). Clicking that entry from the list will download the image to your computer.<br />
<br />
<br />
: '''Linux'''<br />
: As mentioned above, we are working to expand the included installation wizard for those not comfortable with the command prompt. However, if you have a basic knowledge of computers, the one included should be adequate enough to get XiniX installed on the desired media. If you are a grandparent or someone who just does not understand technology, check back frequently to see if the proper modifications have been made for you! For those of you still with us, once you have downloaded the desired image, there are a few steps required to get the OS on your desired media. For the sake of these examples, we will assume that the image currently resides in the '/tmp' directory with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.tgz.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have obtained a drive image (img), then one set of the below instructions need to be followed. These directions apply to all Linux distros and require you to first get to a command prompt to execute the following steps in order to install XiniX. You should not have to worry about obtaining additional software to accomplish this task as the programs used here are installed by default in all main stream Linux distros. In this example, we will be using the /dev/sdb device to write the image too. <u>WARNING:</u> these steps will ERASE all the data on that device before installing XiniX!!!<br />
<br />
:: <u>Using the Wizard</u><br />
:: As of version 2017.05.07.0, a wizard has been included with each distribution file for the Linux OS. So after going into the '/tmp' directory and uncompressing the downloaded file, you should see a script named 'install.sh' which will need to be started to guide you through the installation routine. Each step mentioned is shown below:<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ ./install.sh<br />
</pre><br />
<br />
:: From this point, you will be asked a few questions to find the image to burn along with the desired target media. After confirming the writing process, your XiniX boot media will be created for you.<br />
<br />
:: <u>Using raw commands</u><br />
:: Anyone that is using this method will most likely already know how to perform these steps, but they have been included for those seeking to gain more knowledge. It is important to note that if the media generated by performing the following commands has problems booting, you may need to wait 10 seconds or so after the final output below is shown to make sure all the buffers have been flushed to disk.<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ dd if=XiniX_VE_2016.12.01.0_32bit.img of=/dev/sdb conv=fdatasync<br />
</pre><br />
<br />
:: Make sure you use the trailing 'conv=' parameter so output buffers get flushed to the disk (see this [http://askubuntu.com/questions/318186/wait-for-dd-command-to-fully-write-to-the-disk post]). Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
1250000+0 records in<br />
1250000+0 records out<br />
640000000 bytes (640 MB) copied, 119.708 s, 5.3 MB/s<br />
</pre><br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (with is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ tar zxf /tmp/XiniX_VE_2016.12.01.0_32bit.iso.tgz<br />
$ cdrecord -v -dao -eject dev=/dev/dvd /tmp/XiniX_VE_2016.12.01.0_32bit.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
: '''Windows'''<br />
: For users of the Microsoft Windows operating systems, you will have a straight forward process to create bootable media no matter which type of image you have selected to use. Unlike Linux, however, there are no ways to create media from the command line, so these steps should be easy for any user in this environment. For the sake of these examples, we will assume that the image currently resides on your Desktop with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.zip.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have selected to use a drive image (img), first you will need to uncompress all of the .zip file contents to your Desktop. Once the decompression has completed, navigate inside the 'Windows Installer' folder and double click the file named 'setup' (it may have an optional '.exe' appended). Once the application has loaded, click the folder icon at the top and locate the XiniX image file (e.g. XiniX_VE_2016.12.01.0_32bit.img). Next select the media to install XiniX to from the following listbox to the right. Once you have those values in place, click the 'Write' button and wait for the installation to complete. If you would like to get and compare the MD5 hash's, simply check the 'MD5 Hash' checkbox. <u>WARNING:</u> XiniX can NOT be installed along side another OS at the moment and will erase the contents of the selected media!<br />
<br />
[[File:Windows_Installer.png|center|Create Image]]<br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
:: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
<br />
<br />
===<u>Interface</u>===<br />
: This method is the easiest way to create copies of the operating system and assumes that you are working with an already running installation of XiniX. Using the default theme, click the 'State' option from the navigation menu and locate the "i" button in the top left-hand corner of the screen. After clicking it, you will be presented with a popup that shows you the various media available and is divided into two sections - 'Internal Storage' and 'Attached Storage Devices'. Included on the screen is some additional information that should help you select which section to use when determining your target. Now select the media to install on along with the CPU architecture (bit) of the target device. If the latter information is unknown, you can use the 32bit as a failsafe option. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:XiniX.png|Create Image<br />
File:XiniX_create.png|Configure<br />
</gallery><br />
<br />
: We will later expand the options to allow for the installation of the different editions regardless of the one currently being used, but at the present the install screen will only produce another copy of what is running. So for example, if you're using the Vanilla Edition (VE), then this screen will only create another copy of VE. EE will produce another EE, and so forth.<br />
<br />
<br />
No matter what method you had to use above, simply reboot your device using the media that you just installed XiniX to and enjoy your adventure!<br />
<br />
<br />
<br />
<br />
==Booting==<br />
Unless optical media was used as the source to boot from, the list of options that are available using the boot menu will not be accessible without invoking it. To expose this list, simply press the F8 key repeatedly once the XiniX graphic is shown during the boot cycle. If successful, then the list of options below should be shown. Of course, if the two second window for accessing it has passed during the boot process, the device will need to be rebooted in order to attempt this task once again. And although the list has several many options, some of which may not be easy to figure out at first glance, each selection will be discussed in more depth below. Please note that these options are only present for the i32/i64 releases, not r32 (raspi).<br />
<br />
: '''Start XiniX'''<br />
:: As the caption of the first option eludes to, selecting this option will start the operating system as it normally would if the boot menu was never accessed. Optical boot media users will always be presented with this list, so this will most likely be your pick. However, if the menu was accessed using any other boot media, then this is most likely the option that will not be desired.<br />
<br />
: '''Low Resolution'''<br />
:: Some devices will not work with the auto-configuration of the graphical environment (frame buffer) and will just stay stuck on the XiniX boot graphic. In those instances, this menu option can be used to get into a working system so that the proper driver installations can take place so a normal bootup can occur. If additional problems persist, the 'Safe Mode' option may need to be used instead.<br />
::: NOTE: this is only available with VE<br />
<br />
: '''Install XiniX'''<br />
:: Although XiniX does not have an install process like traditional operating systems such as Microsoft Windows, selecting this option basically creates a DATA partition allowing a user to save their data instead of using the boot media anonymously – similar to that of a live CD. For additional information on this topic, please see the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Composition Composition]]' section below and the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Installation Installation]]' section above.<br />
<br />
: '''Install Drivers'''<br />
:: Upon having issues with a non-working or sluggish graphical environment when using a device, this option can be selected to help resolve problems by installing the more powerful display server known as [https://en.wikipedia.org/wiki/X.Org_Server Xorg] along with the desired graphics driver.<br />
::: NOTE: this is only available with VE<br />
<br />
<br />
: '''Anonymous Mode'''<br />
:: Typically when XiniX starts, it searches for a DATA partition and automatically mounts it so that the user data can be saved. However, there may be times when that information may not be needed or wanted. This mode will allow XiniX to be used anonymously so that data and software is not saved during that session causing the environment to act like a 'Live CD' was booted - even if a DATA partition exists!<br />
<br />
: '''Compatibility Mode'''<br />
:: As hardware manufacturers sometimes rush their equipment to market, bugs can be present in their firmware causing issues with booting some operating systems. Additionally some older hardware might have issues with some newer technologies found in the Linux kernel. Either way, this option can help to get into a working environment by skipping some features (issuing 'noapic noacpi irqpoll' calls to the kernel during bootup). Like the 'Conservative Mode' below, this item will also load software using symlinks instead of in the RAM.<br />
<br />
: '''Conservative Mode'''<br />
:: Since XiniX was designed to work with modern and aging hardware, a boot option to use with the latter was included. The only difference between this option and the default 'Start XiniX' is that instead of loading all the software to the RAM, the software is symlinked against the storage device - saving memory resources at the expense of being slightly slower in operation.<br />
<br />
: '''Debug Mode'''<br />
:: Unlike the other modes found in this section of the boot menu list, this one works exactly like the 'Start XiniX' option but outputs much more information in the /var/log directory associated with the boot process to help systems administrators and developers find and fix problems.<br />
<br />
: '''Emergency Console'''<br />
:: Although the XiniX operating system has been designed to make using it as easy as possible, there will inevitably be times where some adjustments don't work as desired. In those few instances, systems administrators can easily get to a console prompt to start the process of correcting those issues. Similar to the warning provided by using the 'Restore Console', this menu item should avoided without detailed knowledge of the software and command prompt.<br />
<br />
: '''Restore Console'''<br />
:: There are times when installing or updating software can lead to undesired effects - especially after a reboot has occurred. So in the event that a device will no longer boot due to suspected software issues, select this item to get into a console where restores can be made from prior backups. Please note that this should be used with caution!<br />
::: NOTE: this is not a boot option before 2017.04.07.0<br />
<br />
: '''Safe Mode'''<br />
:: Building off of the 'Compatibility Mode' boot option, this one also does not process any personal boot scripts in the event that one of them may be causing problems during the boot process.<br />
<br />
<br />
: '''From Harddrive'''<br />
:: Sometimes alternative boot media is accidentally left in the computer after it has been powered down causing it to be booted to upon a subsequent bootup. No fear! In instances like that, this option can be used to automatically switch back to the internal hard drive to boot from without having to power cycle the device again.<br />
<br />
<br />
: '''Test Memory'''<br />
:: When a device does not seem to be working properly and no other option can be identified as the culprit, testing the RAM for errors is a good place to check. Using this item will load a small application that will test the entire set of memory modules installed in the device as well as display a plethora of information about them. And although it may not be displayed on the screen, continuing to press the down arrow key on the keyboard will eventually cycle to it in the list.<br />
<br />
<br />
<br />
<br />
==Usage==<br />
<br />
===Errors===<br />
: Although the default configuration should broadly work with most devices, in some instances, depending on the hardware, you may find that the graphical interface fails to work properly. Until a better solution can be found, a separate boot option has been included to help install additional display drivers so that you will be able to get into the operating system. If you fall under this condition, simply reboot your device and as soon as you see the 'XiniX' boot graphic, start repeatedly pressing the 'F8' key to show the boot menu (unless you're booting from optical media which always shows the menu). Select the option labeled "Install Drivers" and after the boot process completes, simply select the manufacturer of your graphics card and the proper drivers should be installed. After the device reboots, you should have a properly working graphical environment.<br />
<br />
: Please be aware that you must have installed XiniX before proceeding with these steps since we need a DATA partition to store saved data and information. If this has not taken place yet, select 'Install XiniX' option from the boot menu before proceeding with the steps outlined above.<br />
<br />
===GUI===<br />
: Covering the user interface is outside the scope of this document, but [http://wiki.cliquesoft.org/index.php?title=web.de click here] to be redirected to the proper location that will explain the interface in detail. However, we do want to mention that a XiniX device can be controlled locally ([https://en.wikipedia.org/wiki/X_Window_System X11]) and/or remotely ([https://en.wikipedia.org/wiki/Web_browser browser]). To change this behavior navigate to the 'Access > Device > Settings > web.de' popup and change the 'Access' values to your desired configuration and click the 'Ok' button. More information about the GUI and access to it can be found in the first link above.<br />
<br />
===Administration===<br />
: The first account created during the installation routines will be granted an additional privilege over all the other accounts. By default the 'root' account (aka administrator in Linux) can not be used to log into any device for security reasons. This also means that the root account can not be switched to in order to perform administrative tasks due to not having a password. As a way to enable the usage of the root account, the first created user account will receive the ability to switch to the root account in the event that you require that type of access. In order to make this switch, perform the following steps at a command prompt with the afore mentioned account:<br />
<br />
<pre style='margin-left: 22px'><br />
$ sudo su root<br />
</pre><br />
<br />
: NOTE: Performing the above steps should be rare, if at all. If you find yourself using the root account regularly, you should instead adjust the /etc/sudoers file to grant the appropriate privileges as a regular user since using the root account presents additional security risks!<br />
<br />
===Login===<br />
: Unlike other Linux distros, the login credentials are specific to this operating system. While XiniX still uses the default administrators user account in Linux known as 'root', the password is not anything that is typically used to gain access. Instead, you must use 'now has zen' as the password in order to login successfully. It is important to note that this only applies when booting off of optical media such as CD's or DVD's, and if the OS has not been 'installed'. Once a DATA partition has been created post 'installation', the 'root' account can no longer be used to login (for security), but the credentials of the other accounts will be saved for future logins.<br />
<br />
: As of version 2017.04.07.0, an auto-login is engaged when no DATA partition exists. However, if you need to get into certain areas such as 'Access > Device', then you will still need to use the password mentioned above.<br />
<br />
===Composition===<br />
: Since XiniX is unlike its competition and is in a class of its own, it is important for the user to have a brief overview of the operating system itself. As eluded to in the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Features Features]]' section above, there is not two types of media (installation and runtime) like there is in the world of Microsoft. Meaning that you don't have to create/obtain an installation DVD (installation media) to install to a hard drive (runtime media) before being able to use the operating system - they are one-in-the-same! So by having any XiniX boot media (installation and runtime), you can not only fully use the OS, but you could in turn create other boot media such as CDs, flash drives, and hard drives.<br />
<br />
: Now that you understand XiniX's boot media, known as 'FIRMWARE', we would like to discuss the optional second part of the OS. While the user will have no restrictions using only the 'FIRMWARE', this will simply create an (anonymous) 'Live CD' environment so that you can play or test the software without making any changes to your existing setup. So if you install applications and write a document or two, none of that information will be saved after a reboot or shutdown of the device. This is where the 'DATA' partition comes in. As indicated by the name, this storage area will contain all your installed applications and saved data such as settings, documents, favorites, music, and movies. Most users will opt to have both a FIRMWARE (operating system) and DATA (user data) for a complete solution, however, the separation was made for flexibility. One last point to make is that while both can reside on the same media (e.g. hard drive), they do <u>NOT</u> have to be. So for example, you can boot off of a FIRMWARE DVD and have DATA as a flash drive!<br />
<br />
<br />
<br />
<br />
<br />
==Editions==<br />
XiniX will ultimately be distributed in multiple editions to best serve its user base. Each will be covered below:<br />
<br />
* '''Vanilla (VE)''' As the name suggests, this edition qualifies as a clean, small, and efficient distribution of the operating system meant for personal devices such as desktops and laptops with goals to later expand into mobile devices. There are no applications bundled aside from the ones necessary for system manipulation found under the 'Access > Device' screen. This not only reduces security concerns by not having unused or unwanted software installed with potential exploits, but also allows the user to personalize their device to their individual liking. By default, it is shipped with a lightweight graphical system (framebuffer) for 2D rendering, but if more powerful acceleration is required (Xorg), it can be installed using just a few clicks of the mouse.<br />
<br />
* '''Client (CE)''' Building off of the Vanilla Edition foundation, this distribution targets the SOHO and medium-sized business market. Like its base, it maintains a small, efficient footprint, but incorporates additional user account properties and authentication mechanisms (via [https://en.wikipedia.org/wiki/OpenLDAP LDAP]) for robustness. Since this edition is meant for use on higher-end hardware, the more powerful graphical system (Xorg) is installed by default. Also offered in the version will be the ability to use a traditional server and client network model with its own set of unique properties to help businesses in several ways.<br />
<br />
* '''Server (SE)''' Servers have stringent requirements, one of them is that is must remain up and running as long as possible. Since XiniX can expose its [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] (GUI) locally or remotely, as mentioned in the 'Features' section of this document, this edition, by default, provides that capability through the web browser of any authorized device and with local access being in the form of the [https://en.wikipedia.org/wiki/Command-line_interface command line interface] (CLI). Employees should never use a server as a work station, so there is no need to eat up resources on powering something that will never be used. This reduces overhead (and security risks) for the server so that those CPU cycles can be spent handling requests for clients - the main job of the server. Of course, a local GUI can be installed if one is desired.<br />
<br />
* '''Embedded (EE)''' Like the Server Edition, this version comes without a local GUI by default and will target embedded devices such as hobbyist projects, [https://en.wikipedia.org/wiki/Router_%28computing%29 routers], and [https://en.wikipedia.org/wiki/Set-top_box set-top boxes]. Although the default option is to install a remotely accessible GUI, a locally available GUI can be installed as well (up to Xorg), should the device require it. XiniX should maintain the smallest footprint possible with the OEM adding only what is necessary for their device to function as designed.<br />
<br />
<br />
<br />
<br />
==Comparison==<br />
Competition is always good for the market place, especially when there are only a few power players in the industry. Currently there are only three large operating system vendors - Microsoft, Apple, and Google. The make matters even worse, one of them dominates on mobile and another one dominates the desktop market. As a new competitor, XiniX can presently only compete in the desktop market so that will be reflected in the table below. Also, the below information will be based on the 64-bit, 'Home' or personal-use edition of each respective OS (Vanilla Edition for XiniX).<br />
<br />
{| class="wikitable"<br />
|-<br />
! &nbsp; !! Apple OS X !! Google Android 5 !! Microsoft Windows 10 !! Canonical Ubuntu 15.04 !! Cliquesoft XiniX Beta !! Description<br />
|-<br />
| Storage (HDD) || 9GB || Unknown || 20GB || 5GB || 100MB || Minimum storage space to install OS<br />
|-<br />
| Memory (RAM) || 2GB || Unknown || 2GB || 384MB || 128MB (est) || Required memory amount to run OS<br />
|-<br />
| Processor (CPU) || 1GHz || Unknown || 1GHz || 700MHz || 800MHz (est) || Required CPU speed to run OS<br />
|-<br />
| Networking (Style) || Server/Client || None || Server/Client || Server/Client || p2p & Server/Client || How the network style is arranged<br />
|-<br />
| Networking (Type) || LAN || None || LAN || LAN || LAN & Cloud || The type of network capability built into OS<br />
|-<br />
| Users || Multi || Single || Multi || Multi || Single or Multi || Defines individual or group usage of device<br />
|-<br />
| Cost || Est 1500* || Est $500* || Est $150* (home) || Free || Free || Monetary cost of the software<br />
|-<br />
| Applications || App Store || Google Play || Unknown || Synaptic || Software Shoppe || Source of installable software catalog<br />
|-<br />
| Printing || CUPS || None || Print Mgr || CUPS || CUPS || Locally attached or wifi printer capabilities<br />
|-<br />
| Media Lookup || No || No || No || No || Yes** || Obtains online information for personal movies<br />
|-<br />
| Bloated || Yes || Yes || Yes || Yes || No || Excessive pre-loaded software<br />
|-<br />
| Privacy (online) || [http://www.digitaltrends.com/mobile/apple-icloud-hack-china/ No]*** || [http://adwords.blogspot.com/2015/09/Google-brings-you-closer-to-your-customers.html No]**** || [http://thenextweb.com/microsoft/2015/07/29/wind-nos/ No], [http://www.forbes.com/sites/gordonkelly/2016/02/09/windows-10-data-tracking-spying-levels/?utm_campaign=yahootix&partner=yahootix#89701e97aa99 No] ***** || Yes || Yes || Is user privacy retained<br />
|-<br />
| Updates || Non-forced || Non-forced || [http://www.zdnet.com/article/windows-10-upgrade-nags-become-more-aggressive-offer-no-opt-out/#ftag=YHFb1d24ec?ref=yfp Forced] || Non-forced || Non-forced || User control of updates<br />
|-<br />
| Degradation || Yes || Yes || Yes || Yes || No****** || The performance degradation overtime<br />
|-<br />
|}<br />
<br />
: * Cost is based on the purchase of the equipment required to run the OS<br />
: ** The filename must be in a specific format - see the wiki for details<br />
: *** Based on their centralization of (more easily hackable) customers data versus our decentralized approach<br />
: **** Based on the well know erosion of Google's privacy policy with the users of their products<br />
: ***** Based on the revelations of excessive, unstoppable communication with Microsoft's Windows 10<br />
: ****** Based on how the OS is loaded (stages), where it is loaded (RAM), and by not having a 'registry'</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=XiniX&diff=5814XiniX2017-05-10T13:02:45Z<p>Digitalpipe: /* Comparison */</p>
<hr />
<div>The distro that's poised to usher in the year of the Linux desktop, XiniX has been released as a beta! Hitting the market just weeks after the two power houses release their latest versions, Microsoft Windows 10 on July 29 2015 and Apple iOS on September 16 2015, XiniX, the little-known underdog, has entered the market! So what is XiniX (pronounced 'zen-ics')? First, XiniX is an [https://en.wikipedia.org/wiki/Operating_system operating system] (OS) just like [http://www.microsoft.com Microsoft Windows] and [http://www.apple.com Apple's iOS], but is based on Linux akin to [http://www.google.com Google's Android]. XiniX represents the world's next generation of OS and is currently available for use on conventional computers such as desktop or laptops, with mobile platforms coming in the future. Built to act more as a firmware among devices, one of its primary goals is to remain small and efficient - just enough to get the device into an environment where the (users') work takes center stage!<br />
<br />
Unlike any of the companies mentioned above, our OS is not based on fixed releases (e.g. Windows 8, Windows 10), but instead, is distributed as a continuing (or rolling) release as updates are made available. What's also different, is that our OS comes with just enough software to get you basic device operations and then lets you take over and personalize the device by installing any of the software or services located in our 'Software Shoppe'. In the sections that follow, we will not only cover some of the unique aspects of the amazing operating system, but we will also compare it with others to help users better understand if they would like to make the switch!<br />
<br />
<br />
<br />
<br />
==License==<br />
There are various projects that make up the XiniX core operating system. Each will be listed below with their respective license. More information about the CPLv2 licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
{| class='wikitable' style='margin: auto'<br />
! '''Package''' !! '''License''' !! '''Package''' !! '''License''' !! '''Package''' !! '''License'''<br />
|-<br />
| '''Linux''' || GPLv2 || '''grub''' || GPLv3 || '''busybox''' || GPLv2<br />
|-<br />
| '''Xfbdev''' || na || '''alsa-config''' || na || '''socat''' || na<br />
|-<br />
| '''nmap''' || na || '''harfbuzz''' || na || '''imlib2-bin''' || na<br />
|-<br />
| '''libXau''' || na || '''libXdmcp''' || na || '''libfontenc''' || na<br />
|-<br />
| '''libXt''' || na || '''libXext''' || na || '''libXrender''' || na<br />
|-<br />
| '''Xorg-fonts''' || na || '''Xprogs''' || na || '''fonts-mscore''' || na<br />
|-<br />
| '''imlib2''' || na || '''libXfont''' || na || '''libXi''' || na<br />
|-<br />
| '''libXmu''' || na || '''libXpm''' || na || '''libXrandr''' || na<br />
|-<br />
| '''libffi''' || na || '''libjpeg-turbo''' || na || '''libpng''' || na<br />
|-<br />
| '''libxcb''' || na || '''Xlibs''' || na || '''file''' || na<br />
|-<br />
| '''clapi''' || CPLv2 || '''web.de''' || CPLv2 || '''web.ui''' || CPLv2<br />
|-<br />
| '''FXwm''' || CPLv2 || &nbsp; || &nbsp; || &nbsp; || &nbsp;<br />
|}<br />
<br />
<br />
<br />
<br />
==Features==<br />
What makes a software title desired by the masses? Its features of course! While XiniX is still in its infancy, there are some features that we would like to point out and provide details on. While the below list may not include all the current features, and does list some that are in development, it does provide you with some indication of what can be done with the current version of our OS. Take the time to try it and you'll learn why we say "Achieve zen with XiniX!"<br />
<br />
* Better security<br />
:: There's a reason why we started the list with this item. Security has become much more of a concern today than years past, especially with the revelations of government and corporate spying along with those out there willing to cause harm using malware and ransomware. The more parts of a working system you have, the more opportunities there are to exploit bugs and other issues that can cause you problems. Compare our clean install size of the Vanilla Edition (VE) at less than <u>85MB</u> (under 64MB for EE), whereas Windows 10 is approximately <u>15,000MB</u> - 0.004 the size! As you can see, we offer quite a substantial reduction in software that can be exploited on your device to allow others to take advantage of you!<br />
<br />
* Best Price in its class<br />
:: Another top concern with households and businesses nowadays is how much does it cost me to stay up-to-date and productive? Once again, we shine where our competitors fail - releasing XiniX for the low, low cost of $FREE USD! Compare that to the 3 year Microsoft upgrade fee of $200-$300 to get the latest version of only Windows (not to mention Office and other software), $1200-$2000 to get the latest Apple device to use their software, and forget about Google's Android since it is only available for mobile devices (placing it in the category of Apple where you must buy a device to get it). You can use our XiniX OS on any laptop, desktop, server, and soon on mobile devices as well!<br />
<br />
* Can run from any storage media<br />
:: Since XiniX was designed to be lightweight and efficient from day 1, we can install it to a wide variety of media. This includes hard drives, optical discs, flash drives, SD cards, and more! What's more is that since the OS, by default, loads to RAM, once the OS has been loaded, you can even remove the bootable media itself!* In an upcoming release, the OS can even be loaded over the network via [https://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE].<br />
<br />
* Clean separation of OS from data and apps<br />
:: Since our OS works as a common firmware among devices and is designed to get you in an environment to perform your work, once it is loaded, it gets out of your way! From that point forward, the only interaction the user has will be with their data and applications on a local or network resource.<br />
<br />
* Clear separation of [https://en.wikipedia.org/wiki/Graphical_user_interface GUI] from engine<br />
:: Simply put, this will allow any user (GUI) to control any device (engine). So, for example, you may have a computer connected to your living room TV that can be controlled with your smart phone or tablet - natively! No additional software to install and configure! And while you can't currently install XiniX on a smart phone or tablet, you can still connect and control the XiniX-based device using the web browser already installed on either of those devices.<br />
<br />
* Easy built-in local and remote access<br />
:: Like many of the existing mainstream operating systems, XiniX can also handle local and remote access for users. Where we differ from the other OS's is the fact that this interaction only requires a web browser and not a separate piece of software or other elaborate infrastructure to route requests properly. Once two devices are paired, it doesn't matter the physical location of either!**<br />
<br />
* Useful for headed or headless devices<br />
:: Can you imagine Microsoft Windows running on a router? Neither can we! Our operating system on the other hand, it quite capable of accomplishing this goal. Due to its small size, and by utilizing the aforementioned benefit, you can control that device no matter its design or function.<br />
<br />
* Works with older hardware<br />
:: Since the firmware is small and efficient, it should work with the old computer you've stored in the closet over the last 10+ years. This can turn an old, obsolete computer into a working tool for young children, grandparents, or even act as a gateway into network resources in a variety of situations and environments.<br />
<br />
* No installation media<br />
:: Ever wanted to install that latest version of your favorite OS, but can't find a blank DVD or flash drive to create the installation media just to install on another media (e.g. hard drive) for actual use? Well, we've skipped that intermediary step and combined both into one. You can also not only obtain XiniX from our website, but you can create a copy from within the software itself!<br />
<br />
* First actual cloud-based OS<br />
:: You may be thinking "I can already use the cloud with a web browser and software like dropbox", but that doesn't quite define a cloud-based operating system. First, browsing the Internet with a web browser does not fall within this scope. And second, the use of 3rd party software means that the OS is incapable of cloud interaction natively. XiniX can seamlessly connect with services such as Amazon's AWS, web hosting servers, and other XiniX devices natively. Files can be copied back and forth just as you would if it were local, and more!<br />
<br />
* Unique p2p networking<br />
:: XiniX uses its own type of networking using a peer-2-peer method among devices. This means that setting up a network of devices involves nothing more than pairing the desired devices with one another in a simple process that even grandma could understand!<br />
<br />
* Perfect as IoT OS<br />
:: Since XiniX was designed to be as small as possible while allowing for a reasonable amount of functionality out-of-the-box, it is a perfect choice for those interested in creating a device considered as part of the "Internet of Things" (IoT). No only does it have a small footprint along with the ability to be used in devices with or without displays, but the software is constantly updated to prevent malicious activity from taking place by patching bugs and fixing points of exposure!<br />
<br />
<center><br />
:: * This can be achieved if working without a DATA partition or if the DATA partition is on other media or a network resource.<br />
:: ** This is currently in development, seamless LAN access is currently only available.<br />
</center><br />
<br />
<br />
{| class='wikitable' style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Vanilla Edition (VE) !! Embedded Edition (EE) !! TinyCore Linux<br />
|-<br />
| style='text-align: left' | Target Size || Under 64MB || Under 32MB || &nbsp;<br />
|-<br />
| style='text-align: left' | Current Size || 69MB (32bit)<br />76MB (64bit) || 37MB (32bit)<br />41MB (64bit) || Approx 16MB<br />
|-<br />
| style='text-align: left' | Built-in Capabilities || &nbsp; || &nbsp; || &nbsp;<br />
|-<br />
| style='text-align: left' |<br />
:: NTFS Capabilities<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: LAN, BT, Wifi<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Controlled via Device<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Designed for Cloud<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Access<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Interface<br />
|| GUI || GUI || None<br />
|-<br />
| style='text-align: left' |<br />
:: Local Interface<br />
|| GUI || CLI || GUI<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==History==<br />
Currently the operating system is still in beta, which means that it should not be put into production for businesses. However, the system is stable enough for personal and hobbyists usage. Up to version 2016.11.01.0, all distributed images were for the Intel/AMD 64bit processors and were the Vanilla Edition (VE). With the release of 2016.11.01.0, however, both 32bit and 64bit were available as well as being offered in two editions - Embedded Edition (EE) and Vanilla Edition (VE). The former edition is intended for hobbyists projects, routers, set top boxes, etc., whereas the latter is suitable for traditional computers such as laptops and desktops. As of version 2016.12.01.0, two different types of image files were released to expand the media that could be used in order to boot into XiniX. Previously only drive images were available for media such as hard drives, flash drives, SD cards, etc., but the December 2016 release also included optical images capable of booting off of optical media such as a CD or DVD.<br />
<br />
Some big changes came with version 2017.04.07.0 including a 'Welcome' screen that allows the user to tailor the OS to their basic needs by installing some commonly used software such as a PDF viewer and office suite. Also, this release enabled full usage on mobile smartphones (tablets were still untested) using the default theme as well as the integration of web.link (remote control) and web.sight (image viewer). The package manager (pax) received some new abilities as well including the parsing of conditional and specific version numbers of packages, and the ability to process file lists and directories as the source of packages instead of them being specifically stated. Lastly this version included an auto-login when no DATA exists along with several boot menu options to work with devices that did not work well with the default auto-configuration of the frame buffer with graphical user interfaces (e.g. VE).<br />
<br />
Our long term goals include the ARM CPU architecture in both 32bit and 64bit, with an anticipated release within Q2 2017. If our users have enough interest, we will also expand into MIPS and PowerPC.<br />
<br />
<br />
<br />
<br />
==Requirements==<br />
Due to the small footprint that makes up the XiniX operating system, not much hardware is required to run it. The below is the minimal values of both categories in order to run the OS.<br />
{| class="wikitable" style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Processor (CPU) !! Memory (RAM) !! Storage (HDD) !! Graphics Card !! Display !! Network !! Notes<br />
|-<br />
| style='text-align: left' | Required (EE) || Single-core 400MHz (est) || 48MB || 100MB || None || None || None<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Required (VE) || Single-core 800MHz (est) || 128MB || 100MB || VGA compatible || 800x600, 256 Colors || None<br />
| style='text-align: left' | Lowest tested is an Intel P3 1.13Ghz<br />
|-<br />
| style='text-align: left' | Recommended (EE) || Single-core 1GHz || 512GB || 8GB || VGA compatible || 800x600, 256 Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Recommended (VE) || Dual-core 1.8GHz || 2GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | This should be any desktop/laptop around 2006<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==Installation==<br />
There are currently three ways to obtain and install XiniX - [https://sourceforge.net/projects/xinix/?source=directory sourceforge.net], our [http://www.cliquesoft.org/#Projects website], or from within the OS interface itself. All methods will be covered below. While we are working to expand the installation wizard to reduce this complexity in Linux, Microsoft Windows users should have a fairly straight forward process. As a result, only someone with the proper knowledge should attempt these steps in a Linux environment as any wrong values can actually erase your hard drive!<br />
<br />
===<u>Download</u>===<br />
: No matter what operating system you are using, this part of the process is easy to complete. To begin, simply click on either of the first two links offered above. If you have selected sourceforge.net to obtain the image, you should be presented with the latest version to download by using the green 'Download' button located towards the top of the webpage. Keep in mind this will be for the 32bit iso version of the Vanilla Edition (VE) which is made for desktops and laptops using optical media such as CD's and DVD's. If you are interested in different CPU architectures, editions, or installation media, click the 'Files' option right below the header on that webpage and select which file you would like to download. Keep in mind that scrolling further down the page will present you with information to guide you in downloading the desired image.<br />
<br />
: If you choose to obtain XiniX from our website, you will need to scroll down to the bottom of the page to find it since the listing is in alphabetical order. Once you have found the XiniX operating system, you can read the description to determine which edition is right for you. Once you have that figured out, clicking the 'Download' listbox will expose all the available images for download. The layout for each entry is as follows:<br />
<br />
:: [State] [Edition] Target CPU Bit<br />
<br />
: You will need to find the list item belonging to your running OS, or the 'ISO' that can be used to create XiniX boot media regardless of the operating system you are currently using (e.g. Apple, Linux, Windows). Clicking that entry from the list will download the image to your computer.<br />
<br />
<br />
: '''Linux'''<br />
: As mentioned above, we are working to expand the included installation wizard for those not comfortable with the command prompt. However, if you have a basic knowledge of computers, the one included should be adequate enough to get XiniX installed on the desired media. If you are a grandparent or someone who just does not understand technology, check back frequently to see if the proper modifications have been made for you! For those of you still with us, once you have downloaded the desired image, there are a few steps required to get the OS on your desired media. For the sake of these examples, we will assume that the image currently resides in the '/tmp' directory with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.tgz.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have obtained a drive image (img), then one set of the below instructions need to be followed. These directions apply to all Linux distros and require you to first get to a command prompt to execute the following steps in order to install XiniX. You should not have to worry about obtaining additional software to accomplish this task as the programs used here are installed by default in all main stream Linux distros. In this example, we will be using the /dev/sdb device to write the image too. <u>WARNING:</u> these steps will ERASE all the data on that device before installing XiniX!!!<br />
<br />
:: <u>Using the Wizard</u><br />
:: As of version 2017.05.07.0, a wizard has been included with each distribution file for the Linux OS. So after going into the '/tmp' directory and uncompressing the downloaded file, you should see a script named 'install.sh' which will need to be started to guide you through the installation routine. Each step mentioned is shown below:<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ ./install.sh<br />
</pre><br />
<br />
:: From this point, you will be asked a few questions to find the image to burn along with the desired target media. After confirming the writing process, your XiniX boot media will be created for you.<br />
<br />
:: <u>Using raw commands</u><br />
:: Anyone that is using this method will most likely already know how to perform these steps, but they have been included for those seeking to gain more knowledge. It is important to note that if the media generated by performing the following commands has problems booting, you may need to wait 10 seconds or so after the final output below is shown to make sure all the buffers have been flushed to disk.<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ dd if=XiniX_VE_2016.12.01.0_32bit.img of=/dev/sdb conv=fdatasync<br />
</pre><br />
<br />
:: Make sure you use the trailing 'conv=' parameter so output buffers get flushed to the disk (see this [http://askubuntu.com/questions/318186/wait-for-dd-command-to-fully-write-to-the-disk post]). Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
1250000+0 records in<br />
1250000+0 records out<br />
640000000 bytes (640 MB) copied, 119.708 s, 5.3 MB/s<br />
</pre><br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (with is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ tar zxf /tmp/XiniX_VE_2016.12.01.0_32bit.iso.tgz<br />
$ cdrecord -v -dao -eject dev=/dev/dvd /tmp/XiniX_VE_2016.12.01.0_32bit.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
: '''Windows'''<br />
: For users of the Microsoft Windows operating systems, you will have a straight forward process to create bootable media no matter which type of image you have selected to use. Unlike Linux, however, there are no ways to create media from the command line, so these steps should be easy for any user in this environment. For the sake of these examples, we will assume that the image currently resides on your Desktop with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.zip.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have selected to use a drive image (img), first you will need to uncompress all of the .zip file contents to your Desktop. Once the decompression has completed, navigate inside the 'Windows Installer' folder and double click the file named 'setup' (it may have an optional '.exe' appended). Once the application has loaded, click the folder icon at the top and locate the XiniX image file (e.g. XiniX_VE_2016.12.01.0_32bit.img). Next select the media to install XiniX to from the following listbox to the right. Once you have those values in place, click the 'Write' button and wait for the installation to complete. If you would like to get and compare the MD5 hash's, simply check the 'MD5 Hash' checkbox. <u>WARNING:</u> XiniX can NOT be installed along side another OS at the moment and will erase the contents of the selected media!<br />
<br />
[[File:Windows_Installer.png|center|Create Image]]<br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
:: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
<br />
<br />
===<u>Interface</u>===<br />
: This method is the easiest way to create copies of the operating system and assumes that you are working with an already running installation of XiniX. Using the default theme, click the 'State' option from the navigation menu and locate the "i" button in the top left-hand corner of the screen. After clicking it, you will be presented with a popup that shows you the various media available and is divided into two sections - 'Internal Storage' and 'Attached Storage Devices'. Included on the screen is some additional information that should help you select which section to use when determining your target. Now select the media to install on along with the CPU architecture (bit) of the target device. If the latter information is unknown, you can use the 32bit as a failsafe option. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:XiniX.png|Create Image<br />
File:XiniX_create.png|Configure<br />
</gallery><br />
<br />
: We will later expand the options to allow for the installation of the different editions regardless of the one currently being used, but at the present the install screen will only produce another copy of what is running. So for example, if you're using the Vanilla Edition (VE), then this screen will only create another copy of VE. EE will produce another EE, and so forth.<br />
<br />
<br />
No matter what method you had to use above, simply reboot your device using the media that you just installed XiniX to and enjoy your adventure!<br />
<br />
<br />
<br />
<br />
==Booting==<br />
Unless optical media was used as the source to boot from, the list of options that are available using the boot menu will not be accessible without invoking it. To expose this list, simply press the F8 key repeatedly once the XiniX graphic is shown during the boot cycle. If successful, then the list of options below should be shown. Of course, if the two second window for accessing it has passed during the boot process, the device will need to be rebooted in order to attempt this task once again. And although the list has several many options, some of which may not be easy to figure out at first glance, each selection will be discussed in more depth below.<br />
<br />
: '''Start XiniX'''<br />
:: As the caption of the first option eludes to, selecting this option will start the operating system as it normally would if the boot menu was never accessed. Optical boot media users will always be presented with this list, so this will most likely be your pick. However, if the menu was accessed using any other boot media, then this is most likely the option that will not be desired.<br />
<br />
: '''Low Resolution'''<br />
:: Some devices will not work with the auto-configuration of the graphical environment (frame buffer) and will just stay stuck on the XiniX boot graphic. In those instances, this menu option can be used to get into a working system so that the proper driver installations can take place so a normal bootup can occur. If additional problems persist, the 'Safe Mode' option may need to be used instead.<br />
::: NOTE: this is only available with VE<br />
<br />
: '''Install XiniX'''<br />
:: Although XiniX does not have an install process like traditional operating systems such as Microsoft Windows, selecting this option basically creates a DATA partition allowing a user to save their data instead of using the boot media anonymously – similar to that of a live CD. For additional information on this topic, please see the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Composition Composition]]' section below and the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Installation Installation]]' section above.<br />
<br />
: '''Install Drivers'''<br />
:: Upon having issues with a non-working or sluggish graphical environment when using a device, this option can be selected to help resolve problems by installing the more powerful display server known as [https://en.wikipedia.org/wiki/X.Org_Server Xorg] along with the desired graphics driver.<br />
::: NOTE: this is only available with VE<br />
<br />
<br />
: '''Anonymous Mode'''<br />
:: Typically when XiniX starts, it searches for a DATA partition and automatically mounts it so that the user data can be saved. However, there may be times when that information may not be needed or wanted. This mode will allow XiniX to be used anonymously so that data and software is not saved during that session causing the environment to act like a 'Live CD' was booted - even if a DATA partition exists!<br />
<br />
: '''Compatibility Mode'''<br />
:: As hardware manufacturers sometimes rush their equipment to market, bugs can be present in their firmware causing issues with booting some operating systems. Additionally some older hardware might have issues with some newer technologies found in the Linux kernel. Either way, this option can help to get into a working environment by skipping some features (issuing 'noapic noacpi irqpoll' calls to the kernel during bootup). Like the 'Conservative Mode' below, this item will also load software using symlinks instead of in the RAM.<br />
<br />
: '''Conservative Mode'''<br />
:: Since XiniX was designed to work with modern and aging hardware, a boot option to use with the latter was included. The only difference between this option and the default 'Start XiniX' is that instead of loading all the software to the RAM, the software is symlinked against the storage device - saving memory resources at the expense of being slightly slower in operation.<br />
<br />
: '''Debug Mode'''<br />
:: Unlike the other modes found in this section of the boot menu list, this one works exactly like the 'Start XiniX' option but outputs much more information in the /var/log directory associated with the boot process to help systems administrators and developers find and fix problems.<br />
<br />
: '''Emergency Console'''<br />
:: Although the XiniX operating system has been designed to make using it as easy as possible, there will inevitably be times where some adjustments don't work as desired. In those few instances, systems administrators can easily get to a console prompt to start the process of correcting those issues. Similar to the warning provided by using the 'Restore Console', this menu item should avoided without detailed knowledge of the software and command prompt.<br />
<br />
: '''Restore Console'''<br />
:: There are times when installing or updating software can lead to undesired effects - especially after a reboot has occurred. So in the event that a device will no longer boot due to suspected software issues, select this item to get into a console where restores can be made from prior backups. Please note that this should be used with caution!<br />
::: NOTE: this is not a boot option before 2017.04.07.0<br />
<br />
: '''Safe Mode'''<br />
:: Building off of the 'Compatibility Mode' boot option, this one also does not process any personal boot scripts in the event that one of them may be causing problems during the boot process.<br />
<br />
<br />
: '''From Harddrive'''<br />
:: Sometimes alternative boot media is accidentally left in the computer after it has been powered down causing it to be booted to upon a subsequent bootup. No fear! In instances like that, this option can be used to automatically switch back to the internal hard drive to boot from without having to power cycle the device again.<br />
<br />
<br />
: '''Test Memory'''<br />
:: When a device does not seem to be working properly and no other option can be identified as the culprit, testing the RAM for errors is a good place to check. Using this item will load a small application that will test the entire set of memory modules installed in the device as well as display a plethora of information about them. And although it may not be displayed on the screen, continuing to press the down arrow key on the keyboard will eventually cycle to it in the list.<br />
<br />
<br />
<br />
<br />
==Usage==<br />
<br />
===Errors===<br />
: Although the default configuration should broadly work with most devices, in some instances, depending on the hardware, you may find that the graphical interface fails to work properly. Until a better solution can be found, a separate boot option has been included to help install additional display drivers so that you will be able to get into the operating system. If you fall under this condition, simply reboot your device and as soon as you see the 'XiniX' boot graphic, start repeatedly pressing the 'F8' key to show the boot menu (unless you're booting from optical media which always shows the menu). Select the option labeled "Install Drivers" and after the boot process completes, simply select the manufacturer of your graphics card and the proper drivers should be installed. After the device reboots, you should have a properly working graphical environment.<br />
<br />
: Please be aware that you must have installed XiniX before proceeding with these steps since we need a DATA partition to store saved data and information. If this has not taken place yet, select 'Install XiniX' option from the boot menu before proceeding with the steps outlined above.<br />
<br />
===GUI===<br />
: Covering the user interface is outside the scope of this document, but [http://wiki.cliquesoft.org/index.php?title=web.de click here] to be redirected to the proper location that will explain the interface in detail. However, we do want to mention that a XiniX device can be controlled locally ([https://en.wikipedia.org/wiki/X_Window_System X11]) and/or remotely ([https://en.wikipedia.org/wiki/Web_browser browser]). To change this behavior navigate to the 'Access > Device > Settings > web.de' popup and change the 'Access' values to your desired configuration and click the 'Ok' button. More information about the GUI and access to it can be found in the first link above.<br />
<br />
===Administration===<br />
: The first account created during the installation routines will be granted an additional privilege over all the other accounts. By default the 'root' account (aka administrator in Linux) can not be used to log into any device for security reasons. This also means that the root account can not be switched to in order to perform administrative tasks due to not having a password. As a way to enable the usage of the root account, the first created user account will receive the ability to switch to the root account in the event that you require that type of access. In order to make this switch, perform the following steps at a command prompt with the afore mentioned account:<br />
<br />
<pre style='margin-left: 22px'><br />
$ sudo su root<br />
</pre><br />
<br />
: NOTE: Performing the above steps should be rare, if at all. If you find yourself using the root account regularly, you should instead adjust the /etc/sudoers file to grant the appropriate privileges as a regular user since using the root account presents additional security risks!<br />
<br />
===Login===<br />
: Unlike other Linux distros, the login credentials are specific to this operating system. While XiniX still uses the default administrators user account in Linux known as 'root', the password is not anything that is typically used to gain access. Instead, you must use 'now has zen' as the password in order to login successfully. It is important to note that this only applies when booting off of optical media such as CD's or DVD's, and if the OS has not been 'installed'. Once a DATA partition has been created post 'installation', the 'root' account can no longer be used to login (for security), but the credentials of the other accounts will be saved for future logins.<br />
<br />
: As of version 2017.04.07.0, an auto-login is engaged when no DATA partition exists. However, if you need to get into certain areas such as 'Access > Device', then you will still need to use the password mentioned above.<br />
<br />
===Composition===<br />
: Since XiniX is unlike its competition and is in a class of its own, it is important for the user to have a brief overview of the operating system itself. As eluded to in the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Features Features]]' section above, there is not two types of media (installation and runtime) like there is in the world of Microsoft. Meaning that you don't have to create/obtain an installation DVD (installation media) to install to a hard drive (runtime media) before being able to use the operating system - they are one-in-the-same! So by having any XiniX boot media (installation and runtime), you can not only fully use the OS, but you could in turn create other boot media such as CDs, flash drives, and hard drives.<br />
<br />
: Now that you understand XiniX's boot media, known as 'FIRMWARE', we would like to discuss the optional second part of the OS. While the user will have no restrictions using only the 'FIRMWARE', this will simply create an (anonymous) 'Live CD' environment so that you can play or test the software without making any changes to your existing setup. So if you install applications and write a document or two, none of that information will be saved after a reboot or shutdown of the device. This is where the 'DATA' partition comes in. As indicated by the name, this storage area will contain all your installed applications and saved data such as settings, documents, favorites, music, and movies. Most users will opt to have both a FIRMWARE (operating system) and DATA (user data) for a complete solution, however, the separation was made for flexibility. One last point to make is that while both can reside on the same media (e.g. hard drive), they do <u>NOT</u> have to be. So for example, you can boot off of a FIRMWARE DVD and have DATA as a flash drive!<br />
<br />
<br />
<br />
<br />
<br />
==Editions==<br />
XiniX will ultimately be distributed in multiple editions to best serve its user base. Each will be covered below:<br />
<br />
* '''Vanilla (VE)''' As the name suggests, this edition qualifies as a clean, small, and efficient distribution of the operating system meant for personal devices such as desktops and laptops with goals to later expand into mobile devices. There are no applications bundled aside from the ones necessary for system manipulation found under the 'Access > Device' screen. This not only reduces security concerns by not having unused or unwanted software installed with potential exploits, but also allows the user to personalize their device to their individual liking. By default, it is shipped with a lightweight graphical system (framebuffer) for 2D rendering, but if more powerful acceleration is required (Xorg), it can be installed using just a few clicks of the mouse.<br />
<br />
* '''Client (CE)''' Building off of the Vanilla Edition foundation, this distribution targets the SOHO and medium-sized business market. Like its base, it maintains a small, efficient footprint, but incorporates additional user account properties and authentication mechanisms (via [https://en.wikipedia.org/wiki/OpenLDAP LDAP]) for robustness. Since this edition is meant for use on higher-end hardware, the more powerful graphical system (Xorg) is installed by default. Also offered in the version will be the ability to use a traditional server and client network model with its own set of unique properties to help businesses in several ways.<br />
<br />
* '''Server (SE)''' Servers have stringent requirements, one of them is that is must remain up and running as long as possible. Since XiniX can expose its [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] (GUI) locally or remotely, as mentioned in the 'Features' section of this document, this edition, by default, provides that capability through the web browser of any authorized device and with local access being in the form of the [https://en.wikipedia.org/wiki/Command-line_interface command line interface] (CLI). Employees should never use a server as a work station, so there is no need to eat up resources on powering something that will never be used. This reduces overhead (and security risks) for the server so that those CPU cycles can be spent handling requests for clients - the main job of the server. Of course, a local GUI can be installed if one is desired.<br />
<br />
* '''Embedded (EE)''' Like the Server Edition, this version comes without a local GUI by default and will target embedded devices such as hobbyist projects, [https://en.wikipedia.org/wiki/Router_%28computing%29 routers], and [https://en.wikipedia.org/wiki/Set-top_box set-top boxes]. Although the default option is to install a remotely accessible GUI, a locally available GUI can be installed as well (up to Xorg), should the device require it. XiniX should maintain the smallest footprint possible with the OEM adding only what is necessary for their device to function as designed.<br />
<br />
<br />
<br />
<br />
==Comparison==<br />
Competition is always good for the market place, especially when there are only a few power players in the industry. Currently there are only three large operating system vendors - Microsoft, Apple, and Google. The make matters even worse, one of them dominates on mobile and another one dominates the desktop market. As a new competitor, XiniX can presently only compete in the desktop market so that will be reflected in the table below. Also, the below information will be based on the 64-bit, 'Home' or personal-use edition of each respective OS (Vanilla Edition for XiniX).<br />
<br />
{| class="wikitable"<br />
|-<br />
! &nbsp; !! Apple OS X !! Google Android 5 !! Microsoft Windows 10 !! Canonical Ubuntu 15.04 !! Cliquesoft XiniX Beta !! Description<br />
|-<br />
| Storage (HDD) || 9GB || Unknown || 20GB || 5GB || 100MB || Minimum storage space to install OS<br />
|-<br />
| Memory (RAM) || 2GB || Unknown || 2GB || 384MB || 128MB (est) || Required memory amount to run OS<br />
|-<br />
| Processor (CPU) || 1GHz || Unknown || 1GHz || 700MHz || 800MHz (est) || Required CPU speed to run OS<br />
|-<br />
| Networking (Style) || Server/Client || None || Server/Client || Server/Client || p2p & Server/Client || How the network style is arranged<br />
|-<br />
| Networking (Type) || LAN || None || LAN || LAN || LAN & Cloud || The type of network capability built into OS<br />
|-<br />
| Users || Multi || Single || Multi || Multi || Single or Multi || Defines individual or group usage of device<br />
|-<br />
| Cost || Est 1500* || Est $500* || Est $150* (home) || Free || Free || Monetary cost of the software<br />
|-<br />
| Applications || App Store || Google Play || Unknown || Synaptic || Software Shoppe || Source of installable software catalog<br />
|-<br />
| Printing || CUPS || None || Print Mgr || CUPS || CUPS || Locally attached or wifi printer capabilities<br />
|-<br />
| Media Lookup || No || No || No || No || Yes** || Obtains online information for personal movies<br />
|-<br />
| Bloated || Yes || Yes || Yes || Yes || No || Excessive pre-loaded software<br />
|-<br />
| Privacy (online) || [http://www.digitaltrends.com/mobile/apple-icloud-hack-china/ No]*** || [http://adwords.blogspot.com/2015/09/Google-brings-you-closer-to-your-customers.html No]**** || [http://thenextweb.com/microsoft/2015/07/29/wind-nos/ No], [http://www.forbes.com/sites/gordonkelly/2016/02/09/windows-10-data-tracking-spying-levels/?utm_campaign=yahootix&partner=yahootix#89701e97aa99 No] ***** || Yes || Yes || Is user privacy retained<br />
|-<br />
| Updates || Non-forced || Non-forced || [http://www.zdnet.com/article/windows-10-upgrade-nags-become-more-aggressive-offer-no-opt-out/#ftag=YHFb1d24ec?ref=yfp Forced] || Non-forced || Non-forced || User control of updates<br />
|-<br />
| Degradation || Yes || Yes || Yes || Yes || No****** || The performance degradation overtime<br />
|-<br />
|}<br />
<br />
: * Cost is based on the purchase of the equipment required to run the OS<br />
: ** The filename must be in a specific format - see the wiki for details<br />
: *** Based on their centralization of (more easily hackable) customers data versus our decentralized approach<br />
: **** Based on the well know erosion of Google's privacy policy with the users of their products<br />
: ***** Based on the revelations of excessive, unstoppable communication with Microsoft's Windows 10<br />
: ****** Based on how the OS is loaded (stages), where it is loaded (RAM), and by not having a 'registry'</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=XiniX&diff=5813XiniX2017-05-10T13:01:47Z<p>Digitalpipe: /* Comparison */</p>
<hr />
<div>The distro that's poised to usher in the year of the Linux desktop, XiniX has been released as a beta! Hitting the market just weeks after the two power houses release their latest versions, Microsoft Windows 10 on July 29 2015 and Apple iOS on September 16 2015, XiniX, the little-known underdog, has entered the market! So what is XiniX (pronounced 'zen-ics')? First, XiniX is an [https://en.wikipedia.org/wiki/Operating_system operating system] (OS) just like [http://www.microsoft.com Microsoft Windows] and [http://www.apple.com Apple's iOS], but is based on Linux akin to [http://www.google.com Google's Android]. XiniX represents the world's next generation of OS and is currently available for use on conventional computers such as desktop or laptops, with mobile platforms coming in the future. Built to act more as a firmware among devices, one of its primary goals is to remain small and efficient - just enough to get the device into an environment where the (users') work takes center stage!<br />
<br />
Unlike any of the companies mentioned above, our OS is not based on fixed releases (e.g. Windows 8, Windows 10), but instead, is distributed as a continuing (or rolling) release as updates are made available. What's also different, is that our OS comes with just enough software to get you basic device operations and then lets you take over and personalize the device by installing any of the software or services located in our 'Software Shoppe'. In the sections that follow, we will not only cover some of the unique aspects of the amazing operating system, but we will also compare it with others to help users better understand if they would like to make the switch!<br />
<br />
<br />
<br />
<br />
==License==<br />
There are various projects that make up the XiniX core operating system. Each will be listed below with their respective license. More information about the CPLv2 licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
{| class='wikitable' style='margin: auto'<br />
! '''Package''' !! '''License''' !! '''Package''' !! '''License''' !! '''Package''' !! '''License'''<br />
|-<br />
| '''Linux''' || GPLv2 || '''grub''' || GPLv3 || '''busybox''' || GPLv2<br />
|-<br />
| '''Xfbdev''' || na || '''alsa-config''' || na || '''socat''' || na<br />
|-<br />
| '''nmap''' || na || '''harfbuzz''' || na || '''imlib2-bin''' || na<br />
|-<br />
| '''libXau''' || na || '''libXdmcp''' || na || '''libfontenc''' || na<br />
|-<br />
| '''libXt''' || na || '''libXext''' || na || '''libXrender''' || na<br />
|-<br />
| '''Xorg-fonts''' || na || '''Xprogs''' || na || '''fonts-mscore''' || na<br />
|-<br />
| '''imlib2''' || na || '''libXfont''' || na || '''libXi''' || na<br />
|-<br />
| '''libXmu''' || na || '''libXpm''' || na || '''libXrandr''' || na<br />
|-<br />
| '''libffi''' || na || '''libjpeg-turbo''' || na || '''libpng''' || na<br />
|-<br />
| '''libxcb''' || na || '''Xlibs''' || na || '''file''' || na<br />
|-<br />
| '''clapi''' || CPLv2 || '''web.de''' || CPLv2 || '''web.ui''' || CPLv2<br />
|-<br />
| '''FXwm''' || CPLv2 || &nbsp; || &nbsp; || &nbsp; || &nbsp;<br />
|}<br />
<br />
<br />
<br />
<br />
==Features==<br />
What makes a software title desired by the masses? Its features of course! While XiniX is still in its infancy, there are some features that we would like to point out and provide details on. While the below list may not include all the current features, and does list some that are in development, it does provide you with some indication of what can be done with the current version of our OS. Take the time to try it and you'll learn why we say "Achieve zen with XiniX!"<br />
<br />
* Better security<br />
:: There's a reason why we started the list with this item. Security has become much more of a concern today than years past, especially with the revelations of government and corporate spying along with those out there willing to cause harm using malware and ransomware. The more parts of a working system you have, the more opportunities there are to exploit bugs and other issues that can cause you problems. Compare our clean install size of the Vanilla Edition (VE) at less than <u>85MB</u> (under 64MB for EE), whereas Windows 10 is approximately <u>15,000MB</u> - 0.004 the size! As you can see, we offer quite a substantial reduction in software that can be exploited on your device to allow others to take advantage of you!<br />
<br />
* Best Price in its class<br />
:: Another top concern with households and businesses nowadays is how much does it cost me to stay up-to-date and productive? Once again, we shine where our competitors fail - releasing XiniX for the low, low cost of $FREE USD! Compare that to the 3 year Microsoft upgrade fee of $200-$300 to get the latest version of only Windows (not to mention Office and other software), $1200-$2000 to get the latest Apple device to use their software, and forget about Google's Android since it is only available for mobile devices (placing it in the category of Apple where you must buy a device to get it). You can use our XiniX OS on any laptop, desktop, server, and soon on mobile devices as well!<br />
<br />
* Can run from any storage media<br />
:: Since XiniX was designed to be lightweight and efficient from day 1, we can install it to a wide variety of media. This includes hard drives, optical discs, flash drives, SD cards, and more! What's more is that since the OS, by default, loads to RAM, once the OS has been loaded, you can even remove the bootable media itself!* In an upcoming release, the OS can even be loaded over the network via [https://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE].<br />
<br />
* Clean separation of OS from data and apps<br />
:: Since our OS works as a common firmware among devices and is designed to get you in an environment to perform your work, once it is loaded, it gets out of your way! From that point forward, the only interaction the user has will be with their data and applications on a local or network resource.<br />
<br />
* Clear separation of [https://en.wikipedia.org/wiki/Graphical_user_interface GUI] from engine<br />
:: Simply put, this will allow any user (GUI) to control any device (engine). So, for example, you may have a computer connected to your living room TV that can be controlled with your smart phone or tablet - natively! No additional software to install and configure! And while you can't currently install XiniX on a smart phone or tablet, you can still connect and control the XiniX-based device using the web browser already installed on either of those devices.<br />
<br />
* Easy built-in local and remote access<br />
:: Like many of the existing mainstream operating systems, XiniX can also handle local and remote access for users. Where we differ from the other OS's is the fact that this interaction only requires a web browser and not a separate piece of software or other elaborate infrastructure to route requests properly. Once two devices are paired, it doesn't matter the physical location of either!**<br />
<br />
* Useful for headed or headless devices<br />
:: Can you imagine Microsoft Windows running on a router? Neither can we! Our operating system on the other hand, it quite capable of accomplishing this goal. Due to its small size, and by utilizing the aforementioned benefit, you can control that device no matter its design or function.<br />
<br />
* Works with older hardware<br />
:: Since the firmware is small and efficient, it should work with the old computer you've stored in the closet over the last 10+ years. This can turn an old, obsolete computer into a working tool for young children, grandparents, or even act as a gateway into network resources in a variety of situations and environments.<br />
<br />
* No installation media<br />
:: Ever wanted to install that latest version of your favorite OS, but can't find a blank DVD or flash drive to create the installation media just to install on another media (e.g. hard drive) for actual use? Well, we've skipped that intermediary step and combined both into one. You can also not only obtain XiniX from our website, but you can create a copy from within the software itself!<br />
<br />
* First actual cloud-based OS<br />
:: You may be thinking "I can already use the cloud with a web browser and software like dropbox", but that doesn't quite define a cloud-based operating system. First, browsing the Internet with a web browser does not fall within this scope. And second, the use of 3rd party software means that the OS is incapable of cloud interaction natively. XiniX can seamlessly connect with services such as Amazon's AWS, web hosting servers, and other XiniX devices natively. Files can be copied back and forth just as you would if it were local, and more!<br />
<br />
* Unique p2p networking<br />
:: XiniX uses its own type of networking using a peer-2-peer method among devices. This means that setting up a network of devices involves nothing more than pairing the desired devices with one another in a simple process that even grandma could understand!<br />
<br />
* Perfect as IoT OS<br />
:: Since XiniX was designed to be as small as possible while allowing for a reasonable amount of functionality out-of-the-box, it is a perfect choice for those interested in creating a device considered as part of the "Internet of Things" (IoT). No only does it have a small footprint along with the ability to be used in devices with or without displays, but the software is constantly updated to prevent malicious activity from taking place by patching bugs and fixing points of exposure!<br />
<br />
<center><br />
:: * This can be achieved if working without a DATA partition or if the DATA partition is on other media or a network resource.<br />
:: ** This is currently in development, seamless LAN access is currently only available.<br />
</center><br />
<br />
<br />
{| class='wikitable' style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Vanilla Edition (VE) !! Embedded Edition (EE) !! TinyCore Linux<br />
|-<br />
| style='text-align: left' | Target Size || Under 64MB || Under 32MB || &nbsp;<br />
|-<br />
| style='text-align: left' | Current Size || 69MB (32bit)<br />76MB (64bit) || 37MB (32bit)<br />41MB (64bit) || Approx 16MB<br />
|-<br />
| style='text-align: left' | Built-in Capabilities || &nbsp; || &nbsp; || &nbsp;<br />
|-<br />
| style='text-align: left' |<br />
:: NTFS Capabilities<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: LAN, BT, Wifi<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Controlled via Device<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Designed for Cloud<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Access<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Interface<br />
|| GUI || GUI || None<br />
|-<br />
| style='text-align: left' |<br />
:: Local Interface<br />
|| GUI || CLI || GUI<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==History==<br />
Currently the operating system is still in beta, which means that it should not be put into production for businesses. However, the system is stable enough for personal and hobbyists usage. Up to version 2016.11.01.0, all distributed images were for the Intel/AMD 64bit processors and were the Vanilla Edition (VE). With the release of 2016.11.01.0, however, both 32bit and 64bit were available as well as being offered in two editions - Embedded Edition (EE) and Vanilla Edition (VE). The former edition is intended for hobbyists projects, routers, set top boxes, etc., whereas the latter is suitable for traditional computers such as laptops and desktops. As of version 2016.12.01.0, two different types of image files were released to expand the media that could be used in order to boot into XiniX. Previously only drive images were available for media such as hard drives, flash drives, SD cards, etc., but the December 2016 release also included optical images capable of booting off of optical media such as a CD or DVD.<br />
<br />
Some big changes came with version 2017.04.07.0 including a 'Welcome' screen that allows the user to tailor the OS to their basic needs by installing some commonly used software such as a PDF viewer and office suite. Also, this release enabled full usage on mobile smartphones (tablets were still untested) using the default theme as well as the integration of web.link (remote control) and web.sight (image viewer). The package manager (pax) received some new abilities as well including the parsing of conditional and specific version numbers of packages, and the ability to process file lists and directories as the source of packages instead of them being specifically stated. Lastly this version included an auto-login when no DATA exists along with several boot menu options to work with devices that did not work well with the default auto-configuration of the frame buffer with graphical user interfaces (e.g. VE).<br />
<br />
Our long term goals include the ARM CPU architecture in both 32bit and 64bit, with an anticipated release within Q2 2017. If our users have enough interest, we will also expand into MIPS and PowerPC.<br />
<br />
<br />
<br />
<br />
==Requirements==<br />
Due to the small footprint that makes up the XiniX operating system, not much hardware is required to run it. The below is the minimal values of both categories in order to run the OS.<br />
{| class="wikitable" style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Processor (CPU) !! Memory (RAM) !! Storage (HDD) !! Graphics Card !! Display !! Network !! Notes<br />
|-<br />
| style='text-align: left' | Required (EE) || Single-core 400MHz (est) || 48MB || 100MB || None || None || None<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Required (VE) || Single-core 800MHz (est) || 128MB || 100MB || VGA compatible || 800x600, 256 Colors || None<br />
| style='text-align: left' | Lowest tested is an Intel P3 1.13Ghz<br />
|-<br />
| style='text-align: left' | Recommended (EE) || Single-core 1GHz || 512GB || 8GB || VGA compatible || 800x600, 256 Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Recommended (VE) || Dual-core 1.8GHz || 2GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | This should be any desktop/laptop around 2006<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==Installation==<br />
There are currently three ways to obtain and install XiniX - [https://sourceforge.net/projects/xinix/?source=directory sourceforge.net], our [http://www.cliquesoft.org/#Projects website], or from within the OS interface itself. All methods will be covered below. While we are working to expand the installation wizard to reduce this complexity in Linux, Microsoft Windows users should have a fairly straight forward process. As a result, only someone with the proper knowledge should attempt these steps in a Linux environment as any wrong values can actually erase your hard drive!<br />
<br />
===<u>Download</u>===<br />
: No matter what operating system you are using, this part of the process is easy to complete. To begin, simply click on either of the first two links offered above. If you have selected sourceforge.net to obtain the image, you should be presented with the latest version to download by using the green 'Download' button located towards the top of the webpage. Keep in mind this will be for the 32bit iso version of the Vanilla Edition (VE) which is made for desktops and laptops using optical media such as CD's and DVD's. If you are interested in different CPU architectures, editions, or installation media, click the 'Files' option right below the header on that webpage and select which file you would like to download. Keep in mind that scrolling further down the page will present you with information to guide you in downloading the desired image.<br />
<br />
: If you choose to obtain XiniX from our website, you will need to scroll down to the bottom of the page to find it since the listing is in alphabetical order. Once you have found the XiniX operating system, you can read the description to determine which edition is right for you. Once you have that figured out, clicking the 'Download' listbox will expose all the available images for download. The layout for each entry is as follows:<br />
<br />
:: [State] [Edition] Target CPU Bit<br />
<br />
: You will need to find the list item belonging to your running OS, or the 'ISO' that can be used to create XiniX boot media regardless of the operating system you are currently using (e.g. Apple, Linux, Windows). Clicking that entry from the list will download the image to your computer.<br />
<br />
<br />
: '''Linux'''<br />
: As mentioned above, we are working to expand the included installation wizard for those not comfortable with the command prompt. However, if you have a basic knowledge of computers, the one included should be adequate enough to get XiniX installed on the desired media. If you are a grandparent or someone who just does not understand technology, check back frequently to see if the proper modifications have been made for you! For those of you still with us, once you have downloaded the desired image, there are a few steps required to get the OS on your desired media. For the sake of these examples, we will assume that the image currently resides in the '/tmp' directory with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.tgz.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have obtained a drive image (img), then one set of the below instructions need to be followed. These directions apply to all Linux distros and require you to first get to a command prompt to execute the following steps in order to install XiniX. You should not have to worry about obtaining additional software to accomplish this task as the programs used here are installed by default in all main stream Linux distros. In this example, we will be using the /dev/sdb device to write the image too. <u>WARNING:</u> these steps will ERASE all the data on that device before installing XiniX!!!<br />
<br />
:: <u>Using the Wizard</u><br />
:: As of version 2017.05.07.0, a wizard has been included with each distribution file for the Linux OS. So after going into the '/tmp' directory and uncompressing the downloaded file, you should see a script named 'install.sh' which will need to be started to guide you through the installation routine. Each step mentioned is shown below:<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ ./install.sh<br />
</pre><br />
<br />
:: From this point, you will be asked a few questions to find the image to burn along with the desired target media. After confirming the writing process, your XiniX boot media will be created for you.<br />
<br />
:: <u>Using raw commands</u><br />
:: Anyone that is using this method will most likely already know how to perform these steps, but they have been included for those seeking to gain more knowledge. It is important to note that if the media generated by performing the following commands has problems booting, you may need to wait 10 seconds or so after the final output below is shown to make sure all the buffers have been flushed to disk.<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ dd if=XiniX_VE_2016.12.01.0_32bit.img of=/dev/sdb conv=fdatasync<br />
</pre><br />
<br />
:: Make sure you use the trailing 'conv=' parameter so output buffers get flushed to the disk (see this [http://askubuntu.com/questions/318186/wait-for-dd-command-to-fully-write-to-the-disk post]). Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
1250000+0 records in<br />
1250000+0 records out<br />
640000000 bytes (640 MB) copied, 119.708 s, 5.3 MB/s<br />
</pre><br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (with is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ tar zxf /tmp/XiniX_VE_2016.12.01.0_32bit.iso.tgz<br />
$ cdrecord -v -dao -eject dev=/dev/dvd /tmp/XiniX_VE_2016.12.01.0_32bit.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
: '''Windows'''<br />
: For users of the Microsoft Windows operating systems, you will have a straight forward process to create bootable media no matter which type of image you have selected to use. Unlike Linux, however, there are no ways to create media from the command line, so these steps should be easy for any user in this environment. For the sake of these examples, we will assume that the image currently resides on your Desktop with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.zip.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have selected to use a drive image (img), first you will need to uncompress all of the .zip file contents to your Desktop. Once the decompression has completed, navigate inside the 'Windows Installer' folder and double click the file named 'setup' (it may have an optional '.exe' appended). Once the application has loaded, click the folder icon at the top and locate the XiniX image file (e.g. XiniX_VE_2016.12.01.0_32bit.img). Next select the media to install XiniX to from the following listbox to the right. Once you have those values in place, click the 'Write' button and wait for the installation to complete. If you would like to get and compare the MD5 hash's, simply check the 'MD5 Hash' checkbox. <u>WARNING:</u> XiniX can NOT be installed along side another OS at the moment and will erase the contents of the selected media!<br />
<br />
[[File:Windows_Installer.png|center|Create Image]]<br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
:: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
<br />
<br />
===<u>Interface</u>===<br />
: This method is the easiest way to create copies of the operating system and assumes that you are working with an already running installation of XiniX. Using the default theme, click the 'State' option from the navigation menu and locate the "i" button in the top left-hand corner of the screen. After clicking it, you will be presented with a popup that shows you the various media available and is divided into two sections - 'Internal Storage' and 'Attached Storage Devices'. Included on the screen is some additional information that should help you select which section to use when determining your target. Now select the media to install on along with the CPU architecture (bit) of the target device. If the latter information is unknown, you can use the 32bit as a failsafe option. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:XiniX.png|Create Image<br />
File:XiniX_create.png|Configure<br />
</gallery><br />
<br />
: We will later expand the options to allow for the installation of the different editions regardless of the one currently being used, but at the present the install screen will only produce another copy of what is running. So for example, if you're using the Vanilla Edition (VE), then this screen will only create another copy of VE. EE will produce another EE, and so forth.<br />
<br />
<br />
No matter what method you had to use above, simply reboot your device using the media that you just installed XiniX to and enjoy your adventure!<br />
<br />
<br />
<br />
<br />
==Booting==<br />
Unless optical media was used as the source to boot from, the list of options that are available using the boot menu will not be accessible without invoking it. To expose this list, simply press the F8 key repeatedly once the XiniX graphic is shown during the boot cycle. If successful, then the list of options below should be shown. Of course, if the two second window for accessing it has passed during the boot process, the device will need to be rebooted in order to attempt this task once again. And although the list has several many options, some of which may not be easy to figure out at first glance, each selection will be discussed in more depth below.<br />
<br />
: '''Start XiniX'''<br />
:: As the caption of the first option eludes to, selecting this option will start the operating system as it normally would if the boot menu was never accessed. Optical boot media users will always be presented with this list, so this will most likely be your pick. However, if the menu was accessed using any other boot media, then this is most likely the option that will not be desired.<br />
<br />
: '''Low Resolution'''<br />
:: Some devices will not work with the auto-configuration of the graphical environment (frame buffer) and will just stay stuck on the XiniX boot graphic. In those instances, this menu option can be used to get into a working system so that the proper driver installations can take place so a normal bootup can occur. If additional problems persist, the 'Safe Mode' option may need to be used instead.<br />
::: NOTE: this is only available with VE<br />
<br />
: '''Install XiniX'''<br />
:: Although XiniX does not have an install process like traditional operating systems such as Microsoft Windows, selecting this option basically creates a DATA partition allowing a user to save their data instead of using the boot media anonymously – similar to that of a live CD. For additional information on this topic, please see the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Composition Composition]]' section below and the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Installation Installation]]' section above.<br />
<br />
: '''Install Drivers'''<br />
:: Upon having issues with a non-working or sluggish graphical environment when using a device, this option can be selected to help resolve problems by installing the more powerful display server known as [https://en.wikipedia.org/wiki/X.Org_Server Xorg] along with the desired graphics driver.<br />
::: NOTE: this is only available with VE<br />
<br />
<br />
: '''Anonymous Mode'''<br />
:: Typically when XiniX starts, it searches for a DATA partition and automatically mounts it so that the user data can be saved. However, there may be times when that information may not be needed or wanted. This mode will allow XiniX to be used anonymously so that data and software is not saved during that session causing the environment to act like a 'Live CD' was booted - even if a DATA partition exists!<br />
<br />
: '''Compatibility Mode'''<br />
:: As hardware manufacturers sometimes rush their equipment to market, bugs can be present in their firmware causing issues with booting some operating systems. Additionally some older hardware might have issues with some newer technologies found in the Linux kernel. Either way, this option can help to get into a working environment by skipping some features (issuing 'noapic noacpi irqpoll' calls to the kernel during bootup). Like the 'Conservative Mode' below, this item will also load software using symlinks instead of in the RAM.<br />
<br />
: '''Conservative Mode'''<br />
:: Since XiniX was designed to work with modern and aging hardware, a boot option to use with the latter was included. The only difference between this option and the default 'Start XiniX' is that instead of loading all the software to the RAM, the software is symlinked against the storage device - saving memory resources at the expense of being slightly slower in operation.<br />
<br />
: '''Debug Mode'''<br />
:: Unlike the other modes found in this section of the boot menu list, this one works exactly like the 'Start XiniX' option but outputs much more information in the /var/log directory associated with the boot process to help systems administrators and developers find and fix problems.<br />
<br />
: '''Emergency Console'''<br />
:: Although the XiniX operating system has been designed to make using it as easy as possible, there will inevitably be times where some adjustments don't work as desired. In those few instances, systems administrators can easily get to a console prompt to start the process of correcting those issues. Similar to the warning provided by using the 'Restore Console', this menu item should avoided without detailed knowledge of the software and command prompt.<br />
<br />
: '''Restore Console'''<br />
:: There are times when installing or updating software can lead to undesired effects - especially after a reboot has occurred. So in the event that a device will no longer boot due to suspected software issues, select this item to get into a console where restores can be made from prior backups. Please note that this should be used with caution!<br />
::: NOTE: this is not a boot option before 2017.04.07.0<br />
<br />
: '''Safe Mode'''<br />
:: Building off of the 'Compatibility Mode' boot option, this one also does not process any personal boot scripts in the event that one of them may be causing problems during the boot process.<br />
<br />
<br />
: '''From Harddrive'''<br />
:: Sometimes alternative boot media is accidentally left in the computer after it has been powered down causing it to be booted to upon a subsequent bootup. No fear! In instances like that, this option can be used to automatically switch back to the internal hard drive to boot from without having to power cycle the device again.<br />
<br />
<br />
: '''Test Memory'''<br />
:: When a device does not seem to be working properly and no other option can be identified as the culprit, testing the RAM for errors is a good place to check. Using this item will load a small application that will test the entire set of memory modules installed in the device as well as display a plethora of information about them. And although it may not be displayed on the screen, continuing to press the down arrow key on the keyboard will eventually cycle to it in the list.<br />
<br />
<br />
<br />
<br />
==Usage==<br />
<br />
===Errors===<br />
: Although the default configuration should broadly work with most devices, in some instances, depending on the hardware, you may find that the graphical interface fails to work properly. Until a better solution can be found, a separate boot option has been included to help install additional display drivers so that you will be able to get into the operating system. If you fall under this condition, simply reboot your device and as soon as you see the 'XiniX' boot graphic, start repeatedly pressing the 'F8' key to show the boot menu (unless you're booting from optical media which always shows the menu). Select the option labeled "Install Drivers" and after the boot process completes, simply select the manufacturer of your graphics card and the proper drivers should be installed. After the device reboots, you should have a properly working graphical environment.<br />
<br />
: Please be aware that you must have installed XiniX before proceeding with these steps since we need a DATA partition to store saved data and information. If this has not taken place yet, select 'Install XiniX' option from the boot menu before proceeding with the steps outlined above.<br />
<br />
===GUI===<br />
: Covering the user interface is outside the scope of this document, but [http://wiki.cliquesoft.org/index.php?title=web.de click here] to be redirected to the proper location that will explain the interface in detail. However, we do want to mention that a XiniX device can be controlled locally ([https://en.wikipedia.org/wiki/X_Window_System X11]) and/or remotely ([https://en.wikipedia.org/wiki/Web_browser browser]). To change this behavior navigate to the 'Access > Device > Settings > web.de' popup and change the 'Access' values to your desired configuration and click the 'Ok' button. More information about the GUI and access to it can be found in the first link above.<br />
<br />
===Administration===<br />
: The first account created during the installation routines will be granted an additional privilege over all the other accounts. By default the 'root' account (aka administrator in Linux) can not be used to log into any device for security reasons. This also means that the root account can not be switched to in order to perform administrative tasks due to not having a password. As a way to enable the usage of the root account, the first created user account will receive the ability to switch to the root account in the event that you require that type of access. In order to make this switch, perform the following steps at a command prompt with the afore mentioned account:<br />
<br />
<pre style='margin-left: 22px'><br />
$ sudo su root<br />
</pre><br />
<br />
: NOTE: Performing the above steps should be rare, if at all. If you find yourself using the root account regularly, you should instead adjust the /etc/sudoers file to grant the appropriate privileges as a regular user since using the root account presents additional security risks!<br />
<br />
===Login===<br />
: Unlike other Linux distros, the login credentials are specific to this operating system. While XiniX still uses the default administrators user account in Linux known as 'root', the password is not anything that is typically used to gain access. Instead, you must use 'now has zen' as the password in order to login successfully. It is important to note that this only applies when booting off of optical media such as CD's or DVD's, and if the OS has not been 'installed'. Once a DATA partition has been created post 'installation', the 'root' account can no longer be used to login (for security), but the credentials of the other accounts will be saved for future logins.<br />
<br />
: As of version 2017.04.07.0, an auto-login is engaged when no DATA partition exists. However, if you need to get into certain areas such as 'Access > Device', then you will still need to use the password mentioned above.<br />
<br />
===Composition===<br />
: Since XiniX is unlike its competition and is in a class of its own, it is important for the user to have a brief overview of the operating system itself. As eluded to in the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Features Features]]' section above, there is not two types of media (installation and runtime) like there is in the world of Microsoft. Meaning that you don't have to create/obtain an installation DVD (installation media) to install to a hard drive (runtime media) before being able to use the operating system - they are one-in-the-same! So by having any XiniX boot media (installation and runtime), you can not only fully use the OS, but you could in turn create other boot media such as CDs, flash drives, and hard drives.<br />
<br />
: Now that you understand XiniX's boot media, known as 'FIRMWARE', we would like to discuss the optional second part of the OS. While the user will have no restrictions using only the 'FIRMWARE', this will simply create an (anonymous) 'Live CD' environment so that you can play or test the software without making any changes to your existing setup. So if you install applications and write a document or two, none of that information will be saved after a reboot or shutdown of the device. This is where the 'DATA' partition comes in. As indicated by the name, this storage area will contain all your installed applications and saved data such as settings, documents, favorites, music, and movies. Most users will opt to have both a FIRMWARE (operating system) and DATA (user data) for a complete solution, however, the separation was made for flexibility. One last point to make is that while both can reside on the same media (e.g. hard drive), they do <u>NOT</u> have to be. So for example, you can boot off of a FIRMWARE DVD and have DATA as a flash drive!<br />
<br />
<br />
<br />
<br />
<br />
==Editions==<br />
XiniX will ultimately be distributed in multiple editions to best serve its user base. Each will be covered below:<br />
<br />
* '''Vanilla (VE)''' As the name suggests, this edition qualifies as a clean, small, and efficient distribution of the operating system meant for personal devices such as desktops and laptops with goals to later expand into mobile devices. There are no applications bundled aside from the ones necessary for system manipulation found under the 'Access > Device' screen. This not only reduces security concerns by not having unused or unwanted software installed with potential exploits, but also allows the user to personalize their device to their individual liking. By default, it is shipped with a lightweight graphical system (framebuffer) for 2D rendering, but if more powerful acceleration is required (Xorg), it can be installed using just a few clicks of the mouse.<br />
<br />
* '''Client (CE)''' Building off of the Vanilla Edition foundation, this distribution targets the SOHO and medium-sized business market. Like its base, it maintains a small, efficient footprint, but incorporates additional user account properties and authentication mechanisms (via [https://en.wikipedia.org/wiki/OpenLDAP LDAP]) for robustness. Since this edition is meant for use on higher-end hardware, the more powerful graphical system (Xorg) is installed by default. Also offered in the version will be the ability to use a traditional server and client network model with its own set of unique properties to help businesses in several ways.<br />
<br />
* '''Server (SE)''' Servers have stringent requirements, one of them is that is must remain up and running as long as possible. Since XiniX can expose its [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] (GUI) locally or remotely, as mentioned in the 'Features' section of this document, this edition, by default, provides that capability through the web browser of any authorized device and with local access being in the form of the [https://en.wikipedia.org/wiki/Command-line_interface command line interface] (CLI). Employees should never use a server as a work station, so there is no need to eat up resources on powering something that will never be used. This reduces overhead (and security risks) for the server so that those CPU cycles can be spent handling requests for clients - the main job of the server. Of course, a local GUI can be installed if one is desired.<br />
<br />
* '''Embedded (EE)''' Like the Server Edition, this version comes without a local GUI by default and will target embedded devices such as hobbyist projects, [https://en.wikipedia.org/wiki/Router_%28computing%29 routers], and [https://en.wikipedia.org/wiki/Set-top_box set-top boxes]. Although the default option is to install a remotely accessible GUI, a locally available GUI can be installed as well (up to Xorg), should the device require it. XiniX should maintain the smallest footprint possible with the OEM adding only what is necessary for their device to function as designed.<br />
<br />
<br />
<br />
<br />
==Comparison==<br />
Competition is always good for the market place, especially when there are only a few power players in the industry. Currently there are only three large operating system vendors - Microsoft, Apple, and Google. The make matters even worse, one of them dominates on mobile and another one dominates the desktop market. As a new competitor, XiniX can presently only compete in the desktop market so that will be reflected in the table below. Also, the below information will be based on the 64-bit, 'Home' or personal-use edition of each respective OS (Vanilla Edition for XiniX).<br />
<br />
{| class="wikitable"<br />
|-<br />
! &nbsp; !! Apple OS X !! Google Android 5 !! Microsoft Windows 10 !! Canonical Ubuntu 15.04 !! Cliquesoft XiniX Beta !! Description<br />
|-<br />
| Storage (HDD) || 9GB || Unknown || 20GB || 5GB || 100MB || Minimum storage space to install OS<br />
|-<br />
| Memory (RAM) || 2GB || Unknown || 2GB || 384MB || 128MB (est) || Required memory amount to run OS<br />
|-<br />
| Processor (CPU) || 1GHz || Unknown || 1GHz || 700MHz || 800MHz (est) || Required CPU speed to run OS<br />
|-<br />
| Networking (Style) || Server/Client || None || Server/Client || Server/Client || p2p & Server/Client || How the network style is arranged<br />
|-<br />
| Networking (Type) || LAN || None || LAN || LAN || LAN & Cloud || The type of network capability built into OS<br />
|-<br />
| Users || Multi || Single || Multi || Multi || Single or Multi || Defines individual or group usage of device<br />
|-<br />
| Cost || Est 1500* || Est $500* || Est $150* (home) || Free || Free || Monetary cost of the software<br />
|-<br />
| Applications || App Store || Google Play || Unknown || Synaptic || Software Shoppe || Source of installable software catalog<br />
|-<br />
| Printing || CUPS || None || Print Mgr || CUPS || CUPS || Locally attached or wifi printer capabilities<br />
|-<br />
| Media Lookup || No || No || No || No || Yes** || Obtains online information for personal movies<br />
|-<br />
| Bloated || Yes || Yes || Yes || Yes || No || Excessive pre-loaded software<br />
|-<br />
| Privacy (online) || [http://www.digitaltrends.com/mobile/apple-icloud-hack-china/ No]*** || [http://adwords.blogspot.com/2015/09/Google-brings-you-closer-to-your-customers.html No]**** || [http://thenextweb.com/microsoft/2015/07/29/wind-nos/ No], [http://www.forbes.com/sites/gordonkelly/2016/02/09/windows-10-data-tracking-spying-levels/?utm_campaign=yahootix&partner=yahootix#89701e97aa99 No] ***** || Yes || Yes || Is user privacy retained<br />
|-<br />
| Updates || Non-forced || Non-forced || [http://www.zdnet.com/article/windows-10-upgrade-nags-become-more-aggressive-offer-no-opt-out/#ftag=YHFb1d24ec?ref=yfp Forced] || Non-forced || Non-forced || User control of updates<br />
|-<br />
| Degradation || Yes || Yes || Yes || Yes || No****** || The performance degradation overtime<br />
|-<br />
|}<br />
<br />
: * Cost is based on the purchase of the equipment required to run the OS<br />
: ** The filename must be in a specific format - automated mated renaming efforts are under development<br />
: *** Based on their centralization of (more easily hackable) customers data versus our decentralized approach<br />
: **** Based on the well know erosion of Google's privacy policy with the users of their products<br />
: ***** Based on the revelations of excessive, unstoppable communication with Microsoft's Windows 10<br />
: ****** Based on how the OS is loaded (stages), where it is loaded (RAM), and by not having a 'registry'</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=XiniX&diff=5812XiniX2017-05-10T12:57:22Z<p>Digitalpipe: </p>
<hr />
<div>The distro that's poised to usher in the year of the Linux desktop, XiniX has been released as a beta! Hitting the market just weeks after the two power houses release their latest versions, Microsoft Windows 10 on July 29 2015 and Apple iOS on September 16 2015, XiniX, the little-known underdog, has entered the market! So what is XiniX (pronounced 'zen-ics')? First, XiniX is an [https://en.wikipedia.org/wiki/Operating_system operating system] (OS) just like [http://www.microsoft.com Microsoft Windows] and [http://www.apple.com Apple's iOS], but is based on Linux akin to [http://www.google.com Google's Android]. XiniX represents the world's next generation of OS and is currently available for use on conventional computers such as desktop or laptops, with mobile platforms coming in the future. Built to act more as a firmware among devices, one of its primary goals is to remain small and efficient - just enough to get the device into an environment where the (users') work takes center stage!<br />
<br />
Unlike any of the companies mentioned above, our OS is not based on fixed releases (e.g. Windows 8, Windows 10), but instead, is distributed as a continuing (or rolling) release as updates are made available. What's also different, is that our OS comes with just enough software to get you basic device operations and then lets you take over and personalize the device by installing any of the software or services located in our 'Software Shoppe'. In the sections that follow, we will not only cover some of the unique aspects of the amazing operating system, but we will also compare it with others to help users better understand if they would like to make the switch!<br />
<br />
<br />
<br />
<br />
==License==<br />
There are various projects that make up the XiniX core operating system. Each will be listed below with their respective license. More information about the CPLv2 licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
{| class='wikitable' style='margin: auto'<br />
! '''Package''' !! '''License''' !! '''Package''' !! '''License''' !! '''Package''' !! '''License'''<br />
|-<br />
| '''Linux''' || GPLv2 || '''grub''' || GPLv3 || '''busybox''' || GPLv2<br />
|-<br />
| '''Xfbdev''' || na || '''alsa-config''' || na || '''socat''' || na<br />
|-<br />
| '''nmap''' || na || '''harfbuzz''' || na || '''imlib2-bin''' || na<br />
|-<br />
| '''libXau''' || na || '''libXdmcp''' || na || '''libfontenc''' || na<br />
|-<br />
| '''libXt''' || na || '''libXext''' || na || '''libXrender''' || na<br />
|-<br />
| '''Xorg-fonts''' || na || '''Xprogs''' || na || '''fonts-mscore''' || na<br />
|-<br />
| '''imlib2''' || na || '''libXfont''' || na || '''libXi''' || na<br />
|-<br />
| '''libXmu''' || na || '''libXpm''' || na || '''libXrandr''' || na<br />
|-<br />
| '''libffi''' || na || '''libjpeg-turbo''' || na || '''libpng''' || na<br />
|-<br />
| '''libxcb''' || na || '''Xlibs''' || na || '''file''' || na<br />
|-<br />
| '''clapi''' || CPLv2 || '''web.de''' || CPLv2 || '''web.ui''' || CPLv2<br />
|-<br />
| '''FXwm''' || CPLv2 || &nbsp; || &nbsp; || &nbsp; || &nbsp;<br />
|}<br />
<br />
<br />
<br />
<br />
==Features==<br />
What makes a software title desired by the masses? Its features of course! While XiniX is still in its infancy, there are some features that we would like to point out and provide details on. While the below list may not include all the current features, and does list some that are in development, it does provide you with some indication of what can be done with the current version of our OS. Take the time to try it and you'll learn why we say "Achieve zen with XiniX!"<br />
<br />
* Better security<br />
:: There's a reason why we started the list with this item. Security has become much more of a concern today than years past, especially with the revelations of government and corporate spying along with those out there willing to cause harm using malware and ransomware. The more parts of a working system you have, the more opportunities there are to exploit bugs and other issues that can cause you problems. Compare our clean install size of the Vanilla Edition (VE) at less than <u>85MB</u> (under 64MB for EE), whereas Windows 10 is approximately <u>15,000MB</u> - 0.004 the size! As you can see, we offer quite a substantial reduction in software that can be exploited on your device to allow others to take advantage of you!<br />
<br />
* Best Price in its class<br />
:: Another top concern with households and businesses nowadays is how much does it cost me to stay up-to-date and productive? Once again, we shine where our competitors fail - releasing XiniX for the low, low cost of $FREE USD! Compare that to the 3 year Microsoft upgrade fee of $200-$300 to get the latest version of only Windows (not to mention Office and other software), $1200-$2000 to get the latest Apple device to use their software, and forget about Google's Android since it is only available for mobile devices (placing it in the category of Apple where you must buy a device to get it). You can use our XiniX OS on any laptop, desktop, server, and soon on mobile devices as well!<br />
<br />
* Can run from any storage media<br />
:: Since XiniX was designed to be lightweight and efficient from day 1, we can install it to a wide variety of media. This includes hard drives, optical discs, flash drives, SD cards, and more! What's more is that since the OS, by default, loads to RAM, once the OS has been loaded, you can even remove the bootable media itself!* In an upcoming release, the OS can even be loaded over the network via [https://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE].<br />
<br />
* Clean separation of OS from data and apps<br />
:: Since our OS works as a common firmware among devices and is designed to get you in an environment to perform your work, once it is loaded, it gets out of your way! From that point forward, the only interaction the user has will be with their data and applications on a local or network resource.<br />
<br />
* Clear separation of [https://en.wikipedia.org/wiki/Graphical_user_interface GUI] from engine<br />
:: Simply put, this will allow any user (GUI) to control any device (engine). So, for example, you may have a computer connected to your living room TV that can be controlled with your smart phone or tablet - natively! No additional software to install and configure! And while you can't currently install XiniX on a smart phone or tablet, you can still connect and control the XiniX-based device using the web browser already installed on either of those devices.<br />
<br />
* Easy built-in local and remote access<br />
:: Like many of the existing mainstream operating systems, XiniX can also handle local and remote access for users. Where we differ from the other OS's is the fact that this interaction only requires a web browser and not a separate piece of software or other elaborate infrastructure to route requests properly. Once two devices are paired, it doesn't matter the physical location of either!**<br />
<br />
* Useful for headed or headless devices<br />
:: Can you imagine Microsoft Windows running on a router? Neither can we! Our operating system on the other hand, it quite capable of accomplishing this goal. Due to its small size, and by utilizing the aforementioned benefit, you can control that device no matter its design or function.<br />
<br />
* Works with older hardware<br />
:: Since the firmware is small and efficient, it should work with the old computer you've stored in the closet over the last 10+ years. This can turn an old, obsolete computer into a working tool for young children, grandparents, or even act as a gateway into network resources in a variety of situations and environments.<br />
<br />
* No installation media<br />
:: Ever wanted to install that latest version of your favorite OS, but can't find a blank DVD or flash drive to create the installation media just to install on another media (e.g. hard drive) for actual use? Well, we've skipped that intermediary step and combined both into one. You can also not only obtain XiniX from our website, but you can create a copy from within the software itself!<br />
<br />
* First actual cloud-based OS<br />
:: You may be thinking "I can already use the cloud with a web browser and software like dropbox", but that doesn't quite define a cloud-based operating system. First, browsing the Internet with a web browser does not fall within this scope. And second, the use of 3rd party software means that the OS is incapable of cloud interaction natively. XiniX can seamlessly connect with services such as Amazon's AWS, web hosting servers, and other XiniX devices natively. Files can be copied back and forth just as you would if it were local, and more!<br />
<br />
* Unique p2p networking<br />
:: XiniX uses its own type of networking using a peer-2-peer method among devices. This means that setting up a network of devices involves nothing more than pairing the desired devices with one another in a simple process that even grandma could understand!<br />
<br />
* Perfect as IoT OS<br />
:: Since XiniX was designed to be as small as possible while allowing for a reasonable amount of functionality out-of-the-box, it is a perfect choice for those interested in creating a device considered as part of the "Internet of Things" (IoT). No only does it have a small footprint along with the ability to be used in devices with or without displays, but the software is constantly updated to prevent malicious activity from taking place by patching bugs and fixing points of exposure!<br />
<br />
<center><br />
:: * This can be achieved if working without a DATA partition or if the DATA partition is on other media or a network resource.<br />
:: ** This is currently in development, seamless LAN access is currently only available.<br />
</center><br />
<br />
<br />
{| class='wikitable' style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Vanilla Edition (VE) !! Embedded Edition (EE) !! TinyCore Linux<br />
|-<br />
| style='text-align: left' | Target Size || Under 64MB || Under 32MB || &nbsp;<br />
|-<br />
| style='text-align: left' | Current Size || 69MB (32bit)<br />76MB (64bit) || 37MB (32bit)<br />41MB (64bit) || Approx 16MB<br />
|-<br />
| style='text-align: left' | Built-in Capabilities || &nbsp; || &nbsp; || &nbsp;<br />
|-<br />
| style='text-align: left' |<br />
:: NTFS Capabilities<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: LAN, BT, Wifi<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Controlled via Device<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Designed for Cloud<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Access<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Interface<br />
|| GUI || GUI || None<br />
|-<br />
| style='text-align: left' |<br />
:: Local Interface<br />
|| GUI || CLI || GUI<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==History==<br />
Currently the operating system is still in beta, which means that it should not be put into production for businesses. However, the system is stable enough for personal and hobbyists usage. Up to version 2016.11.01.0, all distributed images were for the Intel/AMD 64bit processors and were the Vanilla Edition (VE). With the release of 2016.11.01.0, however, both 32bit and 64bit were available as well as being offered in two editions - Embedded Edition (EE) and Vanilla Edition (VE). The former edition is intended for hobbyists projects, routers, set top boxes, etc., whereas the latter is suitable for traditional computers such as laptops and desktops. As of version 2016.12.01.0, two different types of image files were released to expand the media that could be used in order to boot into XiniX. Previously only drive images were available for media such as hard drives, flash drives, SD cards, etc., but the December 2016 release also included optical images capable of booting off of optical media such as a CD or DVD.<br />
<br />
Some big changes came with version 2017.04.07.0 including a 'Welcome' screen that allows the user to tailor the OS to their basic needs by installing some commonly used software such as a PDF viewer and office suite. Also, this release enabled full usage on mobile smartphones (tablets were still untested) using the default theme as well as the integration of web.link (remote control) and web.sight (image viewer). The package manager (pax) received some new abilities as well including the parsing of conditional and specific version numbers of packages, and the ability to process file lists and directories as the source of packages instead of them being specifically stated. Lastly this version included an auto-login when no DATA exists along with several boot menu options to work with devices that did not work well with the default auto-configuration of the frame buffer with graphical user interfaces (e.g. VE).<br />
<br />
Our long term goals include the ARM CPU architecture in both 32bit and 64bit, with an anticipated release within Q2 2017. If our users have enough interest, we will also expand into MIPS and PowerPC.<br />
<br />
<br />
<br />
<br />
==Requirements==<br />
Due to the small footprint that makes up the XiniX operating system, not much hardware is required to run it. The below is the minimal values of both categories in order to run the OS.<br />
{| class="wikitable" style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Processor (CPU) !! Memory (RAM) !! Storage (HDD) !! Graphics Card !! Display !! Network !! Notes<br />
|-<br />
| style='text-align: left' | Required (EE) || Single-core 400MHz (est) || 48MB || 100MB || None || None || None<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Required (VE) || Single-core 800MHz (est) || 128MB || 100MB || VGA compatible || 800x600, 256 Colors || None<br />
| style='text-align: left' | Lowest tested is an Intel P3 1.13Ghz<br />
|-<br />
| style='text-align: left' | Recommended (EE) || Single-core 1GHz || 512GB || 8GB || VGA compatible || 800x600, 256 Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Recommended (VE) || Dual-core 1.8GHz || 2GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | This should be any desktop/laptop around 2006<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==Installation==<br />
There are currently three ways to obtain and install XiniX - [https://sourceforge.net/projects/xinix/?source=directory sourceforge.net], our [http://www.cliquesoft.org/#Projects website], or from within the OS interface itself. All methods will be covered below. While we are working to expand the installation wizard to reduce this complexity in Linux, Microsoft Windows users should have a fairly straight forward process. As a result, only someone with the proper knowledge should attempt these steps in a Linux environment as any wrong values can actually erase your hard drive!<br />
<br />
===<u>Download</u>===<br />
: No matter what operating system you are using, this part of the process is easy to complete. To begin, simply click on either of the first two links offered above. If you have selected sourceforge.net to obtain the image, you should be presented with the latest version to download by using the green 'Download' button located towards the top of the webpage. Keep in mind this will be for the 32bit iso version of the Vanilla Edition (VE) which is made for desktops and laptops using optical media such as CD's and DVD's. If you are interested in different CPU architectures, editions, or installation media, click the 'Files' option right below the header on that webpage and select which file you would like to download. Keep in mind that scrolling further down the page will present you with information to guide you in downloading the desired image.<br />
<br />
: If you choose to obtain XiniX from our website, you will need to scroll down to the bottom of the page to find it since the listing is in alphabetical order. Once you have found the XiniX operating system, you can read the description to determine which edition is right for you. Once you have that figured out, clicking the 'Download' listbox will expose all the available images for download. The layout for each entry is as follows:<br />
<br />
:: [State] [Edition] Target CPU Bit<br />
<br />
: You will need to find the list item belonging to your running OS, or the 'ISO' that can be used to create XiniX boot media regardless of the operating system you are currently using (e.g. Apple, Linux, Windows). Clicking that entry from the list will download the image to your computer.<br />
<br />
<br />
: '''Linux'''<br />
: As mentioned above, we are working to expand the included installation wizard for those not comfortable with the command prompt. However, if you have a basic knowledge of computers, the one included should be adequate enough to get XiniX installed on the desired media. If you are a grandparent or someone who just does not understand technology, check back frequently to see if the proper modifications have been made for you! For those of you still with us, once you have downloaded the desired image, there are a few steps required to get the OS on your desired media. For the sake of these examples, we will assume that the image currently resides in the '/tmp' directory with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.tgz.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have obtained a drive image (img), then one set of the below instructions need to be followed. These directions apply to all Linux distros and require you to first get to a command prompt to execute the following steps in order to install XiniX. You should not have to worry about obtaining additional software to accomplish this task as the programs used here are installed by default in all main stream Linux distros. In this example, we will be using the /dev/sdb device to write the image too. <u>WARNING:</u> these steps will ERASE all the data on that device before installing XiniX!!!<br />
<br />
:: <u>Using the Wizard</u><br />
:: As of version 2017.05.07.0, a wizard has been included with each distribution file for the Linux OS. So after going into the '/tmp' directory and uncompressing the downloaded file, you should see a script named 'install.sh' which will need to be started to guide you through the installation routine. Each step mentioned is shown below:<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ ./install.sh<br />
</pre><br />
<br />
:: From this point, you will be asked a few questions to find the image to burn along with the desired target media. After confirming the writing process, your XiniX boot media will be created for you.<br />
<br />
:: <u>Using raw commands</u><br />
:: Anyone that is using this method will most likely already know how to perform these steps, but they have been included for those seeking to gain more knowledge. It is important to note that if the media generated by performing the following commands has problems booting, you may need to wait 10 seconds or so after the final output below is shown to make sure all the buffers have been flushed to disk.<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ dd if=XiniX_VE_2016.12.01.0_32bit.img of=/dev/sdb conv=fdatasync<br />
</pre><br />
<br />
:: Make sure you use the trailing 'conv=' parameter so output buffers get flushed to the disk (see this [http://askubuntu.com/questions/318186/wait-for-dd-command-to-fully-write-to-the-disk post]). Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
1250000+0 records in<br />
1250000+0 records out<br />
640000000 bytes (640 MB) copied, 119.708 s, 5.3 MB/s<br />
</pre><br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (with is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ tar zxf /tmp/XiniX_VE_2016.12.01.0_32bit.iso.tgz<br />
$ cdrecord -v -dao -eject dev=/dev/dvd /tmp/XiniX_VE_2016.12.01.0_32bit.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
: '''Windows'''<br />
: For users of the Microsoft Windows operating systems, you will have a straight forward process to create bootable media no matter which type of image you have selected to use. Unlike Linux, however, there are no ways to create media from the command line, so these steps should be easy for any user in this environment. For the sake of these examples, we will assume that the image currently resides on your Desktop with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.zip.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have selected to use a drive image (img), first you will need to uncompress all of the .zip file contents to your Desktop. Once the decompression has completed, navigate inside the 'Windows Installer' folder and double click the file named 'setup' (it may have an optional '.exe' appended). Once the application has loaded, click the folder icon at the top and locate the XiniX image file (e.g. XiniX_VE_2016.12.01.0_32bit.img). Next select the media to install XiniX to from the following listbox to the right. Once you have those values in place, click the 'Write' button and wait for the installation to complete. If you would like to get and compare the MD5 hash's, simply check the 'MD5 Hash' checkbox. <u>WARNING:</u> XiniX can NOT be installed along side another OS at the moment and will erase the contents of the selected media!<br />
<br />
[[File:Windows_Installer.png|center|Create Image]]<br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
:: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
<br />
<br />
===<u>Interface</u>===<br />
: This method is the easiest way to create copies of the operating system and assumes that you are working with an already running installation of XiniX. Using the default theme, click the 'State' option from the navigation menu and locate the "i" button in the top left-hand corner of the screen. After clicking it, you will be presented with a popup that shows you the various media available and is divided into two sections - 'Internal Storage' and 'Attached Storage Devices'. Included on the screen is some additional information that should help you select which section to use when determining your target. Now select the media to install on along with the CPU architecture (bit) of the target device. If the latter information is unknown, you can use the 32bit as a failsafe option. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:XiniX.png|Create Image<br />
File:XiniX_create.png|Configure<br />
</gallery><br />
<br />
: We will later expand the options to allow for the installation of the different editions regardless of the one currently being used, but at the present the install screen will only produce another copy of what is running. So for example, if you're using the Vanilla Edition (VE), then this screen will only create another copy of VE. EE will produce another EE, and so forth.<br />
<br />
<br />
No matter what method you had to use above, simply reboot your device using the media that you just installed XiniX to and enjoy your adventure!<br />
<br />
<br />
<br />
<br />
==Booting==<br />
Unless optical media was used as the source to boot from, the list of options that are available using the boot menu will not be accessible without invoking it. To expose this list, simply press the F8 key repeatedly once the XiniX graphic is shown during the boot cycle. If successful, then the list of options below should be shown. Of course, if the two second window for accessing it has passed during the boot process, the device will need to be rebooted in order to attempt this task once again. And although the list has several many options, some of which may not be easy to figure out at first glance, each selection will be discussed in more depth below.<br />
<br />
: '''Start XiniX'''<br />
:: As the caption of the first option eludes to, selecting this option will start the operating system as it normally would if the boot menu was never accessed. Optical boot media users will always be presented with this list, so this will most likely be your pick. However, if the menu was accessed using any other boot media, then this is most likely the option that will not be desired.<br />
<br />
: '''Low Resolution'''<br />
:: Some devices will not work with the auto-configuration of the graphical environment (frame buffer) and will just stay stuck on the XiniX boot graphic. In those instances, this menu option can be used to get into a working system so that the proper driver installations can take place so a normal bootup can occur. If additional problems persist, the 'Safe Mode' option may need to be used instead.<br />
::: NOTE: this is only available with VE<br />
<br />
: '''Install XiniX'''<br />
:: Although XiniX does not have an install process like traditional operating systems such as Microsoft Windows, selecting this option basically creates a DATA partition allowing a user to save their data instead of using the boot media anonymously – similar to that of a live CD. For additional information on this topic, please see the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Composition Composition]]' section below and the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Installation Installation]]' section above.<br />
<br />
: '''Install Drivers'''<br />
:: Upon having issues with a non-working or sluggish graphical environment when using a device, this option can be selected to help resolve problems by installing the more powerful display server known as [https://en.wikipedia.org/wiki/X.Org_Server Xorg] along with the desired graphics driver.<br />
::: NOTE: this is only available with VE<br />
<br />
<br />
: '''Anonymous Mode'''<br />
:: Typically when XiniX starts, it searches for a DATA partition and automatically mounts it so that the user data can be saved. However, there may be times when that information may not be needed or wanted. This mode will allow XiniX to be used anonymously so that data and software is not saved during that session causing the environment to act like a 'Live CD' was booted - even if a DATA partition exists!<br />
<br />
: '''Compatibility Mode'''<br />
:: As hardware manufacturers sometimes rush their equipment to market, bugs can be present in their firmware causing issues with booting some operating systems. Additionally some older hardware might have issues with some newer technologies found in the Linux kernel. Either way, this option can help to get into a working environment by skipping some features (issuing 'noapic noacpi irqpoll' calls to the kernel during bootup). Like the 'Conservative Mode' below, this item will also load software using symlinks instead of in the RAM.<br />
<br />
: '''Conservative Mode'''<br />
:: Since XiniX was designed to work with modern and aging hardware, a boot option to use with the latter was included. The only difference between this option and the default 'Start XiniX' is that instead of loading all the software to the RAM, the software is symlinked against the storage device - saving memory resources at the expense of being slightly slower in operation.<br />
<br />
: '''Debug Mode'''<br />
:: Unlike the other modes found in this section of the boot menu list, this one works exactly like the 'Start XiniX' option but outputs much more information in the /var/log directory associated with the boot process to help systems administrators and developers find and fix problems.<br />
<br />
: '''Emergency Console'''<br />
:: Although the XiniX operating system has been designed to make using it as easy as possible, there will inevitably be times where some adjustments don't work as desired. In those few instances, systems administrators can easily get to a console prompt to start the process of correcting those issues. Similar to the warning provided by using the 'Restore Console', this menu item should avoided without detailed knowledge of the software and command prompt.<br />
<br />
: '''Restore Console'''<br />
:: There are times when installing or updating software can lead to undesired effects - especially after a reboot has occurred. So in the event that a device will no longer boot due to suspected software issues, select this item to get into a console where restores can be made from prior backups. Please note that this should be used with caution!<br />
::: NOTE: this is not a boot option before 2017.04.07.0<br />
<br />
: '''Safe Mode'''<br />
:: Building off of the 'Compatibility Mode' boot option, this one also does not process any personal boot scripts in the event that one of them may be causing problems during the boot process.<br />
<br />
<br />
: '''From Harddrive'''<br />
:: Sometimes alternative boot media is accidentally left in the computer after it has been powered down causing it to be booted to upon a subsequent bootup. No fear! In instances like that, this option can be used to automatically switch back to the internal hard drive to boot from without having to power cycle the device again.<br />
<br />
<br />
: '''Test Memory'''<br />
:: When a device does not seem to be working properly and no other option can be identified as the culprit, testing the RAM for errors is a good place to check. Using this item will load a small application that will test the entire set of memory modules installed in the device as well as display a plethora of information about them. And although it may not be displayed on the screen, continuing to press the down arrow key on the keyboard will eventually cycle to it in the list.<br />
<br />
<br />
<br />
<br />
==Usage==<br />
<br />
===Errors===<br />
: Although the default configuration should broadly work with most devices, in some instances, depending on the hardware, you may find that the graphical interface fails to work properly. Until a better solution can be found, a separate boot option has been included to help install additional display drivers so that you will be able to get into the operating system. If you fall under this condition, simply reboot your device and as soon as you see the 'XiniX' boot graphic, start repeatedly pressing the 'F8' key to show the boot menu (unless you're booting from optical media which always shows the menu). Select the option labeled "Install Drivers" and after the boot process completes, simply select the manufacturer of your graphics card and the proper drivers should be installed. After the device reboots, you should have a properly working graphical environment.<br />
<br />
: Please be aware that you must have installed XiniX before proceeding with these steps since we need a DATA partition to store saved data and information. If this has not taken place yet, select 'Install XiniX' option from the boot menu before proceeding with the steps outlined above.<br />
<br />
===GUI===<br />
: Covering the user interface is outside the scope of this document, but [http://wiki.cliquesoft.org/index.php?title=web.de click here] to be redirected to the proper location that will explain the interface in detail. However, we do want to mention that a XiniX device can be controlled locally ([https://en.wikipedia.org/wiki/X_Window_System X11]) and/or remotely ([https://en.wikipedia.org/wiki/Web_browser browser]). To change this behavior navigate to the 'Access > Device > Settings > web.de' popup and change the 'Access' values to your desired configuration and click the 'Ok' button. More information about the GUI and access to it can be found in the first link above.<br />
<br />
===Administration===<br />
: The first account created during the installation routines will be granted an additional privilege over all the other accounts. By default the 'root' account (aka administrator in Linux) can not be used to log into any device for security reasons. This also means that the root account can not be switched to in order to perform administrative tasks due to not having a password. As a way to enable the usage of the root account, the first created user account will receive the ability to switch to the root account in the event that you require that type of access. In order to make this switch, perform the following steps at a command prompt with the afore mentioned account:<br />
<br />
<pre style='margin-left: 22px'><br />
$ sudo su root<br />
</pre><br />
<br />
: NOTE: Performing the above steps should be rare, if at all. If you find yourself using the root account regularly, you should instead adjust the /etc/sudoers file to grant the appropriate privileges as a regular user since using the root account presents additional security risks!<br />
<br />
===Login===<br />
: Unlike other Linux distros, the login credentials are specific to this operating system. While XiniX still uses the default administrators user account in Linux known as 'root', the password is not anything that is typically used to gain access. Instead, you must use 'now has zen' as the password in order to login successfully. It is important to note that this only applies when booting off of optical media such as CD's or DVD's, and if the OS has not been 'installed'. Once a DATA partition has been created post 'installation', the 'root' account can no longer be used to login (for security), but the credentials of the other accounts will be saved for future logins.<br />
<br />
: As of version 2017.04.07.0, an auto-login is engaged when no DATA partition exists. However, if you need to get into certain areas such as 'Access > Device', then you will still need to use the password mentioned above.<br />
<br />
===Composition===<br />
: Since XiniX is unlike its competition and is in a class of its own, it is important for the user to have a brief overview of the operating system itself. As eluded to in the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Features Features]]' section above, there is not two types of media (installation and runtime) like there is in the world of Microsoft. Meaning that you don't have to create/obtain an installation DVD (installation media) to install to a hard drive (runtime media) before being able to use the operating system - they are one-in-the-same! So by having any XiniX boot media (installation and runtime), you can not only fully use the OS, but you could in turn create other boot media such as CDs, flash drives, and hard drives.<br />
<br />
: Now that you understand XiniX's boot media, known as 'FIRMWARE', we would like to discuss the optional second part of the OS. While the user will have no restrictions using only the 'FIRMWARE', this will simply create an (anonymous) 'Live CD' environment so that you can play or test the software without making any changes to your existing setup. So if you install applications and write a document or two, none of that information will be saved after a reboot or shutdown of the device. This is where the 'DATA' partition comes in. As indicated by the name, this storage area will contain all your installed applications and saved data such as settings, documents, favorites, music, and movies. Most users will opt to have both a FIRMWARE (operating system) and DATA (user data) for a complete solution, however, the separation was made for flexibility. One last point to make is that while both can reside on the same media (e.g. hard drive), they do <u>NOT</u> have to be. So for example, you can boot off of a FIRMWARE DVD and have DATA as a flash drive!<br />
<br />
<br />
<br />
<br />
<br />
==Editions==<br />
XiniX will ultimately be distributed in multiple editions to best serve its user base. Each will be covered below:<br />
<br />
* '''Vanilla (VE)''' As the name suggests, this edition qualifies as a clean, small, and efficient distribution of the operating system meant for personal devices such as desktops and laptops with goals to later expand into mobile devices. There are no applications bundled aside from the ones necessary for system manipulation found under the 'Access > Device' screen. This not only reduces security concerns by not having unused or unwanted software installed with potential exploits, but also allows the user to personalize their device to their individual liking. By default, it is shipped with a lightweight graphical system (framebuffer) for 2D rendering, but if more powerful acceleration is required (Xorg), it can be installed using just a few clicks of the mouse.<br />
<br />
* '''Client (CE)''' Building off of the Vanilla Edition foundation, this distribution targets the SOHO and medium-sized business market. Like its base, it maintains a small, efficient footprint, but incorporates additional user account properties and authentication mechanisms (via [https://en.wikipedia.org/wiki/OpenLDAP LDAP]) for robustness. Since this edition is meant for use on higher-end hardware, the more powerful graphical system (Xorg) is installed by default. Also offered in the version will be the ability to use a traditional server and client network model with its own set of unique properties to help businesses in several ways.<br />
<br />
* '''Server (SE)''' Servers have stringent requirements, one of them is that is must remain up and running as long as possible. Since XiniX can expose its [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] (GUI) locally or remotely, as mentioned in the 'Features' section of this document, this edition, by default, provides that capability through the web browser of any authorized device and with local access being in the form of the [https://en.wikipedia.org/wiki/Command-line_interface command line interface] (CLI). Employees should never use a server as a work station, so there is no need to eat up resources on powering something that will never be used. This reduces overhead (and security risks) for the server so that those CPU cycles can be spent handling requests for clients - the main job of the server. Of course, a local GUI can be installed if one is desired.<br />
<br />
* '''Embedded (EE)''' Like the Server Edition, this version comes without a local GUI by default and will target embedded devices such as hobbyist projects, [https://en.wikipedia.org/wiki/Router_%28computing%29 routers], and [https://en.wikipedia.org/wiki/Set-top_box set-top boxes]. Although the default option is to install a remotely accessible GUI, a locally available GUI can be installed as well (up to Xorg), should the device require it. XiniX should maintain the smallest footprint possible with the OEM adding only what is necessary for their device to function as designed.<br />
<br />
<br />
<br />
<br />
==Comparison==<br />
Competition is always good for the market place, especially when there are only a few power players in the industry. Currently there are only three large operating system vendors - Microsoft, Apple, and Google. The make matters even worse, one of them dominates on mobile and another one dominates the desktop market. As a new competitor, XiniX can presently only compete in the desktop market so that will be reflected in the table below. Also, the below information will be based on the 64-bit, 'Home' or personal-use edition of each respective OS (Vanilla Edition for XiniX).<br />
<br />
{| class="wikitable"<br />
|-<br />
! &nbsp; !! Apple OS X !! Google Android 5 !! Microsoft Windows 10 !! Canonical Ubuntu 15.04 !! Cliquesoft XiniX Beta !! Description<br />
|-<br />
| Storage (HDD) || 9GB || Unknown || 20GB || 5GB || 96MB || Minimum storage space to install OS<br />
|-<br />
| Memory (RAM) || 2GB || Unknown || 2GB || 384MB || est 384MB || Required memory amount to run OS<br />
|-<br />
| Processor (CPU) || 1GHz || Unknown || 1GHz || 700MHz || est 600MHz || Required CPU speed to run OS<br />
|-<br />
| Networking (Style) || Server/Client || None || Server/Client || Server/Client || p2p & Server/Client || How the network style is arranged<br />
|-<br />
| Networking (Type) || LAN || None || LAN || LAN || LAN & Cloud || The type of network capability built into OS<br />
|-<br />
| Users || Multi || Single || Multi || Multi || Single or Multi || Defines individual or group usage of device<br />
|-<br />
| Cost || Est 1500* || Est $500* || Est $150* (home) || Free || Free || Monetary cost of the software<br />
|-<br />
| Applications || App Store || Google Play || Unknown || Synaptic || Software Shoppe || Source of installable software catalog<br />
|-<br />
| Printing || CUPS || None || Print Mgr || CUPS || CUPS || Locally attached or wifi printer capabilities<br />
|-<br />
| Media Lookup || No || No || No || No || Yes** || Obtains online information for personal movies<br />
|-<br />
| Bloated || Yes || Yes || Yes || Yes || No || Excessive pre-loaded software<br />
|-<br />
| Privacy (online) || [http://www.digitaltrends.com/mobile/apple-icloud-hack-china/ No]*** || [http://adwords.blogspot.com/2015/09/Google-brings-you-closer-to-your-customers.html No]**** || [http://thenextweb.com/microsoft/2015/07/29/wind-nos/ No], [http://www.forbes.com/sites/gordonkelly/2016/02/09/windows-10-data-tracking-spying-levels/?utm_campaign=yahootix&partner=yahootix#89701e97aa99 No] ***** || Yes || Yes || Is user privacy retained<br />
|-<br />
| Updates || Non-forced || Non-forced || [http://www.zdnet.com/article/windows-10-upgrade-nags-become-more-aggressive-offer-no-opt-out/#ftag=YHFb1d24ec?ref=yfp Forced] || Non-forced || Non-forced || User control of updates<br />
|-<br />
| Degradation || Yes || Yes || Yes || Yes || No****** || The performance degradation overtime<br />
|-<br />
|}<br />
<br />
: * Cost is based on the purchase of the equipment required to run the OS<br />
: ** The filename must be in a specific format - automated mated renaming efforts are under development<br />
: *** Based on their centralization of (more easily hackable) customers data versus our decentralized approach<br />
: **** Based on the well know erosion of Google's privacy policy with the users of their products<br />
: ***** Based on the revelations of excessive, unstoppable communication with Microsoft's Windows 10<br />
: ****** Based on how the OS is loaded (stages), where it is loaded (RAM), and by not having a 'registry'</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=XiniX&diff=5811XiniX2017-05-10T12:55:57Z<p>Digitalpipe: </p>
<hr />
<div>The distro that's poised to usher in the year of the Linux desktop, XiniX has been released as a beta! Hitting the market just weeks after the two power houses release their latest versions, Microsoft Windows 10 on July 29 2015 and Apple iOS on September 16 2015, XiniX, the little-known underdog, has entered the market! So what is XiniX (pronounced 'zen-ics')? First, XiniX is an [https://en.wikipedia.org/wiki/Operating_system operating system] (OS) just like [http://www.microsoft.com Microsoft Windows] and [http://www.apple.com Apple's iOS], but is based on Linux akin to [http://www.google.com Google's Android]. XiniX represents the world's next generation of OS and is currently available for use on conventional computers such as desktop or laptops, with mobile platforms coming in the future. Built to act more as a firmware among devices, one of its primary goals is to remain small and efficient - just enough to get the device into an environment where the (users') work takes center stage!<br />
<br />
Unlike any of the companies mentioned above, our OS is not based on fixed releases (e.g. Windows 8, Windows 10), but instead, is distributed as a continuing (or rolling) release as updates are made available. What's also different, is that our OS comes with just enough software to get you basic device operations and then lets you take over and personalize the device by installing any of the software or services located in our 'Software Shoppe'. In the sections that follow, we will not only cover some of the unique aspects of the amazing operating system, but we will also compare it with others to help users better understand if they would like to make the switch!<br />
<br />
<br />
<br />
<br />
==License==<br />
There are various projects that make up the XiniX core operating system. Each will be listed below with their respective license. More information about the CPLv2 licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
{| class='wikitable' style='margin: auto'<br />
! '''Package''' !! '''License''' !! '''Package''' !! '''License''' !! '''Package''' !! '''License'''<br />
|-<br />
| '''Linux''' || GPLv2 || '''grub''' || GPLv3 || '''busybox''' || GPLv2<br />
|-<br />
| '''Xfbdev''' || na || '''alsa-config''' || na || '''socat''' || na<br />
|-<br />
| '''nmap''' || na || '''harfbuzz''' || na || '''imlib2-bin''' || na<br />
|-<br />
| '''libXau''' || na || '''libXdmcp''' || na || '''libfontenc''' || na<br />
|-<br />
| '''libXt''' || na || '''libXext''' || na || '''libXrender''' || na<br />
|-<br />
| '''Xorg-fonts''' || na || '''Xprogs''' || na || '''fonts-mscore''' || na<br />
|-<br />
| '''imlib2''' || na || '''libXfont''' || na || '''libXi''' || na<br />
|-<br />
| '''libXmu''' || na || '''libXpm''' || na || '''libXrandr''' || na<br />
|-<br />
| '''libffi''' || na || '''libjpeg-turbo''' || na || '''libpng''' || na<br />
|-<br />
| '''libxcb''' || na || '''Xlibs''' || na || '''file''' || na<br />
|-<br />
| '''clapi''' || CPLv2 || '''web.de''' || CPLv2 || '''web.ui''' || CPLv2<br />
|-<br />
| '''FXwm''' || CPLv2 || &nbsp; || &nbsp; || &nbsp; || &nbsp;<br />
|}<br />
<br />
<br />
<br />
<br />
==Features==<br />
What makes a software title desired by the masses? Its features of course! While XiniX is still in its infancy, there are some features that we would like to point out and provide details on. While the below list may not include all the current features, and does list some that are in development, it does provide you with some indication of what can be done with the current version of our OS. Take the time to try it and you'll learn why we say "Achieve zen with XiniX!"<br />
<br />
* Better security<br />
:: There's a reason why we started the list with this item. Security has become much more of a concern today than years past, especially with the revelations of government and corporate spying along with those out there willing to cause harm using malware and ransomware. The more parts of a working system you have, the more opportunities there are to exploit bugs and other issues that can cause you problems. Compare our clean install size of the Vanilla Edition (VE) at less than <u>85MB</u> (under 64MB for EE), whereas Windows 10 is approximately <u>15,000MB</u> - 0.004 the size! As you can see, we offer quite a substantial reduction in software that can be exploited on your device to allow others to take advantage of you!<br />
<br />
* Best Price in its class<br />
:: Another top concern with households and businesses nowadays is how much does it cost me to stay up-to-date and productive? Once again, we shine where our competitors fail - releasing XiniX for the low, low cost of $FREE USD! Compare that to the 3 year Microsoft upgrade fee of $200-$300 to get the latest version of only Windows (not to mention Office and other software), $1200-$2000 to get the latest Apple device to use their software, and forget about Google's Android since it is only available for mobile devices (placing it in the category of Apple where you must buy a device to get it). You can use our XiniX OS on any laptop, desktop, server, and soon on mobile devices as well!<br />
<br />
* Can run from any storage media<br />
:: Since XiniX was designed to be lightweight and efficient from day 1, we can install it to a wide variety of media. This includes hard drives, optical discs, flash drives, SD cards, and more! What's more is that since the OS, by default, loads to RAM, once the OS has been loaded, you can even remove the bootable media itself!* In an upcoming release, the OS can even be loaded over the network via [https://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE].<br />
<br />
* Clean separation of OS from data and apps<br />
:: Since our OS works as a common firmware among devices and is designed to get you in an environment to perform your work, once it is loaded, it gets out of your way! From that point forward, the only interaction the user has will be with their data and applications on a local or network resource.<br />
<br />
* Clear separation of [https://en.wikipedia.org/wiki/Graphical_user_interface GUI] from engine<br />
:: Simply put, this will allow any user (GUI) to control any device (engine). So, for example, you may have a computer connected to your living room TV that can be controlled with your smart phone or tablet - natively! No additional software to install and configure! And while you can't currently install XiniX on a smart phone or tablet, you can still connect and control the XiniX-based device using the web browser already installed on either of those devices.<br />
<br />
* Easy built-in local and remote access<br />
:: Like many of the existing mainstream operating systems, XiniX can also handle local and remote access for users. Where we differ from the other OS's is the fact that this interaction only requires a web browser and not a separate piece of software or other elaborate infrastructure to route requests properly. Once two devices are paired, it doesn't matter the physical location of either!**<br />
<br />
* Useful for headed or headless devices<br />
:: Can you imagine Microsoft Windows running on a router? Neither can we! Our operating system on the other hand, it quite capable of accomplishing this goal. Due to its small size, and by utilizing the aforementioned benefit, you can control that device no matter its design or function.<br />
<br />
* Works with older hardware<br />
:: Since the firmware is small and efficient, it should work with the old computer you've stored in the closet over the last 10+ years. This can turn an old, obsolete computer into a working tool for young children, grandparents, or even act as a gateway into network resources in a variety of situations and environments.<br />
<br />
* No installation media<br />
:: Ever wanted to install that latest version of your favorite OS, but can't find a blank DVD or flash drive to create the installation media just to install on another media (e.g. hard drive) for actual use? Well, we've skipped that intermediary step and combined both into one. You can also not only obtain XiniX from our website, but you can create a copy from within the software itself!<br />
<br />
* First actual cloud-based OS<br />
:: You may be thinking "I can already use the cloud with a web browser and software like dropbox", but that doesn't quite define a cloud-based operating system. First, browsing the Internet with a web browser does not fall within this scope. And second, the use of 3rd party software means that the OS is incapable of cloud interaction natively. XiniX can seamlessly connect with services such as Amazon's AWS, web hosting servers, and other XiniX devices natively. Files can be copied back and forth just as you would if it were local, and more!<br />
<br />
* Unique p2p networking<br />
:: XiniX uses its own type of networking using a peer-2-peer method among devices. This means that setting up a network of devices involves nothing more than pairing the desired devices with one another in a simple process that even grandma could understand!<br />
<br />
* Perfect as IoT OS<br />
:: Since XiniX was designed to be as small as possible while allowing for a reasonable amount of functionality out-of-the-box, it is a perfect choice for those interested in creating a device considered as part of the "Internet of Things" (IoT). No only does it have a small footprint along with the ability to be used in devices with or without displays, but the software is constantly updated to prevent malicious activity from taking place by patching bugs and fixing points of exposure!<br />
<br />
<center><br />
:: * This can be achieved if working without a DATA partition or if the DATA partition is on other media or a network resource.<br />
:: ** This is currently in development, seamless LAN access is currently only available.<br />
</center><br />
<br />
<br />
{| class='wikitable' style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Vanilla Edition (VE) !! Embedded Edition (EE) !! TinyCore Linux<br />
|-<br />
| style='text-align: left' | Target Size || Under 64MB || Under 32MB || &nbsp;<br />
|-<br />
| style='text-align: left' | Current Size || 69MB (32bit)<br />76MB (64bit) || 37MB (32bit)<br />41MB (64bit) || Approx 16MB<br />
|-<br />
| style='text-align: left' | Built-in Capabilities || &nbsp; || &nbsp; || &nbsp;<br />
|-<br />
| style='text-align: left' |<br />
:: NTFS Capabilities<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: LAN, BT, Wifi<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Controlled via Device<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Designed for Cloud<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Access<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Interface<br />
|| GUI || GUI || None<br />
|-<br />
| style='text-align: left' |<br />
:: Local Interface<br />
|| GUI || CLI || GUI<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==History==<br />
Currently the operating system is still in beta, which means that it should not be put into production for businesses. However, the system is stable enough for personal and hobbyists usage. Up to version 2016.11.01.0, all distributed images were for the Intel/AMD 64bit processors and were the Vanilla Edition (VE). With the release of 2016.11.01.0, however, both 32bit and 64bit were available as well as being offered in two editions - Embedded Edition (EE) and Vanilla Edition (VE). The former edition is intended for hobbyists projects, routers, set top boxes, etc., whereas the latter is suitable for traditional computers such as laptops and desktops. As of version 2016.12.01.0, two different types of image files were released to expand the media that could be used in order to boot into XiniX. Previously only drive images were available for media such as hard drives, flash drives, SD cards, etc., but the December 2016 release also included optical images capable of booting off of optical media such as a CD or DVD.<br />
<br />
Some big changes came with version 2017.04.07.0 including a 'Welcome' screen that allows the user to tailor the OS to their basic needs by installing some commonly used software such as a PDF viewer and office suite. Also, this release enabled full usage on mobile smartphones (tablets were still untested) using the default theme as well as the integration of web.link (remote control) and web.sight (image viewer). The package manager (pax) received some new abilities as well including the parsing of conditional and specific version numbers of packages, and the ability to process file lists and directories as the source of packages instead of them being specifically stated. Lastly this version included an auto-login when no DATA exists along with several boot menu options to work with devices that did not work well with the default auto-configuration of the frame buffer with graphical user interfaces (e.g. VE).<br />
<br />
Our long term goals include the ARM CPU architecture in both 32bit and 64bit, with an anticipated release within Q2 2017. If our users have enough interest, we will also expand into MIPS and PowerPC.<br />
<br />
<br />
<br />
<br />
==Requirements==<br />
Due to the small footprint that makes up the XiniX operating system, not much hardware is required to run it. The below is the minimal values of both categories in order to run the OS.<br />
{| class="wikitable" style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Processor (CPU) !! Memory (RAM) !! Storage (HDD) !! Graphics Card !! Display !! Network !! Notes<br />
|-<br />
| style='text-align: left' | Required (EE) || Single-core 400MHz (est) || 48MB || 100MB || None || None || None<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Required (VE) || Single-core 800MHz (est) || 128MB || 100MB || VGA compatible || 800x600, 256 Colors || None<br />
| style='text-align: left' | Lowest tested is an Intel P3 1.13Ghz<br />
|-<br />
| style='text-align: left' | Recommended (EE) || Single-core 1GHz || 512GB || 8GB || VGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Recommended (VE) || Dual-core 1.8GHz || 2GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | This should be any desktop/laptop around 2006<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==Installation==<br />
There are currently three ways to obtain and install XiniX - [https://sourceforge.net/projects/xinix/?source=directory sourceforge.net], our [http://www.cliquesoft.org/#Projects website], or from within the OS interface itself. All methods will be covered below. While we are working to expand the installation wizard to reduce this complexity in Linux, Microsoft Windows users should have a fairly straight forward process. As a result, only someone with the proper knowledge should attempt these steps in a Linux environment as any wrong values can actually erase your hard drive!<br />
<br />
===<u>Download</u>===<br />
: No matter what operating system you are using, this part of the process is easy to complete. To begin, simply click on either of the first two links offered above. If you have selected sourceforge.net to obtain the image, you should be presented with the latest version to download by using the green 'Download' button located towards the top of the webpage. Keep in mind this will be for the 32bit iso version of the Vanilla Edition (VE) which is made for desktops and laptops using optical media such as CD's and DVD's. If you are interested in different CPU architectures, editions, or installation media, click the 'Files' option right below the header on that webpage and select which file you would like to download. Keep in mind that scrolling further down the page will present you with information to guide you in downloading the desired image.<br />
<br />
: If you choose to obtain XiniX from our website, you will need to scroll down to the bottom of the page to find it since the listing is in alphabetical order. Once you have found the XiniX operating system, you can read the description to determine which edition is right for you. Once you have that figured out, clicking the 'Download' listbox will expose all the available images for download. The layout for each entry is as follows:<br />
<br />
:: [State] [Edition] Target CPU Bit<br />
<br />
: You will need to find the list item belonging to your running OS, or the 'ISO' that can be used to create XiniX boot media regardless of the operating system you are currently using (e.g. Apple, Linux, Windows). Clicking that entry from the list will download the image to your computer.<br />
<br />
<br />
: '''Linux'''<br />
: As mentioned above, we are working to expand the included installation wizard for those not comfortable with the command prompt. However, if you have a basic knowledge of computers, the one included should be adequate enough to get XiniX installed on the desired media. If you are a grandparent or someone who just does not understand technology, check back frequently to see if the proper modifications have been made for you! For those of you still with us, once you have downloaded the desired image, there are a few steps required to get the OS on your desired media. For the sake of these examples, we will assume that the image currently resides in the '/tmp' directory with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.tgz.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have obtained a drive image (img), then one set of the below instructions need to be followed. These directions apply to all Linux distros and require you to first get to a command prompt to execute the following steps in order to install XiniX. You should not have to worry about obtaining additional software to accomplish this task as the programs used here are installed by default in all main stream Linux distros. In this example, we will be using the /dev/sdb device to write the image too. <u>WARNING:</u> these steps will ERASE all the data on that device before installing XiniX!!!<br />
<br />
:: <u>Using the Wizard</u><br />
:: As of version 2017.05.07.0, a wizard has been included with each distribution file for the Linux OS. So after going into the '/tmp' directory and uncompressing the downloaded file, you should see a script named 'install.sh' which will need to be started to guide you through the installation routine. Each step mentioned is shown below:<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ ./install.sh<br />
</pre><br />
<br />
:: From this point, you will be asked a few questions to find the image to burn along with the desired target media. After confirming the writing process, your XiniX boot media will be created for you.<br />
<br />
:: <u>Using raw commands</u><br />
:: Anyone that is using this method will most likely already know how to perform these steps, but they have been included for those seeking to gain more knowledge. It is important to note that if the media generated by performing the following commands has problems booting, you may need to wait 10 seconds or so after the final output below is shown to make sure all the buffers have been flushed to disk.<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ dd if=XiniX_VE_2016.12.01.0_32bit.img of=/dev/sdb conv=fdatasync<br />
</pre><br />
<br />
:: Make sure you use the trailing 'conv=' parameter so output buffers get flushed to the disk (see this [http://askubuntu.com/questions/318186/wait-for-dd-command-to-fully-write-to-the-disk post]). Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
1250000+0 records in<br />
1250000+0 records out<br />
640000000 bytes (640 MB) copied, 119.708 s, 5.3 MB/s<br />
</pre><br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (with is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ tar zxf /tmp/XiniX_VE_2016.12.01.0_32bit.iso.tgz<br />
$ cdrecord -v -dao -eject dev=/dev/dvd /tmp/XiniX_VE_2016.12.01.0_32bit.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
: '''Windows'''<br />
: For users of the Microsoft Windows operating systems, you will have a straight forward process to create bootable media no matter which type of image you have selected to use. Unlike Linux, however, there are no ways to create media from the command line, so these steps should be easy for any user in this environment. For the sake of these examples, we will assume that the image currently resides on your Desktop with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.zip.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have selected to use a drive image (img), first you will need to uncompress all of the .zip file contents to your Desktop. Once the decompression has completed, navigate inside the 'Windows Installer' folder and double click the file named 'setup' (it may have an optional '.exe' appended). Once the application has loaded, click the folder icon at the top and locate the XiniX image file (e.g. XiniX_VE_2016.12.01.0_32bit.img). Next select the media to install XiniX to from the following listbox to the right. Once you have those values in place, click the 'Write' button and wait for the installation to complete. If you would like to get and compare the MD5 hash's, simply check the 'MD5 Hash' checkbox. <u>WARNING:</u> XiniX can NOT be installed along side another OS at the moment and will erase the contents of the selected media!<br />
<br />
[[File:Windows_Installer.png|center|Create Image]]<br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
:: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
<br />
<br />
===<u>Interface</u>===<br />
: This method is the easiest way to create copies of the operating system and assumes that you are working with an already running installation of XiniX. Using the default theme, click the 'State' option from the navigation menu and locate the "i" button in the top left-hand corner of the screen. After clicking it, you will be presented with a popup that shows you the various media available and is divided into two sections - 'Internal Storage' and 'Attached Storage Devices'. Included on the screen is some additional information that should help you select which section to use when determining your target. Now select the media to install on along with the CPU architecture (bit) of the target device. If the latter information is unknown, you can use the 32bit as a failsafe option. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:XiniX.png|Create Image<br />
File:XiniX_create.png|Configure<br />
</gallery><br />
<br />
: We will later expand the options to allow for the installation of the different editions regardless of the one currently being used, but at the present the install screen will only produce another copy of what is running. So for example, if you're using the Vanilla Edition (VE), then this screen will only create another copy of VE. EE will produce another EE, and so forth.<br />
<br />
<br />
No matter what method you had to use above, simply reboot your device using the media that you just installed XiniX to and enjoy your adventure!<br />
<br />
<br />
<br />
<br />
==Booting==<br />
Unless optical media was used as the source to boot from, the list of options that are available using the boot menu will not be accessible without invoking it. To expose this list, simply press the F8 key repeatedly once the XiniX graphic is shown during the boot cycle. If successful, then the list of options below should be shown. Of course, if the two second window for accessing it has passed during the boot process, the device will need to be rebooted in order to attempt this task once again. And although the list has several many options, some of which may not be easy to figure out at first glance, each selection will be discussed in more depth below.<br />
<br />
: '''Start XiniX'''<br />
:: As the caption of the first option eludes to, selecting this option will start the operating system as it normally would if the boot menu was never accessed. Optical boot media users will always be presented with this list, so this will most likely be your pick. However, if the menu was accessed using any other boot media, then this is most likely the option that will not be desired.<br />
<br />
: '''Low Resolution'''<br />
:: Some devices will not work with the auto-configuration of the graphical environment (frame buffer) and will just stay stuck on the XiniX boot graphic. In those instances, this menu option can be used to get into a working system so that the proper driver installations can take place so a normal bootup can occur. If additional problems persist, the 'Safe Mode' option may need to be used instead.<br />
::: NOTE: this is only available with VE<br />
<br />
: '''Install XiniX'''<br />
:: Although XiniX does not have an install process like traditional operating systems such as Microsoft Windows, selecting this option basically creates a DATA partition allowing a user to save their data instead of using the boot media anonymously – similar to that of a live CD. For additional information on this topic, please see the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Composition Composition]]' section below and the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Installation Installation]]' section above.<br />
<br />
: '''Install Drivers'''<br />
:: Upon having issues with a non-working or sluggish graphical environment when using a device, this option can be selected to help resolve problems by installing the more powerful display server known as [https://en.wikipedia.org/wiki/X.Org_Server Xorg] along with the desired graphics driver.<br />
::: NOTE: this is only available with VE<br />
<br />
<br />
: '''Anonymous Mode'''<br />
:: Typically when XiniX starts, it searches for a DATA partition and automatically mounts it so that the user data can be saved. However, there may be times when that information may not be needed or wanted. This mode will allow XiniX to be used anonymously so that data and software is not saved during that session causing the environment to act like a 'Live CD' was booted - even if a DATA partition exists!<br />
<br />
: '''Compatibility Mode'''<br />
:: As hardware manufacturers sometimes rush their equipment to market, bugs can be present in their firmware causing issues with booting some operating systems. Additionally some older hardware might have issues with some newer technologies found in the Linux kernel. Either way, this option can help to get into a working environment by skipping some features (issuing 'noapic noacpi irqpoll' calls to the kernel during bootup). Like the 'Conservative Mode' below, this item will also load software using symlinks instead of in the RAM.<br />
<br />
: '''Conservative Mode'''<br />
:: Since XiniX was designed to work with modern and aging hardware, a boot option to use with the latter was included. The only difference between this option and the default 'Start XiniX' is that instead of loading all the software to the RAM, the software is symlinked against the storage device - saving memory resources at the expense of being slightly slower in operation.<br />
<br />
: '''Debug Mode'''<br />
:: Unlike the other modes found in this section of the boot menu list, this one works exactly like the 'Start XiniX' option but outputs much more information in the /var/log directory associated with the boot process to help systems administrators and developers find and fix problems.<br />
<br />
: '''Emergency Console'''<br />
:: Although the XiniX operating system has been designed to make using it as easy as possible, there will inevitably be times where some adjustments don't work as desired. In those few instances, systems administrators can easily get to a console prompt to start the process of correcting those issues. Similar to the warning provided by using the 'Restore Console', this menu item should avoided without detailed knowledge of the software and command prompt.<br />
<br />
: '''Restore Console'''<br />
:: There are times when installing or updating software can lead to undesired effects - especially after a reboot has occurred. So in the event that a device will no longer boot due to suspected software issues, select this item to get into a console where restores can be made from prior backups. Please note that this should be used with caution!<br />
::: NOTE: this is not a boot option before 2017.04.07.0<br />
<br />
: '''Safe Mode'''<br />
:: Building off of the 'Compatibility Mode' boot option, this one also does not process any personal boot scripts in the event that one of them may be causing problems during the boot process.<br />
<br />
<br />
: '''From Harddrive'''<br />
:: Sometimes alternative boot media is accidentally left in the computer after it has been powered down causing it to be booted to upon a subsequent bootup. No fear! In instances like that, this option can be used to automatically switch back to the internal hard drive to boot from without having to power cycle the device again.<br />
<br />
<br />
: '''Test Memory'''<br />
:: When a device does not seem to be working properly and no other option can be identified as the culprit, testing the RAM for errors is a good place to check. Using this item will load a small application that will test the entire set of memory modules installed in the device as well as display a plethora of information about them. And although it may not be displayed on the screen, continuing to press the down arrow key on the keyboard will eventually cycle to it in the list.<br />
<br />
<br />
<br />
<br />
==Usage==<br />
<br />
===Errors===<br />
: Although the default configuration should broadly work with most devices, in some instances, depending on the hardware, you may find that the graphical interface fails to work properly. Until a better solution can be found, a separate boot option has been included to help install additional display drivers so that you will be able to get into the operating system. If you fall under this condition, simply reboot your device and as soon as you see the 'XiniX' boot graphic, start repeatedly pressing the 'F8' key to show the boot menu (unless you're booting from optical media which always shows the menu). Select the option labeled "Install Drivers" and after the boot process completes, simply select the manufacturer of your graphics card and the proper drivers should be installed. After the device reboots, you should have a properly working graphical environment.<br />
<br />
: Please be aware that you must have installed XiniX before proceeding with these steps since we need a DATA partition to store saved data and information. If this has not taken place yet, select 'Install XiniX' option from the boot menu before proceeding with the steps outlined above.<br />
<br />
===GUI===<br />
: Covering the user interface is outside the scope of this document, but [http://wiki.cliquesoft.org/index.php?title=web.de click here] to be redirected to the proper location that will explain the interface in detail. However, we do want to mention that a XiniX device can be controlled locally ([https://en.wikipedia.org/wiki/X_Window_System X11]) and/or remotely ([https://en.wikipedia.org/wiki/Web_browser browser]). To change this behavior navigate to the 'Access > Device > Settings > web.de' popup and change the 'Access' values to your desired configuration and click the 'Ok' button. More information about the GUI and access to it can be found in the first link above.<br />
<br />
===Administration===<br />
: The first account created during the installation routines will be granted an additional privilege over all the other accounts. By default the 'root' account (aka administrator in Linux) can not be used to log into any device for security reasons. This also means that the root account can not be switched to in order to perform administrative tasks due to not having a password. As a way to enable the usage of the root account, the first created user account will receive the ability to switch to the root account in the event that you require that type of access. In order to make this switch, perform the following steps at a command prompt with the afore mentioned account:<br />
<br />
<pre style='margin-left: 22px'><br />
$ sudo su root<br />
</pre><br />
<br />
: NOTE: Performing the above steps should be rare, if at all. If you find yourself using the root account regularly, you should instead adjust the /etc/sudoers file to grant the appropriate privileges as a regular user since using the root account presents additional security risks!<br />
<br />
===Login===<br />
: Unlike other Linux distros, the login credentials are specific to this operating system. While XiniX still uses the default administrators user account in Linux known as 'root', the password is not anything that is typically used to gain access. Instead, you must use 'now has zen' as the password in order to login successfully. It is important to note that this only applies when booting off of optical media such as CD's or DVD's, and if the OS has not been 'installed'. Once a DATA partition has been created post 'installation', the 'root' account can no longer be used to login (for security), but the credentials of the other accounts will be saved for future logins.<br />
<br />
: As of version 2017.04.07.0, an auto-login is engaged when no DATA partition exists. However, if you need to get into certain areas such as 'Access > Device', then you will still need to use the password mentioned above.<br />
<br />
===Composition===<br />
: Since XiniX is unlike its competition and is in a class of its own, it is important for the user to have a brief overview of the operating system itself. As eluded to in the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Features Features]]' section above, there is not two types of media (installation and runtime) like there is in the world of Microsoft. Meaning that you don't have to create/obtain an installation DVD (installation media) to install to a hard drive (runtime media) before being able to use the operating system - they are one-in-the-same! So by having any XiniX boot media (installation and runtime), you can not only fully use the OS, but you could in turn create other boot media such as CDs, flash drives, and hard drives.<br />
<br />
: Now that you understand XiniX's boot media, known as 'FIRMWARE', we would like to discuss the optional second part of the OS. While the user will have no restrictions using only the 'FIRMWARE', this will simply create an (anonymous) 'Live CD' environment so that you can play or test the software without making any changes to your existing setup. So if you install applications and write a document or two, none of that information will be saved after a reboot or shutdown of the device. This is where the 'DATA' partition comes in. As indicated by the name, this storage area will contain all your installed applications and saved data such as settings, documents, favorites, music, and movies. Most users will opt to have both a FIRMWARE (operating system) and DATA (user data) for a complete solution, however, the separation was made for flexibility. One last point to make is that while both can reside on the same media (e.g. hard drive), they do <u>NOT</u> have to be. So for example, you can boot off of a FIRMWARE DVD and have DATA as a flash drive!<br />
<br />
<br />
<br />
<br />
<br />
==Editions==<br />
XiniX will ultimately be distributed in multiple editions to best serve its user base. Each will be covered below:<br />
<br />
* '''Vanilla (VE)''' As the name suggests, this edition qualifies as a clean, small, and efficient distribution of the operating system meant for personal devices such as desktops and laptops with goals to later expand into mobile devices. There are no applications bundled aside from the ones necessary for system manipulation found under the 'Access > Device' screen. This not only reduces security concerns by not having unused or unwanted software installed with potential exploits, but also allows the user to personalize their device to their individual liking. By default, it is shipped with a lightweight graphical system (framebuffer) for 2D rendering, but if more powerful acceleration is required (Xorg), it can be installed using just a few clicks of the mouse.<br />
<br />
* '''Client (CE)''' Building off of the Vanilla Edition foundation, this distribution targets the SOHO and medium-sized business market. Like its base, it maintains a small, efficient footprint, but incorporates additional user account properties and authentication mechanisms (via [https://en.wikipedia.org/wiki/OpenLDAP LDAP]) for robustness. Since this edition is meant for use on higher-end hardware, the more powerful graphical system (Xorg) is installed by default. Also offered in the version will be the ability to use a traditional server and client network model with its own set of unique properties to help businesses in several ways.<br />
<br />
* '''Server (SE)''' Servers have stringent requirements, one of them is that is must remain up and running as long as possible. Since XiniX can expose its [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] (GUI) locally or remotely, as mentioned in the 'Features' section of this document, this edition, by default, provides that capability through the web browser of any authorized device and with local access being in the form of the [https://en.wikipedia.org/wiki/Command-line_interface command line interface] (CLI). Employees should never use a server as a work station, so there is no need to eat up resources on powering something that will never be used. This reduces overhead (and security risks) for the server so that those CPU cycles can be spent handling requests for clients - the main job of the server. Of course, a local GUI can be installed if one is desired.<br />
<br />
* '''Embedded (EE)''' Like the Server Edition, this version comes without a local GUI by default and will target embedded devices such as hobbyist projects, [https://en.wikipedia.org/wiki/Router_%28computing%29 routers], and [https://en.wikipedia.org/wiki/Set-top_box set-top boxes]. Although the default option is to install a remotely accessible GUI, a locally available GUI can be installed as well (up to Xorg), should the device require it. XiniX should maintain the smallest footprint possible with the OEM adding only what is necessary for their device to function as designed.<br />
<br />
<br />
<br />
<br />
==Comparison==<br />
Competition is always good for the market place, especially when there are only a few power players in the industry. Currently there are only three large operating system vendors - Microsoft, Apple, and Google. The make matters even worse, one of them dominates on mobile and another one dominates the desktop market. As a new competitor, XiniX can presently only compete in the desktop market so that will be reflected in the table below. Also, the below information will be based on the 64-bit, 'Home' or personal-use edition of each respective OS (Vanilla Edition for XiniX).<br />
<br />
{| class="wikitable"<br />
|-<br />
! &nbsp; !! Apple OS X !! Google Android 5 !! Microsoft Windows 10 !! Canonical Ubuntu 15.04 !! Cliquesoft XiniX Beta !! Description<br />
|-<br />
| Storage (HDD) || 9GB || Unknown || 20GB || 5GB || 96MB || Minimum storage space to install OS<br />
|-<br />
| Memory (RAM) || 2GB || Unknown || 2GB || 384MB || est 384MB || Required memory amount to run OS<br />
|-<br />
| Processor (CPU) || 1GHz || Unknown || 1GHz || 700MHz || est 600MHz || Required CPU speed to run OS<br />
|-<br />
| Networking (Style) || Server/Client || None || Server/Client || Server/Client || p2p & Server/Client || How the network style is arranged<br />
|-<br />
| Networking (Type) || LAN || None || LAN || LAN || LAN & Cloud || The type of network capability built into OS<br />
|-<br />
| Users || Multi || Single || Multi || Multi || Single or Multi || Defines individual or group usage of device<br />
|-<br />
| Cost || Est 1500* || Est $500* || Est $150* (home) || Free || Free || Monetary cost of the software<br />
|-<br />
| Applications || App Store || Google Play || Unknown || Synaptic || Software Shoppe || Source of installable software catalog<br />
|-<br />
| Printing || CUPS || None || Print Mgr || CUPS || CUPS || Locally attached or wifi printer capabilities<br />
|-<br />
| Media Lookup || No || No || No || No || Yes** || Obtains online information for personal movies<br />
|-<br />
| Bloated || Yes || Yes || Yes || Yes || No || Excessive pre-loaded software<br />
|-<br />
| Privacy (online) || [http://www.digitaltrends.com/mobile/apple-icloud-hack-china/ No]*** || [http://adwords.blogspot.com/2015/09/Google-brings-you-closer-to-your-customers.html No]**** || [http://thenextweb.com/microsoft/2015/07/29/wind-nos/ No], [http://www.forbes.com/sites/gordonkelly/2016/02/09/windows-10-data-tracking-spying-levels/?utm_campaign=yahootix&partner=yahootix#89701e97aa99 No] ***** || Yes || Yes || Is user privacy retained<br />
|-<br />
| Updates || Non-forced || Non-forced || [http://www.zdnet.com/article/windows-10-upgrade-nags-become-more-aggressive-offer-no-opt-out/#ftag=YHFb1d24ec?ref=yfp Forced] || Non-forced || Non-forced || User control of updates<br />
|-<br />
| Degradation || Yes || Yes || Yes || Yes || No****** || The performance degradation overtime<br />
|-<br />
|}<br />
<br />
: * Cost is based on the purchase of the equipment required to run the OS<br />
: ** The filename must be in a specific format - automated mated renaming efforts are under development<br />
: *** Based on their centralization of (more easily hackable) customers data versus our decentralized approach<br />
: **** Based on the well know erosion of Google's privacy policy with the users of their products<br />
: ***** Based on the revelations of excessive, unstoppable communication with Microsoft's Windows 10<br />
: ****** Based on how the OS is loaded (stages), where it is loaded (RAM), and by not having a 'registry'</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=XiniX&diff=5810XiniX2017-05-10T12:55:30Z<p>Digitalpipe: /* Requirements */</p>
<hr />
<div>The distro that's poised to usher in the year of the Linux desktop, XiniX has been released as a beta! Hitting the market just weeks after the two power houses release their latest versions, Microsoft Windows 10 on July 29 2015 and Apple iOS on September 16 2015, XiniX, the little-known underdog, has entered the market! So what is XiniX (pronounced 'zen-ics')? First, XiniX is an [https://en.wikipedia.org/wiki/Operating_system operating system] (OS) just like [http://www.microsoft.com Microsoft Windows] and [http://www.apple.com Apple's iOS], but is based on Linux akin to [http://www.google.com Google's Android]. XiniX represents the world's next generation of OS and is currently available for use on conventional computers such as desktop or laptops, with mobile platforms coming in the future. Built to act more as a firmware among devices, one of its primary goals is to remain small and efficient - just enough to get the device into an environment where the (users') work takes center stage!<br />
<br />
Unlike any of the companies mentioned above, our OS is not based on fixed releases (e.g. Windows 8, Windows 10), but instead, is distributed as a continuing (or rolling) release as updates are made available. What's also different, is that our OS comes with just enough software to get you basic device operations and then lets you take over and personalize the device by installing any of the software or services located in our 'Software Shoppe'. In the sections that follow, we will not only cover some of the unique aspects of the amazing operating system, but we will also compare it with others to help users better understand if they would like to make the switch!<br />
<br />
<br />
<br />
<br />
==License==<br />
There are various projects that make up the XiniX core operating system. Each will be listed below with their respective license. More information about the CPLv2 licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
{| class='wikitable' style='margin: auto'<br />
! '''Package''' !! '''License''' !! '''Package''' !! '''License''' !! '''Package''' !! '''License'''<br />
|-<br />
| '''Linux''' || GPLv2 || '''grub''' || GPLv3 || '''busybox''' || GPLv2<br />
|-<br />
| '''Xfbdev''' || na || '''alsa-config''' || na || '''socat''' || na<br />
|-<br />
| '''nmap''' || na || '''harfbuzz''' || na || '''imlib2-bin''' || na<br />
|-<br />
| '''libXau''' || na || '''libXdmcp''' || na || '''libfontenc''' || na<br />
|-<br />
| '''libXt''' || na || '''libXext''' || na || '''libXrender''' || na<br />
|-<br />
| '''Xorg-fonts''' || na || '''Xprogs''' || na || '''fonts-mscore''' || na<br />
|-<br />
| '''imlib2''' || na || '''libXfont''' || na || '''libXi''' || na<br />
|-<br />
| '''libXmu''' || na || '''libXpm''' || na || '''libXrandr''' || na<br />
|-<br />
| '''libffi''' || na || '''libjpeg-turbo''' || na || '''libpng''' || na<br />
|-<br />
| '''libxcb''' || na || '''Xlibs''' || na || '''file''' || na<br />
|-<br />
| '''clapi''' || CPLv2 || '''web.de''' || CPLv2 || '''web.ui''' || CPLv2<br />
|-<br />
| '''FXwm''' || CPLv2 || &nbsp; || &nbsp; || &nbsp; || &nbsp;<br />
|}<br />
<br />
<br />
<br />
<br />
==Features==<br />
What makes a software title desired by the masses? Its features of course! While XiniX is still in its infancy, there are some features that we would like to point out and provide details on. While the below list may not include all the current features, and does list some that are in development, it does provide you with some indication of what can be done with the current version of our OS. Take the time to try it and you'll learn why we say "Achieve zen with XiniX!"<br />
<br />
* Better security<br />
:: There's a reason why we started the list with this item. Security has become much more of a concern today than years past, especially with the revelations of government and corporate spying along with those out there willing to cause harm using malware and ransomware. The more parts of a working system you have, the more opportunities there are to exploit bugs and other issues that can cause you problems. Compare our clean install size of the Vanilla Edition (VE) at less than <u>85MB</u> (under 64MB for EE), whereas Windows 10 is approximately <u>15,000MB</u> - 0.004 the size! As you can see, we offer quite a substantial reduction in software that can be exploited on your device to allow others to take advantage of you!<br />
<br />
* Best Price in its class<br />
:: Another top concern with households and businesses nowadays is how much does it cost me to stay up-to-date and productive? Once again, we shine where our competitors fail - releasing XiniX for the low, low cost of $FREE USD! Compare that to the 3 year Microsoft upgrade fee of $200-$300 to get the latest version of only Windows (not to mention Office and other software), $1200-$2000 to get the latest Apple device to use their software, and forget about Google's Android since it is only available for mobile devices (placing it in the category of Apple where you must buy a device to get it). You can use our XiniX OS on any laptop, desktop, server, and soon on mobile devices as well!<br />
<br />
* Can run from any storage media<br />
:: Since XiniX was designed to be lightweight and efficient from day 1, we can install it to a wide variety of media. This includes hard drives, optical discs, flash drives, SD cards, and more! What's more is that since the OS, by default, loads to RAM, once the OS has been loaded, you can even remove the bootable media itself!* In an upcoming release, the OS can even be loaded over the network via [https://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE].<br />
<br />
* Clean separation of OS from data and apps<br />
:: Since our OS works as a common firmware among devices and is designed to get you in an environment to perform your work, once it is loaded, it gets out of your way! From that point forward, the only interaction the user has will be with their data and applications on a local or network resource.<br />
<br />
* Clear separation of [https://en.wikipedia.org/wiki/Graphical_user_interface GUI] from engine<br />
:: Simply put, this will allow any user (GUI) to control any device (engine). So, for example, you may have a computer connected to your living room TV that can be controlled with your smart phone or tablet - natively! No additional software to install and configure! And while you can't currently install XiniX on a smart phone or tablet, you can still connect and control the XiniX-based device using the web browser already installed on either of those devices.<br />
<br />
* Easy built-in local and remote access<br />
:: Like many of the existing mainstream operating systems, XiniX can also handle local and remote access for users. Where we differ from the other OS's is the fact that this interaction only requires a web browser and not a separate piece of software or other elaborate infrastructure to route requests properly. Once two devices are paired, it doesn't matter the physical location of either!**<br />
<br />
* Useful for headed or headless devices<br />
:: Can you imagine Microsoft Windows running on a router? Neither can we! Our operating system on the other hand, it quite capable of accomplishing this goal. Due to its small size, and by utilizing the aforementioned benefit, you can control that device no matter its design or function.<br />
<br />
* Works with older hardware<br />
:: Since the firmware is small and efficient, it should work with the old computer you've stored in the closet over the last 10+ years. This can turn an old, obsolete computer into a working tool for young children, grandparents, or even act as a gateway into network resources in a variety of situations and environments.<br />
<br />
* No installation media<br />
:: Ever wanted to install that latest version of your favorite OS, but can't find a blank DVD or flash drive to create the installation media just to install on another media (e.g. hard drive) for actual use? Well, we've skipped that intermediary step and combined both into one. You can also not only obtain XiniX from our website, but you can create a copy from within the software itself!<br />
<br />
* First actual cloud-based OS<br />
:: You may be thinking "I can already use the cloud with a web browser and software like dropbox", but that doesn't quite define a cloud-based operating system. First, browsing the Internet with a web browser does not fall within this scope. And second, the use of 3rd party software means that the OS is incapable of cloud interaction natively. XiniX can seamlessly connect with services such as Amazon's AWS, web hosting servers, and other XiniX devices natively. Files can be copied back and forth just as you would if it were local, and more!<br />
<br />
* Unique p2p networking<br />
:: XiniX uses its own type of networking using a peer-2-peer method among devices. This means that setting up a network of devices involves nothing more than pairing the desired devices with one another in a simple process that even grandma could understand!<br />
<br />
* Perfect as IoT OS<br />
:: Since XiniX was designed to be as small as possible while allowing for a reasonable amount of functionality out-of-the-box, it is a perfect choice for those interested in creating a device considered as part of the "Internet of Things" (IoT). No only does it have a small footprint along with the ability to be used in devices with or without displays, but the software is constantly updated to prevent malicious activity from taking place by patching bugs and fixing points of exposure!<br />
<br />
<center><br />
:: * This can be achieved if working without a DATA partition or if the DATA partition is on other media or a network resource.<br />
:: ** This is currently in development, seamless LAN access is currently only available.<br />
</center><br />
<br />
<br />
{| class='wikitable' style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Vanilla Edition (VE) !! Embedded Edition (EE) !! TinyCore Linux<br />
|-<br />
| style='text-align: left' | Target Size || Under 64MB || Under 32MB || &nbsp;<br />
|-<br />
| style='text-align: left' | Current Size || 69MB (32bit)<br />76MB (64bit) || 37MB (32bit)<br />41MB (64bit) || Approx 16MB<br />
|-<br />
| style='text-align: left' | Built-in Capabilities || &nbsp; || &nbsp; || &nbsp;<br />
|-<br />
| style='text-align: left' |<br />
:: NTFS Capabilities<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: LAN, BT, Wifi<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Controlled via Device<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Designed for Cloud<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Access<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Interface<br />
|| GUI || GUI || None<br />
|-<br />
| style='text-align: left' |<br />
:: Local Interface<br />
|| GUI || CLI || GUI<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==History==<br />
Currently the operating system is still in beta, which means that it should not be put into production for businesses. However, the system is stable enough for personal and hobbyists usage. Up to version 2016.11.01.0, all distributed images were for the Intel/AMD 64bit processors and were the Vanilla Edition (VE). With the release of 2016.11.01.0, however, both 32bit and 64bit were available as well as being offered in two editions - Embedded Edition (EE) and Vanilla Edition (VE). The former edition is intended for hobbyists projects, routers, set top boxes, etc., whereas the latter is suitable for traditional computers such as laptops and desktops. As of version 2016.12.01.0, two different types of image files were released to expand the media that could be used in order to boot into XiniX. Previously only drive images were available for media such as hard drives, flash drives, SD cards, etc., but the December 2016 release also included optical images capable of booting off of optical media such as a CD or DVD.<br />
<br />
Some big changes came with version 2017.04.07.0 including a 'Welcome' screen that allows the user to tailor the OS to their basic needs by installing some commonly used software such as a PDF viewer and office suite. Also, this release enabled full usage on mobile smartphones (tablets were still untested) using the default theme as well as the integration of web.link (remote control) and web.sight (image viewer). The package manager (pax) received some new abilities as well including the parsing of conditional and specific version numbers of packages, and the ability to process file lists and directories as the source of packages instead of them being specifically stated. Lastly this version included an auto-login when no DATA exists along with several boot menu options to work with devices that did not work well with the default auto-configuration of the frame buffer with graphical user interfaces (e.g. VE).<br />
<br />
Our long term goals include the ARM CPU architecture in both 32bit and 64bit, with an anticipated release within Q2 2017. If our users have enough interest, we will also expand into MIPS and PowerPC.<br />
<br />
<br />
<br />
<br />
==Requirements==<br />
Due to the small footprint that makes up the XiniX operating system, not much hardware is required to run it. The below is the minimal values of both categories in order to run the OS.<br />
{| class="wikitable" style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Processor (CPU) !! Memory (RAM) !! Storage (HDD) !! Graphics Card !! Display !! Network !! Notes<br />
|-<br />
| style='text-align: left' | Required (EE) || Single-core 400MHz (est) || 48MB || 100MB || None || None || None<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Required (VE) || Single-core 800MHz (est) || 128MB || 100MB || VGA compatible || 800x600, 256 Colors || None<br />
| style='text-align: left' | Lowest tested is an Intel P3 1.13Ghz<br />
|-<br />
| style='text-align: left' | Recommended (EE) || Single-core 1GHz || 512GB || 8GB || VGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | &nbsp;<br />
|-<br />
| style='text-align: left' | Recommended (VE) || Dual-core 1.8GHz || 2GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | This should be any desktop/laptop around 2006<br />
|-<br />
|}<br />
<br />
==Installation==<br />
There are currently three ways to obtain and install XiniX - [https://sourceforge.net/projects/xinix/?source=directory sourceforge.net], our [http://www.cliquesoft.org/#Projects website], or from within the OS interface itself. All methods will be covered below. While we are working to expand the installation wizard to reduce this complexity in Linux, Microsoft Windows users should have a fairly straight forward process. As a result, only someone with the proper knowledge should attempt these steps in a Linux environment as any wrong values can actually erase your hard drive!<br />
<br />
===<u>Download</u>===<br />
: No matter what operating system you are using, this part of the process is easy to complete. To begin, simply click on either of the first two links offered above. If you have selected sourceforge.net to obtain the image, you should be presented with the latest version to download by using the green 'Download' button located towards the top of the webpage. Keep in mind this will be for the 32bit iso version of the Vanilla Edition (VE) which is made for desktops and laptops using optical media such as CD's and DVD's. If you are interested in different CPU architectures, editions, or installation media, click the 'Files' option right below the header on that webpage and select which file you would like to download. Keep in mind that scrolling further down the page will present you with information to guide you in downloading the desired image.<br />
<br />
: If you choose to obtain XiniX from our website, you will need to scroll down to the bottom of the page to find it since the listing is in alphabetical order. Once you have found the XiniX operating system, you can read the description to determine which edition is right for you. Once you have that figured out, clicking the 'Download' listbox will expose all the available images for download. The layout for each entry is as follows:<br />
<br />
:: [State] [Edition] Target CPU Bit<br />
<br />
: You will need to find the list item belonging to your running OS, or the 'ISO' that can be used to create XiniX boot media regardless of the operating system you are currently using (e.g. Apple, Linux, Windows). Clicking that entry from the list will download the image to your computer.<br />
<br />
<br />
: '''Linux'''<br />
: As mentioned above, we are working to expand the included installation wizard for those not comfortable with the command prompt. However, if you have a basic knowledge of computers, the one included should be adequate enough to get XiniX installed on the desired media. If you are a grandparent or someone who just does not understand technology, check back frequently to see if the proper modifications have been made for you! For those of you still with us, once you have downloaded the desired image, there are a few steps required to get the OS on your desired media. For the sake of these examples, we will assume that the image currently resides in the '/tmp' directory with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.tgz.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have obtained a drive image (img), then one set of the below instructions need to be followed. These directions apply to all Linux distros and require you to first get to a command prompt to execute the following steps in order to install XiniX. You should not have to worry about obtaining additional software to accomplish this task as the programs used here are installed by default in all main stream Linux distros. In this example, we will be using the /dev/sdb device to write the image too. <u>WARNING:</u> these steps will ERASE all the data on that device before installing XiniX!!!<br />
<br />
:: <u>Using the Wizard</u><br />
:: As of version 2017.05.07.0, a wizard has been included with each distribution file for the Linux OS. So after going into the '/tmp' directory and uncompressing the downloaded file, you should see a script named 'install.sh' which will need to be started to guide you through the installation routine. Each step mentioned is shown below:<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ ./install.sh<br />
</pre><br />
<br />
:: From this point, you will be asked a few questions to find the image to burn along with the desired target media. After confirming the writing process, your XiniX boot media will be created for you.<br />
<br />
:: <u>Using raw commands</u><br />
:: Anyone that is using this method will most likely already know how to perform these steps, but they have been included for those seeking to gain more knowledge. It is important to note that if the media generated by performing the following commands has problems booting, you may need to wait 10 seconds or so after the final output below is shown to make sure all the buffers have been flushed to disk.<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ dd if=XiniX_VE_2016.12.01.0_32bit.img of=/dev/sdb conv=fdatasync<br />
</pre><br />
<br />
:: Make sure you use the trailing 'conv=' parameter so output buffers get flushed to the disk (see this [http://askubuntu.com/questions/318186/wait-for-dd-command-to-fully-write-to-the-disk post]). Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
1250000+0 records in<br />
1250000+0 records out<br />
640000000 bytes (640 MB) copied, 119.708 s, 5.3 MB/s<br />
</pre><br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (with is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ tar zxf /tmp/XiniX_VE_2016.12.01.0_32bit.iso.tgz<br />
$ cdrecord -v -dao -eject dev=/dev/dvd /tmp/XiniX_VE_2016.12.01.0_32bit.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
: '''Windows'''<br />
: For users of the Microsoft Windows operating systems, you will have a straight forward process to create bootable media no matter which type of image you have selected to use. Unlike Linux, however, there are no ways to create media from the command line, so these steps should be easy for any user in this environment. For the sake of these examples, we will assume that the image currently resides on your Desktop with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.zip.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have selected to use a drive image (img), first you will need to uncompress all of the .zip file contents to your Desktop. Once the decompression has completed, navigate inside the 'Windows Installer' folder and double click the file named 'setup' (it may have an optional '.exe' appended). Once the application has loaded, click the folder icon at the top and locate the XiniX image file (e.g. XiniX_VE_2016.12.01.0_32bit.img). Next select the media to install XiniX to from the following listbox to the right. Once you have those values in place, click the 'Write' button and wait for the installation to complete. If you would like to get and compare the MD5 hash's, simply check the 'MD5 Hash' checkbox. <u>WARNING:</u> XiniX can NOT be installed along side another OS at the moment and will erase the contents of the selected media!<br />
<br />
[[File:Windows_Installer.png|center|Create Image]]<br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
:: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
<br />
<br />
===<u>Interface</u>===<br />
: This method is the easiest way to create copies of the operating system and assumes that you are working with an already running installation of XiniX. Using the default theme, click the 'State' option from the navigation menu and locate the "i" button in the top left-hand corner of the screen. After clicking it, you will be presented with a popup that shows you the various media available and is divided into two sections - 'Internal Storage' and 'Attached Storage Devices'. Included on the screen is some additional information that should help you select which section to use when determining your target. Now select the media to install on along with the CPU architecture (bit) of the target device. If the latter information is unknown, you can use the 32bit as a failsafe option. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:XiniX.png|Create Image<br />
File:XiniX_create.png|Configure<br />
</gallery><br />
<br />
: We will later expand the options to allow for the installation of the different editions regardless of the one currently being used, but at the present the install screen will only produce another copy of what is running. So for example, if you're using the Vanilla Edition (VE), then this screen will only create another copy of VE. EE will produce another EE, and so forth.<br />
<br />
<br />
No matter what method you had to use above, simply reboot your device using the media that you just installed XiniX to and enjoy your adventure!<br />
<br />
<br />
<br />
<br />
==Booting==<br />
Unless optical media was used as the source to boot from, the list of options that are available using the boot menu will not be accessible without invoking it. To expose this list, simply press the F8 key repeatedly once the XiniX graphic is shown during the boot cycle. If successful, then the list of options below should be shown. Of course, if the two second window for accessing it has passed during the boot process, the device will need to be rebooted in order to attempt this task once again. And although the list has several many options, some of which may not be easy to figure out at first glance, each selection will be discussed in more depth below.<br />
<br />
: '''Start XiniX'''<br />
:: As the caption of the first option eludes to, selecting this option will start the operating system as it normally would if the boot menu was never accessed. Optical boot media users will always be presented with this list, so this will most likely be your pick. However, if the menu was accessed using any other boot media, then this is most likely the option that will not be desired.<br />
<br />
: '''Low Resolution'''<br />
:: Some devices will not work with the auto-configuration of the graphical environment (frame buffer) and will just stay stuck on the XiniX boot graphic. In those instances, this menu option can be used to get into a working system so that the proper driver installations can take place so a normal bootup can occur. If additional problems persist, the 'Safe Mode' option may need to be used instead.<br />
::: NOTE: this is only available with VE<br />
<br />
: '''Install XiniX'''<br />
:: Although XiniX does not have an install process like traditional operating systems such as Microsoft Windows, selecting this option basically creates a DATA partition allowing a user to save their data instead of using the boot media anonymously – similar to that of a live CD. For additional information on this topic, please see the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Composition Composition]]' section below and the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Installation Installation]]' section above.<br />
<br />
: '''Install Drivers'''<br />
:: Upon having issues with a non-working or sluggish graphical environment when using a device, this option can be selected to help resolve problems by installing the more powerful display server known as [https://en.wikipedia.org/wiki/X.Org_Server Xorg] along with the desired graphics driver.<br />
::: NOTE: this is only available with VE<br />
<br />
<br />
: '''Anonymous Mode'''<br />
:: Typically when XiniX starts, it searches for a DATA partition and automatically mounts it so that the user data can be saved. However, there may be times when that information may not be needed or wanted. This mode will allow XiniX to be used anonymously so that data and software is not saved during that session causing the environment to act like a 'Live CD' was booted - even if a DATA partition exists!<br />
<br />
: '''Compatibility Mode'''<br />
:: As hardware manufacturers sometimes rush their equipment to market, bugs can be present in their firmware causing issues with booting some operating systems. Additionally some older hardware might have issues with some newer technologies found in the Linux kernel. Either way, this option can help to get into a working environment by skipping some features (issuing 'noapic noacpi irqpoll' calls to the kernel during bootup). Like the 'Conservative Mode' below, this item will also load software using symlinks instead of in the RAM.<br />
<br />
: '''Conservative Mode'''<br />
:: Since XiniX was designed to work with modern and aging hardware, a boot option to use with the latter was included. The only difference between this option and the default 'Start XiniX' is that instead of loading all the software to the RAM, the software is symlinked against the storage device - saving memory resources at the expense of being slightly slower in operation.<br />
<br />
: '''Debug Mode'''<br />
:: Unlike the other modes found in this section of the boot menu list, this one works exactly like the 'Start XiniX' option but outputs much more information in the /var/log directory associated with the boot process to help systems administrators and developers find and fix problems.<br />
<br />
: '''Emergency Console'''<br />
:: Although the XiniX operating system has been designed to make using it as easy as possible, there will inevitably be times where some adjustments don't work as desired. In those few instances, systems administrators can easily get to a console prompt to start the process of correcting those issues. Similar to the warning provided by using the 'Restore Console', this menu item should avoided without detailed knowledge of the software and command prompt.<br />
<br />
: '''Restore Console'''<br />
:: There are times when installing or updating software can lead to undesired effects - especially after a reboot has occurred. So in the event that a device will no longer boot due to suspected software issues, select this item to get into a console where restores can be made from prior backups. Please note that this should be used with caution!<br />
::: NOTE: this is not a boot option before 2017.04.07.0<br />
<br />
: '''Safe Mode'''<br />
:: Building off of the 'Compatibility Mode' boot option, this one also does not process any personal boot scripts in the event that one of them may be causing problems during the boot process.<br />
<br />
<br />
: '''From Harddrive'''<br />
:: Sometimes alternative boot media is accidentally left in the computer after it has been powered down causing it to be booted to upon a subsequent bootup. No fear! In instances like that, this option can be used to automatically switch back to the internal hard drive to boot from without having to power cycle the device again.<br />
<br />
<br />
: '''Test Memory'''<br />
:: When a device does not seem to be working properly and no other option can be identified as the culprit, testing the RAM for errors is a good place to check. Using this item will load a small application that will test the entire set of memory modules installed in the device as well as display a plethora of information about them. And although it may not be displayed on the screen, continuing to press the down arrow key on the keyboard will eventually cycle to it in the list.<br />
<br />
<br />
<br />
<br />
==Usage==<br />
<br />
===Errors===<br />
: Although the default configuration should broadly work with most devices, in some instances, depending on the hardware, you may find that the graphical interface fails to work properly. Until a better solution can be found, a separate boot option has been included to help install additional display drivers so that you will be able to get into the operating system. If you fall under this condition, simply reboot your device and as soon as you see the 'XiniX' boot graphic, start repeatedly pressing the 'F8' key to show the boot menu (unless you're booting from optical media which always shows the menu). Select the option labeled "Install Drivers" and after the boot process completes, simply select the manufacturer of your graphics card and the proper drivers should be installed. After the device reboots, you should have a properly working graphical environment.<br />
<br />
: Please be aware that you must have installed XiniX before proceeding with these steps since we need a DATA partition to store saved data and information. If this has not taken place yet, select 'Install XiniX' option from the boot menu before proceeding with the steps outlined above.<br />
<br />
===GUI===<br />
: Covering the user interface is outside the scope of this document, but [http://wiki.cliquesoft.org/index.php?title=web.de click here] to be redirected to the proper location that will explain the interface in detail. However, we do want to mention that a XiniX device can be controlled locally ([https://en.wikipedia.org/wiki/X_Window_System X11]) and/or remotely ([https://en.wikipedia.org/wiki/Web_browser browser]). To change this behavior navigate to the 'Access > Device > Settings > web.de' popup and change the 'Access' values to your desired configuration and click the 'Ok' button. More information about the GUI and access to it can be found in the first link above.<br />
<br />
===Administration===<br />
: The first account created during the installation routines will be granted an additional privilege over all the other accounts. By default the 'root' account (aka administrator in Linux) can not be used to log into any device for security reasons. This also means that the root account can not be switched to in order to perform administrative tasks due to not having a password. As a way to enable the usage of the root account, the first created user account will receive the ability to switch to the root account in the event that you require that type of access. In order to make this switch, perform the following steps at a command prompt with the afore mentioned account:<br />
<br />
<pre style='margin-left: 22px'><br />
$ sudo su root<br />
</pre><br />
<br />
: NOTE: Performing the above steps should be rare, if at all. If you find yourself using the root account regularly, you should instead adjust the /etc/sudoers file to grant the appropriate privileges as a regular user since using the root account presents additional security risks!<br />
<br />
===Login===<br />
: Unlike other Linux distros, the login credentials are specific to this operating system. While XiniX still uses the default administrators user account in Linux known as 'root', the password is not anything that is typically used to gain access. Instead, you must use 'now has zen' as the password in order to login successfully. It is important to note that this only applies when booting off of optical media such as CD's or DVD's, and if the OS has not been 'installed'. Once a DATA partition has been created post 'installation', the 'root' account can no longer be used to login (for security), but the credentials of the other accounts will be saved for future logins.<br />
<br />
: As of version 2017.04.07.0, an auto-login is engaged when no DATA partition exists. However, if you need to get into certain areas such as 'Access > Device', then you will still need to use the password mentioned above.<br />
<br />
===Composition===<br />
: Since XiniX is unlike its competition and is in a class of its own, it is important for the user to have a brief overview of the operating system itself. As eluded to in the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Features Features]]' section above, there is not two types of media (installation and runtime) like there is in the world of Microsoft. Meaning that you don't have to create/obtain an installation DVD (installation media) to install to a hard drive (runtime media) before being able to use the operating system - they are one-in-the-same! So by having any XiniX boot media (installation and runtime), you can not only fully use the OS, but you could in turn create other boot media such as CDs, flash drives, and hard drives.<br />
<br />
: Now that you understand XiniX's boot media, known as 'FIRMWARE', we would like to discuss the optional second part of the OS. While the user will have no restrictions using only the 'FIRMWARE', this will simply create an (anonymous) 'Live CD' environment so that you can play or test the software without making any changes to your existing setup. So if you install applications and write a document or two, none of that information will be saved after a reboot or shutdown of the device. This is where the 'DATA' partition comes in. As indicated by the name, this storage area will contain all your installed applications and saved data such as settings, documents, favorites, music, and movies. Most users will opt to have both a FIRMWARE (operating system) and DATA (user data) for a complete solution, however, the separation was made for flexibility. One last point to make is that while both can reside on the same media (e.g. hard drive), they do <u>NOT</u> have to be. So for example, you can boot off of a FIRMWARE DVD and have DATA as a flash drive!<br />
<br />
<br />
<br />
<br />
<br />
==Editions==<br />
XiniX will ultimately be distributed in multiple editions to best serve its user base. Each will be covered below:<br />
<br />
* '''Vanilla (VE)''' As the name suggests, this edition qualifies as a clean, small, and efficient distribution of the operating system meant for personal devices such as desktops and laptops with goals to later expand into mobile devices. There are no applications bundled aside from the ones necessary for system manipulation found under the 'Access > Device' screen. This not only reduces security concerns by not having unused or unwanted software installed with potential exploits, but also allows the user to personalize their device to their individual liking. By default, it is shipped with a lightweight graphical system (framebuffer) for 2D rendering, but if more powerful acceleration is required (Xorg), it can be installed using just a few clicks of the mouse.<br />
<br />
* '''Client (CE)''' Building off of the Vanilla Edition foundation, this distribution targets the SOHO and medium-sized business market. Like its base, it maintains a small, efficient footprint, but incorporates additional user account properties and authentication mechanisms (via [https://en.wikipedia.org/wiki/OpenLDAP LDAP]) for robustness. Since this edition is meant for use on higher-end hardware, the more powerful graphical system (Xorg) is installed by default. Also offered in the version will be the ability to use a traditional server and client network model with its own set of unique properties to help businesses in several ways.<br />
<br />
* '''Server (SE)''' Servers have stringent requirements, one of them is that is must remain up and running as long as possible. Since XiniX can expose its [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] (GUI) locally or remotely, as mentioned in the 'Features' section of this document, this edition, by default, provides that capability through the web browser of any authorized device and with local access being in the form of the [https://en.wikipedia.org/wiki/Command-line_interface command line interface] (CLI). Employees should never use a server as a work station, so there is no need to eat up resources on powering something that will never be used. This reduces overhead (and security risks) for the server so that those CPU cycles can be spent handling requests for clients - the main job of the server. Of course, a local GUI can be installed if one is desired.<br />
<br />
* '''Embedded (EE)''' Like the Server Edition, this version comes without a local GUI by default and will target embedded devices such as hobbyist projects, [https://en.wikipedia.org/wiki/Router_%28computing%29 routers], and [https://en.wikipedia.org/wiki/Set-top_box set-top boxes]. Although the default option is to install a remotely accessible GUI, a locally available GUI can be installed as well (up to Xorg), should the device require it. XiniX should maintain the smallest footprint possible with the OEM adding only what is necessary for their device to function as designed.<br />
<br />
<br />
<br />
<br />
==Comparison==<br />
Competition is always good for the market place, especially when there are only a few power players in the industry. Currently there are only three large operating system vendors - Microsoft, Apple, and Google. The make matters even worse, one of them dominates on mobile and another one dominates the desktop market. As a new competitor, XiniX can presently only compete in the desktop market so that will be reflected in the table below. Also, the below information will be based on the 64-bit, 'Home' or personal-use edition of each respective OS (Vanilla Edition for XiniX).<br />
<br />
{| class="wikitable"<br />
|-<br />
! &nbsp; !! Apple OS X !! Google Android 5 !! Microsoft Windows 10 !! Canonical Ubuntu 15.04 !! Cliquesoft XiniX Beta !! Description<br />
|-<br />
| Storage (HDD) || 9GB || Unknown || 20GB || 5GB || 96MB || Minimum storage space to install OS<br />
|-<br />
| Memory (RAM) || 2GB || Unknown || 2GB || 384MB || est 384MB || Required memory amount to run OS<br />
|-<br />
| Processor (CPU) || 1GHz || Unknown || 1GHz || 700MHz || est 600MHz || Required CPU speed to run OS<br />
|-<br />
| Networking (Style) || Server/Client || None || Server/Client || Server/Client || p2p & Server/Client || How the network style is arranged<br />
|-<br />
| Networking (Type) || LAN || None || LAN || LAN || LAN & Cloud || The type of network capability built into OS<br />
|-<br />
| Users || Multi || Single || Multi || Multi || Single or Multi || Defines individual or group usage of device<br />
|-<br />
| Cost || Est 1500* || Est $500* || Est $150* (home) || Free || Free || Monetary cost of the software<br />
|-<br />
| Applications || App Store || Google Play || Unknown || Synaptic || Software Shoppe || Source of installable software catalog<br />
|-<br />
| Printing || CUPS || None || Print Mgr || CUPS || CUPS || Locally attached or wifi printer capabilities<br />
|-<br />
| Media Lookup || No || No || No || No || Yes** || Obtains online information for personal movies<br />
|-<br />
| Bloated || Yes || Yes || Yes || Yes || No || Excessive pre-loaded software<br />
|-<br />
| Privacy (online) || [http://www.digitaltrends.com/mobile/apple-icloud-hack-china/ No]*** || [http://adwords.blogspot.com/2015/09/Google-brings-you-closer-to-your-customers.html No]**** || [http://thenextweb.com/microsoft/2015/07/29/wind-nos/ No], [http://www.forbes.com/sites/gordonkelly/2016/02/09/windows-10-data-tracking-spying-levels/?utm_campaign=yahootix&partner=yahootix#89701e97aa99 No] ***** || Yes || Yes || Is user privacy retained<br />
|-<br />
| Updates || Non-forced || Non-forced || [http://www.zdnet.com/article/windows-10-upgrade-nags-become-more-aggressive-offer-no-opt-out/#ftag=YHFb1d24ec?ref=yfp Forced] || Non-forced || Non-forced || User control of updates<br />
|-<br />
| Degradation || Yes || Yes || Yes || Yes || No****** || The performance degradation overtime<br />
|-<br />
|}<br />
<br />
: * Cost is based on the purchase of the equipment required to run the OS<br />
: ** The filename must be in a specific format - automated mated renaming efforts are under development<br />
: *** Based on their centralization of (more easily hackable) customers data versus our decentralized approach<br />
: **** Based on the well know erosion of Google's privacy policy with the users of their products<br />
: ***** Based on the revelations of excessive, unstoppable communication with Microsoft's Windows 10<br />
: ****** Based on how the OS is loaded (stages), where it is loaded (RAM), and by not having a 'registry'</div>Digitalpipehttps://wiki.cliquesoft.org/index.php?title=XiniX&diff=5809XiniX2017-05-08T22:20:37Z<p>Digitalpipe: /* Comparison */</p>
<hr />
<div>The distro that's poised to usher in the year of the Linux desktop, XiniX has been released as a beta! Hitting the market just weeks after the two power houses release their latest versions, Microsoft Windows 10 on July 29 2015 and Apple iOS on September 16 2015, XiniX, the little-known underdog, has entered the market! So what is XiniX (pronounced 'zen-ics')? First, XiniX is an [https://en.wikipedia.org/wiki/Operating_system operating system] (OS) just like [http://www.microsoft.com Microsoft Windows] and [http://www.apple.com Apple's iOS], but is based on Linux akin to [http://www.google.com Google's Android]. XiniX represents the world's next generation of OS and is currently available for use on conventional computers such as desktop or laptops, with mobile platforms coming in the future. Built to act more as a firmware among devices, one of its primary goals is to remain small and efficient - just enough to get the device into an environment where the (users') work takes center stage!<br />
<br />
Unlike any of the companies mentioned above, our OS is not based on fixed releases (e.g. Windows 8, Windows 10), but instead, is distributed as a continuing (or rolling) release as updates are made available. What's also different, is that our OS comes with just enough software to get you basic device operations and then lets you take over and personalize the device by installing any of the software or services located in our 'Software Shoppe'. In the sections that follow, we will not only cover some of the unique aspects of the amazing operating system, but we will also compare it with others to help users better understand if they would like to make the switch!<br />
<br />
<br />
<br />
<br />
==License==<br />
There are various projects that make up the XiniX core operating system. Each will be listed below with their respective license. More information about the CPLv2 licenses can be found under the "[http://www.cliquesoft.org/index.php?page=our_licenses Our Licenses]" link of our [http://www.cliquesoft.org/ homepage].<br />
<br />
{| class='wikitable' style='margin: auto'<br />
! '''Package''' !! '''License''' !! '''Package''' !! '''License''' !! '''Package''' !! '''License'''<br />
|-<br />
| '''Linux''' || GPLv2 || '''grub''' || GPLv3 || '''busybox''' || GPLv2<br />
|-<br />
| '''Xfbdev''' || na || '''alsa-config''' || na || '''socat''' || na<br />
|-<br />
| '''nmap''' || na || '''harfbuzz''' || na || '''imlib2-bin''' || na<br />
|-<br />
| '''libXau''' || na || '''libXdmcp''' || na || '''libfontenc''' || na<br />
|-<br />
| '''libXt''' || na || '''libXext''' || na || '''libXrender''' || na<br />
|-<br />
| '''Xorg-fonts''' || na || '''Xprogs''' || na || '''fonts-mscore''' || na<br />
|-<br />
| '''imlib2''' || na || '''libXfont''' || na || '''libXi''' || na<br />
|-<br />
| '''libXmu''' || na || '''libXpm''' || na || '''libXrandr''' || na<br />
|-<br />
| '''libffi''' || na || '''libjpeg-turbo''' || na || '''libpng''' || na<br />
|-<br />
| '''libxcb''' || na || '''Xlibs''' || na || '''file''' || na<br />
|-<br />
| '''clapi''' || CPLv2 || '''web.de''' || CPLv2 || '''web.ui''' || CPLv2<br />
|-<br />
| '''FXwm''' || CPLv2 || &nbsp; || &nbsp; || &nbsp; || &nbsp;<br />
|}<br />
<br />
<br />
<br />
<br />
==Features==<br />
What makes a software title desired by the masses? Its features of course! While XiniX is still in its infancy, there are some features that we would like to point out and provide details on. While the below list may not include all the current features, and does list some that are in development, it does provide you with some indication of what can be done with the current version of our OS. Take the time to try it and you'll learn why we say "Achieve zen with XiniX!"<br />
<br />
* Better security<br />
:: There's a reason why we started the list with this item. Security has become much more of a concern today than years past, especially with the revelations of government and corporate spying along with those out there willing to cause harm using malware and ransomware. The more parts of a working system you have, the more opportunities there are to exploit bugs and other issues that can cause you problems. Compare our clean install size of the Vanilla Edition (VE) at less than <u>85MB</u> (under 64MB for EE), whereas Windows 10 is approximately <u>15,000MB</u> - 0.004 the size! As you can see, we offer quite a substantial reduction in software that can be exploited on your device to allow others to take advantage of you!<br />
<br />
* Best Price in its class<br />
:: Another top concern with households and businesses nowadays is how much does it cost me to stay up-to-date and productive? Once again, we shine where our competitors fail - releasing XiniX for the low, low cost of $FREE USD! Compare that to the 3 year Microsoft upgrade fee of $200-$300 to get the latest version of only Windows (not to mention Office and other software), $1200-$2000 to get the latest Apple device to use their software, and forget about Google's Android since it is only available for mobile devices (placing it in the category of Apple where you must buy a device to get it). You can use our XiniX OS on any laptop, desktop, server, and soon on mobile devices as well!<br />
<br />
* Can run from any storage media<br />
:: Since XiniX was designed to be lightweight and efficient from day 1, we can install it to a wide variety of media. This includes hard drives, optical discs, flash drives, SD cards, and more! What's more is that since the OS, by default, loads to RAM, once the OS has been loaded, you can even remove the bootable media itself!* In an upcoming release, the OS can even be loaded over the network via [https://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE].<br />
<br />
* Clean separation of OS from data and apps<br />
:: Since our OS works as a common firmware among devices and is designed to get you in an environment to perform your work, once it is loaded, it gets out of your way! From that point forward, the only interaction the user has will be with their data and applications on a local or network resource.<br />
<br />
* Clear separation of [https://en.wikipedia.org/wiki/Graphical_user_interface GUI] from engine<br />
:: Simply put, this will allow any user (GUI) to control any device (engine). So, for example, you may have a computer connected to your living room TV that can be controlled with your smart phone or tablet - natively! No additional software to install and configure! And while you can't currently install XiniX on a smart phone or tablet, you can still connect and control the XiniX-based device using the web browser already installed on either of those devices.<br />
<br />
* Easy built-in local and remote access<br />
:: Like many of the existing mainstream operating systems, XiniX can also handle local and remote access for users. Where we differ from the other OS's is the fact that this interaction only requires a web browser and not a separate piece of software or other elaborate infrastructure to route requests properly. Once two devices are paired, it doesn't matter the physical location of either!**<br />
<br />
* Useful for headed or headless devices<br />
:: Can you imagine Microsoft Windows running on a router? Neither can we! Our operating system on the other hand, it quite capable of accomplishing this goal. Due to its small size, and by utilizing the aforementioned benefit, you can control that device no matter its design or function.<br />
<br />
* Works with older hardware<br />
:: Since the firmware is small and efficient, it should work with the old computer you've stored in the closet over the last 10+ years. This can turn an old, obsolete computer into a working tool for young children, grandparents, or even act as a gateway into network resources in a variety of situations and environments.<br />
<br />
* No installation media<br />
:: Ever wanted to install that latest version of your favorite OS, but can't find a blank DVD or flash drive to create the installation media just to install on another media (e.g. hard drive) for actual use? Well, we've skipped that intermediary step and combined both into one. You can also not only obtain XiniX from our website, but you can create a copy from within the software itself!<br />
<br />
* First actual cloud-based OS<br />
:: You may be thinking "I can already use the cloud with a web browser and software like dropbox", but that doesn't quite define a cloud-based operating system. First, browsing the Internet with a web browser does not fall within this scope. And second, the use of 3rd party software means that the OS is incapable of cloud interaction natively. XiniX can seamlessly connect with services such as Amazon's AWS, web hosting servers, and other XiniX devices natively. Files can be copied back and forth just as you would if it were local, and more!<br />
<br />
* Unique p2p networking<br />
:: XiniX uses its own type of networking using a peer-2-peer method among devices. This means that setting up a network of devices involves nothing more than pairing the desired devices with one another in a simple process that even grandma could understand!<br />
<br />
* Perfect as IoT OS<br />
:: Since XiniX was designed to be as small as possible while allowing for a reasonable amount of functionality out-of-the-box, it is a perfect choice for those interested in creating a device considered as part of the "Internet of Things" (IoT). No only does it have a small footprint along with the ability to be used in devices with or without displays, but the software is constantly updated to prevent malicious activity from taking place by patching bugs and fixing points of exposure!<br />
<br />
<center><br />
:: * This can be achieved if working without a DATA partition or if the DATA partition is on other media or a network resource.<br />
:: ** This is currently in development, seamless LAN access is currently only available.<br />
</center><br />
<br />
<br />
{| class='wikitable' style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Vanilla Edition (VE) !! Embedded Edition (EE) !! TinyCore Linux<br />
|-<br />
| style='text-align: left' | Target Size || Under 64MB || Under 32MB || &nbsp;<br />
|-<br />
| style='text-align: left' | Current Size || 69MB (32bit)<br />76MB (64bit) || 37MB (32bit)<br />41MB (64bit) || Approx 16MB<br />
|-<br />
| style='text-align: left' | Built-in Capabilities || &nbsp; || &nbsp; || &nbsp;<br />
|-<br />
| style='text-align: left' |<br />
:: NTFS Capabilities<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: LAN, BT, Wifi<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Controlled via Device<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Designed for Cloud<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Access<br />
|| Yes || Yes || No<br />
|-<br />
| style='text-align: left' |<br />
:: Remote Interface<br />
|| GUI || GUI || None<br />
|-<br />
| style='text-align: left' |<br />
:: Local Interface<br />
|| GUI || CLI || GUI<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==History==<br />
Currently the operating system is still in beta, which means that it should not be put into production for businesses. However, the system is stable enough for personal and hobbyists usage. Up to version 2016.11.01.0, all distributed images were for the Intel/AMD 64bit processors and were the Vanilla Edition (VE). With the release of 2016.11.01.0, however, both 32bit and 64bit were available as well as being offered in two editions - Embedded Edition (EE) and Vanilla Edition (VE). The former edition is intended for hobbyists projects, routers, set top boxes, etc., whereas the latter is suitable for traditional computers such as laptops and desktops. As of version 2016.12.01.0, two different types of image files were released to expand the media that could be used in order to boot into XiniX. Previously only drive images were available for media such as hard drives, flash drives, SD cards, etc., but the December 2016 release also included optical images capable of booting off of optical media such as a CD or DVD.<br />
<br />
Some big changes came with version 2017.04.07.0 including a 'Welcome' screen that allows the user to tailor the OS to their basic needs by installing some commonly used software such as a PDF viewer and office suite. Also, this release enabled full usage on mobile smartphones (tablets were still untested) using the default theme as well as the integration of web.link (remote control) and web.sight (image viewer). The package manager (pax) received some new abilities as well including the parsing of conditional and specific version numbers of packages, and the ability to process file lists and directories as the source of packages instead of them being specifically stated. Lastly this version included an auto-login when no DATA exists along with several boot menu options to work with devices that did not work well with the default auto-configuration of the frame buffer with graphical user interfaces (e.g. VE).<br />
<br />
Our long term goals include the ARM CPU architecture in both 32bit and 64bit, with an anticipated release within Q2 2017. If our users have enough interest, we will also expand into MIPS and PowerPC.<br />
<br />
<br />
<br />
<br />
==Requirements==<br />
Due to the small footprint that makes up the XiniX operating system, not much hardware is required to run it. The below is the minimal values of both categories in order to run the OS.<br />
{| class="wikitable" style='margin: auto; text-align: center;'<br />
|-<br />
! &nbsp; !! Processor (CPU) !! Memory (RAM) !! Storage (HDD) !! Graphics Card !! Display !! Network !! Notes<br />
|-<br />
| style='text-align: left' | Required (EE) || Single-core 400MHz (est) || 48MB || 100MB || None || None || None<br />
| style='text-align: left' | None<br />
|-<br />
| style='text-align: left' | Required (VE) || Single-core 800MHz (est) || 128MB || 100MB || VGA compatible || 800x600, 256 Colors || None<br />
| style='text-align: left' | Lowest tested is an Intel P3 1.13Ghz<br />
|-<br />
| style='text-align: left' | Recommended (EE) || Single-core 1GHz || 512GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | None<br />
|-<br />
| style='text-align: left' | Recommended (VE) || Dual-core 1.8GHz || 2GB || 8GB || SVGA compatible || 1280x768, 32bit Colors || Wired CAT5 or Wifi<br />
| style='text-align: left' | This should be any desktop/laptop around 2006<br />
|-<br />
|}<br />
<br />
<br />
<br />
<br />
==Installation==<br />
There are currently three ways to obtain and install XiniX - [https://sourceforge.net/projects/xinix/?source=directory sourceforge.net], our [http://www.cliquesoft.org/#Projects website], or from within the OS interface itself. All methods will be covered below. While we are working to expand the installation wizard to reduce this complexity in Linux, Microsoft Windows users should have a fairly straight forward process. As a result, only someone with the proper knowledge should attempt these steps in a Linux environment as any wrong values can actually erase your hard drive!<br />
<br />
===<u>Download</u>===<br />
: No matter what operating system you are using, this part of the process is easy to complete. To begin, simply click on either of the first two links offered above. If you have selected sourceforge.net to obtain the image, you should be presented with the latest version to download by using the green 'Download' button located towards the top of the webpage. Keep in mind this will be for the 32bit iso version of the Vanilla Edition (VE) which is made for desktops and laptops using optical media such as CD's and DVD's. If you are interested in different CPU architectures, editions, or installation media, click the 'Files' option right below the header on that webpage and select which file you would like to download. Keep in mind that scrolling further down the page will present you with information to guide you in downloading the desired image.<br />
<br />
: If you choose to obtain XiniX from our website, you will need to scroll down to the bottom of the page to find it since the listing is in alphabetical order. Once you have found the XiniX operating system, you can read the description to determine which edition is right for you. Once you have that figured out, clicking the 'Download' listbox will expose all the available images for download. The layout for each entry is as follows:<br />
<br />
:: [State] [Edition] Target CPU Bit<br />
<br />
: You will need to find the list item belonging to your running OS, or the 'ISO' that can be used to create XiniX boot media regardless of the operating system you are currently using (e.g. Apple, Linux, Windows). Clicking that entry from the list will download the image to your computer.<br />
<br />
<br />
: '''Linux'''<br />
: As mentioned above, we are working to expand the included installation wizard for those not comfortable with the command prompt. However, if you have a basic knowledge of computers, the one included should be adequate enough to get XiniX installed on the desired media. If you are a grandparent or someone who just does not understand technology, check back frequently to see if the proper modifications have been made for you! For those of you still with us, once you have downloaded the desired image, there are a few steps required to get the OS on your desired media. For the sake of these examples, we will assume that the image currently resides in the '/tmp' directory with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.tgz.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have obtained a drive image (img), then one set of the below instructions need to be followed. These directions apply to all Linux distros and require you to first get to a command prompt to execute the following steps in order to install XiniX. You should not have to worry about obtaining additional software to accomplish this task as the programs used here are installed by default in all main stream Linux distros. In this example, we will be using the /dev/sdb device to write the image too. <u>WARNING:</u> these steps will ERASE all the data on that device before installing XiniX!!!<br />
<br />
:: <u>Using the Wizard</u><br />
:: As of version 2017.05.07.0, a wizard has been included with each distribution file for the Linux OS. So after going into the '/tmp' directory and uncompressing the downloaded file, you should see a script named 'install.sh' which will need to be started to guide you through the installation routine. Each step mentioned is shown below:<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ ./install.sh<br />
</pre><br />
<br />
:: From this point, you will be asked a few questions to find the image to burn along with the desired target media. After confirming the writing process, your XiniX boot media will be created for you.<br />
<br />
:: <u>Using raw commands</u><br />
:: Anyone that is using this method will most likely already know how to perform these steps, but they have been included for those seeking to gain more knowledge. It is important to note that if the media generated by performing the following commands has problems booting, you may need to wait 10 seconds or so after the final output below is shown to make sure all the buffers have been flushed to disk.<br />
<br />
<pre style='margin-left: 45px'><br />
$ cd /tmp<br />
$ tar zxf XiniX_VE_2016.12.01.0_32bit.img.tgz<br />
$ dd if=XiniX_VE_2016.12.01.0_32bit.img of=/dev/sdb conv=fdatasync<br />
</pre><br />
<br />
:: Make sure you use the trailing 'conv=' parameter so output buffers get flushed to the disk (see this [http://askubuntu.com/questions/318186/wait-for-dd-command-to-fully-write-to-the-disk post]). Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
1250000+0 records in<br />
1250000+0 records out<br />
640000000 bytes (640 MB) copied, 119.708 s, 5.3 MB/s<br />
</pre><br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some Linux distros may include this software by default while others will require you to install it from their software repositories (with is outside the scope of this document). If you would like to use the graphical environment to perform this task, we will describe using the K3B application. Simply start the application and select 'Burn Image' from the 'Tools' menu. Afterwards another window should popup allowing you to configure the options before burning. Make sure to select the appropriate image file in the top textbox, the medium to write to in the listbox located towards the middle of the popup, check the 'Verify Written Data' towards the bottom, and finally click the 'Start' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:k3b.png|Burn Image<br />
File:k3b_burn.png|Configure<br />
</gallery><br />
<br />
:: In the event you would like to accomplish this using the command line, you will need to obtain either the 'cdrtools' or 'wodim' software from your repository. Afterwards, you will need to issue the following commands (assuming we will be using the /dev/dvd device to write the image too):<br />
<br />
<pre style='margin-left: 45px'><br />
$ tar zxf /tmp/XiniX_VE_2016.12.01.0_32bit.iso.tgz<br />
$ cdrecord -v -dao -eject dev=/dev/dvd /tmp/XiniX_VE_2016.12.01.0_32bit.iso<br />
</pre><br />
<br />
:: Issuing the last command above should present you with output similar to the following, upon having a successful installation:<br />
<br />
<pre style='margin-left: 45px'><br />
...snip...<br />
Blocks total: 336601 Blocks current: 336601 Blocks remaining: 4323<br />
RBlocks total: 346489 RBlocks current: 346489 RBlocks remaining: 14211<br />
Starting to write CD/DVD at speed 12 in real TAO mode for single session.<br />
Last chance to quit, starting real write 0 seconds. Operation starts.<br />
Waiting for reader process to fill input buffer ... input buffer ready.<br />
Performing OPC...<br />
Starting new track at sector: 0<br />
Track 01: 648 of 648 MB written (fifo 100%) [buf 99%] 12.1x.<br />
Track 01: Total bytes read/written: 680501248/680501248 (332276 sectors).<br />
Writing time: 400.168s<br />
Average write speed 11.9x.<br />
Min drive buffer fill was 99%<br />
Fixating...<br />
Fixating time: 22.958s<br />
cdrecord: fifo had 10719 puts and 10719 gets.<br />
cdrecord: fifo was 0 times empty and 10592 times full, min fill was 93%.<br />
</pre><br />
<br />
<br />
: '''Windows'''<br />
: For users of the Microsoft Windows operating systems, you will have a straight forward process to create bootable media no matter which type of image you have selected to use. Unlike Linux, however, there are no ways to create media from the command line, so these steps should be easy for any user in this environment. For the sake of these examples, we will assume that the image currently resides on your Desktop with a filename of XiniX_VE_2016.12.01.0_32bit.{img|iso}.zip.<br />
<br />
:: '''Drive Image (img)'''<br />
:: If you have selected to use a drive image (img), first you will need to uncompress all of the .zip file contents to your Desktop. Once the decompression has completed, navigate inside the 'Windows Installer' folder and double click the file named 'setup' (it may have an optional '.exe' appended). Once the application has loaded, click the folder icon at the top and locate the XiniX image file (e.g. XiniX_VE_2016.12.01.0_32bit.img). Next select the media to install XiniX to from the following listbox to the right. Once you have those values in place, click the 'Write' button and wait for the installation to complete. If you would like to get and compare the MD5 hash's, simply check the 'MD5 Hash' checkbox. <u>WARNING:</u> XiniX can NOT be installed along side another OS at the moment and will erase the contents of the selected media!<br />
<br />
[[File:Windows_Installer.png|center|Create Image]]<br />
<br />
:: '''Optical Image (iso)'''<br />
:: For those that obtained the optical image (iso), you will need a different set of applications than those mentioned above in order to install XiniX to your desired media. Some computer manufacturers may include a software to perform these tasks by default while others will require you to find and install your own. You may first want to check if you have any of the following installed by default: [https://www.nero.com/enu/?vlang=us Nero], [http://www.imgburn.com/ ImgBurn], [http://infrarecorder.org/ InfraRecorder], or [https://cdburnerxp.se/ CDBurnerXP]. Although you can use any software to burn the .iso, this tutorial will be covering the included ImgBurn application. After double-clicking the 'Windows Installer.exe' file and going through its wizard, simply start the application and select 'Write image file to disc' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the 'Source' section by clicking the 'Browse' icon (folder with magnifying glass), then the medium to write to in the listbox located in the 'Destination' area. Additionally you can select the burn speed (or leave it set to 'auto' or 'AWS') and if you want to verify the disc contents after the burn has completed (as a way to validate the data that was written). Finally, click the large image at the bottom-left (of a file being transferred to a CD) to begin the process. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:ImgBurn_EzMode.png|Mode Selection<br />
File:ImgBurn_SelectFile.png|Configure and Burn<br />
</gallery><br />
<br />
:: Although this issue has been raised with the CDBurnerXP staff (see [https://forum.cdburnerxp.se/topic/9526-pup-malware-included-in-cdburnerxp-downloads/ this post]), we have switched to using ImgBurn as the default included iso burning software due to sourceforge.net marking the files that included it as potential malware. The instructions for using this software will remain for any users that already have it installed. To begin, simply start the application and select 'Burn ISO Image' from the menu. Afterwards another window should popup allowing you to configure additional options before burning. Make sure to select the appropriate image file in the top textbox by clicking the '...' button, then the medium to write to in the listbox located below the afore mentioned textbox, and finally check the 'Disc at Once' and 'Finalize disc' options along with clicking the 'Burn disc' button. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:CDBurnerXP.png|Mode Selection<br />
File:CDBurnerXP_burn.png|Configure and Burn<br />
</gallery><br />
<br />
<br />
<br />
===<u>Interface</u>===<br />
: This method is the easiest way to create copies of the operating system and assumes that you are working with an already running installation of XiniX. Using the default theme, click the 'State' option from the navigation menu and locate the "i" button in the top left-hand corner of the screen. After clicking it, you will be presented with a popup that shows you the various media available and is divided into two sections - 'Internal Storage' and 'Attached Storage Devices'. Included on the screen is some additional information that should help you select which section to use when determining your target. Now select the media to install on along with the CPU architecture (bit) of the target device. If the latter information is unknown, you can use the 32bit as a failsafe option. There are two included images below to help:<br />
<br />
<gallery mode="packed"><br />
File:XiniX.png|Create Image<br />
File:XiniX_create.png|Configure<br />
</gallery><br />
<br />
: We will later expand the options to allow for the installation of the different editions regardless of the one currently being used, but at the present the install screen will only produce another copy of what is running. So for example, if you're using the Vanilla Edition (VE), then this screen will only create another copy of VE. EE will produce another EE, and so forth.<br />
<br />
<br />
No matter what method you had to use above, simply reboot your device using the media that you just installed XiniX to and enjoy your adventure!<br />
<br />
<br />
<br />
<br />
==Booting==<br />
Unless optical media was used as the source to boot from, the list of options that are available using the boot menu will not be accessible without invoking it. To expose this list, simply press the F8 key repeatedly once the XiniX graphic is shown during the boot cycle. If successful, then the list of options below should be shown. Of course, if the two second window for accessing it has passed during the boot process, the device will need to be rebooted in order to attempt this task once again. And although the list has several many options, some of which may not be easy to figure out at first glance, each selection will be discussed in more depth below.<br />
<br />
: '''Start XiniX'''<br />
:: As the caption of the first option eludes to, selecting this option will start the operating system as it normally would if the boot menu was never accessed. Optical boot media users will always be presented with this list, so this will most likely be your pick. However, if the menu was accessed using any other boot media, then this is most likely the option that will not be desired.<br />
<br />
: '''Low Resolution'''<br />
:: Some devices will not work with the auto-configuration of the graphical environment (frame buffer) and will just stay stuck on the XiniX boot graphic. In those instances, this menu option can be used to get into a working system so that the proper driver installations can take place so a normal bootup can occur. If additional problems persist, the 'Safe Mode' option may need to be used instead.<br />
::: NOTE: this is only available with VE<br />
<br />
: '''Install XiniX'''<br />
:: Although XiniX does not have an install process like traditional operating systems such as Microsoft Windows, selecting this option basically creates a DATA partition allowing a user to save their data instead of using the boot media anonymously – similar to that of a live CD. For additional information on this topic, please see the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Composition Composition]]' section below and the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Installation Installation]]' section above.<br />
<br />
: '''Install Drivers'''<br />
:: Upon having issues with a non-working or sluggish graphical environment when using a device, this option can be selected to help resolve problems by installing the more powerful display server known as [https://en.wikipedia.org/wiki/X.Org_Server Xorg] along with the desired graphics driver.<br />
::: NOTE: this is only available with VE<br />
<br />
<br />
: '''Anonymous Mode'''<br />
:: Typically when XiniX starts, it searches for a DATA partition and automatically mounts it so that the user data can be saved. However, there may be times when that information may not be needed or wanted. This mode will allow XiniX to be used anonymously so that data and software is not saved during that session causing the environment to act like a 'Live CD' was booted - even if a DATA partition exists!<br />
<br />
: '''Compatibility Mode'''<br />
:: As hardware manufacturers sometimes rush their equipment to market, bugs can be present in their firmware causing issues with booting some operating systems. Additionally some older hardware might have issues with some newer technologies found in the Linux kernel. Either way, this option can help to get into a working environment by skipping some features (issuing 'noapic noacpi irqpoll' calls to the kernel during bootup). Like the 'Conservative Mode' below, this item will also load software using symlinks instead of in the RAM.<br />
<br />
: '''Conservative Mode'''<br />
:: Since XiniX was designed to work with modern and aging hardware, a boot option to use with the latter was included. The only difference between this option and the default 'Start XiniX' is that instead of loading all the software to the RAM, the software is symlinked against the storage device - saving memory resources at the expense of being slightly slower in operation.<br />
<br />
: '''Debug Mode'''<br />
:: Unlike the other modes found in this section of the boot menu list, this one works exactly like the 'Start XiniX' option but outputs much more information in the /var/log directory associated with the boot process to help systems administrators and developers find and fix problems.<br />
<br />
: '''Emergency Console'''<br />
:: Although the XiniX operating system has been designed to make using it as easy as possible, there will inevitably be times where some adjustments don't work as desired. In those few instances, systems administrators can easily get to a console prompt to start the process of correcting those issues. Similar to the warning provided by using the 'Restore Console', this menu item should avoided without detailed knowledge of the software and command prompt.<br />
<br />
: '''Restore Console'''<br />
:: There are times when installing or updating software can lead to undesired effects - especially after a reboot has occurred. So in the event that a device will no longer boot due to suspected software issues, select this item to get into a console where restores can be made from prior backups. Please note that this should be used with caution!<br />
::: NOTE: this is not a boot option before 2017.04.07.0<br />
<br />
: '''Safe Mode'''<br />
:: Building off of the 'Compatibility Mode' boot option, this one also does not process any personal boot scripts in the event that one of them may be causing problems during the boot process.<br />
<br />
<br />
: '''From Harddrive'''<br />
:: Sometimes alternative boot media is accidentally left in the computer after it has been powered down causing it to be booted to upon a subsequent bootup. No fear! In instances like that, this option can be used to automatically switch back to the internal hard drive to boot from without having to power cycle the device again.<br />
<br />
<br />
: '''Test Memory'''<br />
:: When a device does not seem to be working properly and no other option can be identified as the culprit, testing the RAM for errors is a good place to check. Using this item will load a small application that will test the entire set of memory modules installed in the device as well as display a plethora of information about them. And although it may not be displayed on the screen, continuing to press the down arrow key on the keyboard will eventually cycle to it in the list.<br />
<br />
<br />
<br />
<br />
==Usage==<br />
<br />
===Errors===<br />
: Although the default configuration should broadly work with most devices, in some instances, depending on the hardware, you may find that the graphical interface fails to work properly. Until a better solution can be found, a separate boot option has been included to help install additional display drivers so that you will be able to get into the operating system. If you fall under this condition, simply reboot your device and as soon as you see the 'XiniX' boot graphic, start repeatedly pressing the 'F8' key to show the boot menu (unless you're booting from optical media which always shows the menu). Select the option labeled "Install Drivers" and after the boot process completes, simply select the manufacturer of your graphics card and the proper drivers should be installed. After the device reboots, you should have a properly working graphical environment.<br />
<br />
: Please be aware that you must have installed XiniX before proceeding with these steps since we need a DATA partition to store saved data and information. If this has not taken place yet, select 'Install XiniX' option from the boot menu before proceeding with the steps outlined above.<br />
<br />
===GUI===<br />
: Covering the user interface is outside the scope of this document, but [http://wiki.cliquesoft.org/index.php?title=web.de click here] to be redirected to the proper location that will explain the interface in detail. However, we do want to mention that a XiniX device can be controlled locally ([https://en.wikipedia.org/wiki/X_Window_System X11]) and/or remotely ([https://en.wikipedia.org/wiki/Web_browser browser]). To change this behavior navigate to the 'Access > Device > Settings > web.de' popup and change the 'Access' values to your desired configuration and click the 'Ok' button. More information about the GUI and access to it can be found in the first link above.<br />
<br />
===Administration===<br />
: The first account created during the installation routines will be granted an additional privilege over all the other accounts. By default the 'root' account (aka administrator in Linux) can not be used to log into any device for security reasons. This also means that the root account can not be switched to in order to perform administrative tasks due to not having a password. As a way to enable the usage of the root account, the first created user account will receive the ability to switch to the root account in the event that you require that type of access. In order to make this switch, perform the following steps at a command prompt with the afore mentioned account:<br />
<br />
<pre style='margin-left: 22px'><br />
$ sudo su root<br />
</pre><br />
<br />
: NOTE: Performing the above steps should be rare, if at all. If you find yourself using the root account regularly, you should instead adjust the /etc/sudoers file to grant the appropriate privileges as a regular user since using the root account presents additional security risks!<br />
<br />
===Login===<br />
: Unlike other Linux distros, the login credentials are specific to this operating system. While XiniX still uses the default administrators user account in Linux known as 'root', the password is not anything that is typically used to gain access. Instead, you must use 'now has zen' as the password in order to login successfully. It is important to note that this only applies when booting off of optical media such as CD's or DVD's, and if the OS has not been 'installed'. Once a DATA partition has been created post 'installation', the 'root' account can no longer be used to login (for security), but the credentials of the other accounts will be saved for future logins.<br />
<br />
: As of version 2017.04.07.0, an auto-login is engaged when no DATA partition exists. However, if you need to get into certain areas such as 'Access > Device', then you will still need to use the password mentioned above.<br />
<br />
===Composition===<br />
: Since XiniX is unlike its competition and is in a class of its own, it is important for the user to have a brief overview of the operating system itself. As eluded to in the '[[https://wiki.cliquesoft.org/index.php?title=XiniX#Features Features]]' section above, there is not two types of media (installation and runtime) like there is in the world of Microsoft. Meaning that you don't have to create/obtain an installation DVD (installation media) to install to a hard drive (runtime media) before being able to use the operating system - they are one-in-the-same! So by having any XiniX boot media (installation and runtime), you can not only fully use the OS, but you could in turn create other boot media such as CDs, flash drives, and hard drives.<br />
<br />
: Now that you understand XiniX's boot media, known as 'FIRMWARE', we would like to discuss the optional second part of the OS. While the user will have no restrictions using only the 'FIRMWARE', this will simply create an (anonymous) 'Live CD' environment so that you can play or test the software without making any changes to your existing setup. So if you install applications and write a document or two, none of that information will be saved after a reboot or shutdown of the device. This is where the 'DATA' partition comes in. As indicated by the name, this storage area will contain all your installed applications and saved data such as settings, documents, favorites, music, and movies. Most users will opt to have both a FIRMWARE (operating system) and DATA (user data) for a complete solution, however, the separation was made for flexibility. One last point to make is that while both can reside on the same media (e.g. hard drive), they do <u>NOT</u> have to be. So for example, you can boot off of a FIRMWARE DVD and have DATA as a flash drive!<br />
<br />
<br />
<br />
<br />
<br />
==Editions==<br />
XiniX will ultimately be distributed in multiple editions to best serve its user base. Each will be covered below:<br />
<br />
* '''Vanilla (VE)''' As the name suggests, this edition qualifies as a clean, small, and efficient distribution of the operating system meant for personal devices such as desktops and laptops with goals to later expand into mobile devices. There are no applications bundled aside from the ones necessary for system manipulation found under the 'Access > Device' screen. This not only reduces security concerns by not having unused or unwanted software installed with potential exploits, but also allows the user to personalize their device to their individual liking. By default, it is shipped with a lightweight graphical system (framebuffer) for 2D rendering, but if more powerful acceleration is required (Xorg), it can be installed using just a few clicks of the mouse.<br />
<br />
* '''Client (CE)''' Building off of the Vanilla Edition foundation, this distribution targets the SOHO and medium-sized business market. Like its base, it maintains a small, efficient footprint, but incorporates additional user account properties and authentication mechanisms (via [https://en.wikipedia.org/wiki/OpenLDAP LDAP]) for robustness. Since this edition is meant for use on higher-end hardware, the more powerful graphical system (Xorg) is installed by default. Also offered in the version will be the ability to use a traditional server and client network model with its own set of unique properties to help businesses in several ways.<br />
<br />
* '''Server (SE)''' Servers have stringent requirements, one of them is that is must remain up and running as long as possible. Since XiniX can expose its [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interface] (GUI) locally or remotely, as mentioned in the 'Features' section of this document, this edition, by default, provides that capability through the web browser of any authorized device and with local access being in the form of the [https://en.wikipedia.org/wiki/Command-line_interface command line interface] (CLI). Employees should never use a server as a work station, so there is no need to eat up resources on powering something that will never be used. This reduces overhead (and security risks) for the server so that those CPU cycles can be spent handling requests for clients - the main job of the server. Of course, a local GUI can be installed if one is desired.<br />
<br />
* '''Embedded (EE)''' Like the Server Edition, this version comes without a local GUI by default and will target embedded devices such as hobbyist projects, [https://en.wikipedia.org/wiki/Router_%28computing%29 routers], and [https://en.wikipedia.org/wiki/Set-top_box set-top boxes]. Although the default option is to install a remotely accessible GUI, a locally available GUI can be installed as well (up to Xorg), should the device require it. XiniX should maintain the smallest footprint possible with the OEM adding only what is necessary for their device to function as designed.<br />
<br />
<br />
<br />
<br />
==Comparison==<br />
Competition is always good for the market place, especially when there are only a few power players in the industry. Currently there are only three large operating system vendors - Microsoft, Apple, and Google. The make matters even worse, one of them dominates on mobile and another one dominates the desktop market. As a new competitor, XiniX can presently only compete in the desktop market so that will be reflected in the table below. Also, the below information will be based on the 64-bit, 'Home' or personal-use edition of each respective OS (Vanilla Edition for XiniX).<br />
<br />
{| class="wikitable"<br />
|-<br />
! &nbsp; !! Apple OS X !! Google Android 5 !! Microsoft Windows 10 !! Canonical Ubuntu 15.04 !! Cliquesoft XiniX Beta !! Description<br />
|-<br />
| Storage (HDD) || 9GB || Unknown || 20GB || 5GB || 96MB || Minimum storage space to install OS<br />
|-<br />
| Memory (RAM) || 2GB || Unknown || 2GB || 384MB || est 384MB || Required memory amount to run OS<br />
|-<br />
| Processor (CPU) || 1GHz || Unknown || 1GHz || 700MHz || est 600MHz || Required CPU speed to run OS<br />
|-<br />
| Networking (Style) || Server/Client || None || Server/Client || Server/Client || p2p & Server/Client || How the network style is arranged<br />
|-<br />
| Networking (Type) || LAN || None || LAN || LAN || LAN & Cloud || The type of network capability built into OS<br />
|-<br />
| Users || Multi || Single || Multi || Multi || Single or Multi || Defines individual or group usage of device<br />
|-<br />
| Cost || Est 1500* || Est $500* || Est $150* (home) || Free || Free || Monetary cost of the software<br />
|-<br />
| Applications || App Store || Google Play || Unknown || Synaptic || Software Shoppe || Source of installable software catalog<br />
|-<br />
| Printing || CUPS || None || Print Mgr || CUPS || CUPS || Locally attached or wifi printer capabilities<br />
|-<br />
| Media Lookup || No || No || No || No || Yes** || Obtains online information for personal movies<br />
|-<br />
| Bloated || Yes || Yes || Yes || Yes || No || Excessive pre-loaded software<br />
|-<br />
| Privacy (online) || [http://www.digitaltrends.com/mobile/apple-icloud-hack-china/ No]*** || [http://adwords.blogspot.com/2015/09/Google-brings-you-closer-to-your-customers.html No]**** || [http://thenextweb.com/microsoft/2015/07/29/wind-nos/ No], [http://www.forbes.com/sites/gordonkelly/2016/02/09/windows-10-data-tracking-spying-levels/?utm_campaign=yahootix&partner=yahootix#89701e97aa99 No] ***** || Yes || Yes || Is user privacy retained<br />
|-<br />
| Updates || Non-forced || Non-forced || [http://www.zdnet.com/article/windows-10-upgrade-nags-become-more-aggressive-offer-no-opt-out/#ftag=YHFb1d24ec?ref=yfp Forced] || Non-forced || Non-forced || User control of updates<br />
|-<br />
| Degradation || Yes || Yes || Yes || Yes || No****** || The performance degradation overtime<br />
|-<br />
|}<br />
<br />
: * Cost is based on the purchase of the equipment required to run the OS<br />
: ** The filename must be in a specific format - automated mated renaming efforts are under development<br />
: *** Based on their centralization of (more easily hackable) customers data versus our decentralized approach<br />
: **** Based on the well know erosion of Google's privacy policy with the users of their products<br />
: ***** Based on the revelations of excessive, unstoppable communication with Microsoft's Windows 10<br />
: ****** Based on how the OS is loaded (stages), where it is loaded (RAM), and by not having a 'registry'</div>Digitalpipe