Mirror Tool - Linux
You can find the Mirror Tool changelog in the Standalone tools changelogs.
The Mirror Tool is necessary for offline detection engine updates. If your client computers do not have an internet connection and need detection engine updates, you can use the Mirror Tool to download update files from ESET update servers and store them locally.
The Mirror Tool has these functions: •Module updates—It downloads detection engine updates and other program modules, but not auto-updates (uPCU). •Repository creation—It can create a full offline repository, including auto-updates (uPCU). The Mirror Tool does not download ESET LiveGrid® data. |
Prerequisites
•The repository where the mirror is created must have read and execute permissions for all users. Run this command as a privileged user to grant the permission: chmod 755 mirror/folder/path (replace mirror/folder/path with the mirror folder path).
•The target folder must be available for sharing, Samba/Windows or HTTP/FTP service, depending on how you want to have the updates accessible.
oESET security products for Windows - You can update them remotely using HTTP or a shared folder.
oESET security products for Linux/macOS - You can update them remotely only using HTTP. If you use a shared folder, it must be on the same computer as the ESET security product.
•You must have a valid offline license file needed for the activation of the Mirror Tool and generation of the update mirror. You can generate the offline license file in ESET Business Account or ESET PROTECT Hub:
oIn ESET Business Account, select the Include Username and Password check box.
oIn ESET PROTECT Hub, select the Allow online activation check box.
How to use the Mirror Tool
1.Download the Mirror Tool from the ESET download page (Standalone installers section).
2.Unzip the downloaded archive.
3.Open the Terminal in the folder with the MirrorTool file and make the file executable:
chmod +x MirrorTool
4.Run the command below to view all available parameters for the Mirror Tool and its version:
./MirrorTool --help
•Mirror Tool 1.0.x—All the parameters are case-sensitive. •Mirror Tool 1.2.x and later—All the parameters are case-insensitive. |
You can use the parameters to create the repository mirror or modules mirror:
Parameters for both repository and modules mirror
Repository-specific parameters
Parameter |
Description |
|||
---|---|---|---|---|
--updateServer |
The Mirror Tool creates a folder structure different from what Endpoint mirror does. Each folder holds update files for a group of products.
|
|||
--offlineLicenseFilename |
You must specify a path to your offline license file (as mentioned above). |
|||
--mirrorOnlyLevelUpdates |
No argument needed. If set, only level updates will be downloaded (nano updates will not be downloaded). Read more about update types in our Knowledgebase article. |
|||
--mirrorFileFormat |
You can specify which type of update files will be downloaded. Possible values (case sensitive): •dat - Use this value if you have environment only with ESET security product versions 6.5 and earlier. •dll - Use this value if you have environment only with ESET security product versions 6.6 and later. •dylib - Use this value if you have environment only with ESET security product for macOS version 8 and later. |
|||
--compatibilityVersion |
This optional parameter applies to the Mirror Tool distributed with ESET PROTECT On-Prem 8.1 and later. The Mirror Tool will download update files compatible with ESET PROTECT On-Prem repository version you specify in the parameter argument in format x.x or x.x.x.x, for example: --compatibilityVersion 12.0 or --compatibilityVersion 8.1.13.0. The --compatibilityVersion parameter excludes the auto-updates (uPCU) from the mirror. If you need the auto-updates (uPCU) in your environment and want to decrease the mirror size, use the --filterFilePath parameter. |
To reduce the amount of data dowloaded from the ESET repository, we recommend that you use the new parameters in Mirror Tool distributed with ESET PROTECT On-Prem 9: --filterFilePath and --dryRun: 1.Create a filter in a JSON format (see --filterFilePath below). 2.Perform a test Mirror Tool run with the --dryRun parameter (see below) and adjust the filter as necessary. 3.Run the Mirror Tool with the --filterFilePath parameter and the defined download filter, together with --intermediateRepositoryDirectory and --outputRepositoryDirectory parameters. 4.Run the Mirror Tool regularly to always use the latest installers. |
Parameter |
Description |
|||
---|---|---|---|---|
--filterFilePath |
Use this optional parameter to filter ESET security products based on a text file in JSON format placed in the same folder as Mirror Tool, for example: --filterFilePath filter.txt). |
|||
--dryRun |
When you use this optional parameter, Mirror Tool will not download any files, but it will generate a .csv file listing all packages that will be downloaded.
You can use this parameter without mandatory parameters --intermediateRepositoryDirectory and --outputRepositoryDirectory, for example: •Windows: MirrorTool.exe --repositoryServer AUTOSELECT --dryRun test.csv •Linux: sudo ./MirrorTool --repositoryServer AUTOSELECT --dryRun test.csv
If you use the --dryRun parameter and also --intermediateRepositoryDirectory and --outputRepositoryDirectory parameters, the Mirror Tool does not clear the outputRepositoryDirectory. |
|||
--listUpdatableProducts |
List all ESET products for which the Mirror Tool can download module updates (unless --excludedProducts is used). The parameter is available from Mirror Tool versions: 1.0.1294.0 (Windows), 1.0.2226.0 (Linux). |
|||
--networkDriveUsername |
Username used to access the output directory via SMB (for example, \\hostname). The parameter works only on Mirror Tool for Windows. |
|||
--networkDrivePassword |
Password used to access the output directory via SMB. The parameter works only on Mirror Tool for Windows. |
Mirror Tool folder structure
By default, if you do not specify the --updateServer parameter, the Mirror Tool creates this folder structure on your HTTP server:
Do not use an HTTP-only mirror server Ensure the local mirror server uses HTTP and HTTPS protocols or only HTTPS. If the mirror server uses only HTTP, you cannot use the Software Install client task because the ESET security product's EULA cannot be retrieved from an HTTP server. |
Mirror Tool default folders |
ESET security product |
Update server (according to your HTTP server root location) |
---|---|---|
mirror/eset_upd/era6 |
ESET PROTECT On-Prem (all versions) |
To update the ESET PROTECT On-Prem 12.0 from the mirror, set the Update server to http://your_server_address/mirror/eset_upd/era6 |
mirror/eset_upd/ep[version] |
ESET Endpoint Antivirus/Security version 6.x (and later) for Windows. Each major version has its folder, for example, ep10 for version 10.x. |
http://your_server_address/mirror/eset_upd/ep10 (an example for version 10.x) |
mirror/eset_upd/v5 |
ESET Endpoint Antivirus/Security version 5.x for Windows |
http://your_server_address/mirror/eset_upd/v5 |
ESET security products for Linux/macOS You must specify the --updateServer parameter and create additional folders to update ESET security products for Linux/macOS from the HTTP mirror (see below). |
--updateServer |
Additional Mirror Tool folder |
ESET security product |
Update server (according to your HTTP server root location) |
---|---|---|---|
http://update.eset.com/eset_upd/businesslinux |
mirror/eset_upd/BusinessLinux |
ESET Endpoint Antivirus for Linux |
http://your_server_address/mirror/eset_upd/BusinessLinux |
http://update.eset.com/eset_upd/serverlinux |
mirror/eset_upd/LinuxServer |
ESET Server Security for Linux |
http://your_server_address/mirror/eset_upd/LinuxServer |
http://update.eset.com/eset_upd/businessmac |
mirror/eset_upd/BusinessMac |
ESET Endpoint Security version 7.x+ for macOS |
http://your_server_address/mirror/eset_upd/BusinessMac |
http://update.eset.com/eset_mobile/eesa |
mirror/eset_upd/EndpointAndroid |
ESET Endpoint Security for Android |
http://your_server_address/mirror/eset_upd/EndpointAndroid |
To create a mirror, run the Mirror Tool with at least the minimum required parameters. Here is an example:
sudo ./MirrorTool --mirrorType regular \ --intermediateUpdateDirectory /tmp/mirrorTool/mirrorTemp \ --offlineLicenseFilename /tmp/mirrorTool/offline.lf \ --outputDirectory /tmp/mirrorTool/mirror |
Here is an example of more advanced configuration for an offline repository with selected products, languages and enabled download of legacy files defined in the filter.txt file (see the file contents example in --filterFilePath details above):
sudo ./MirrorTool --repositoryServer AUTOSELECT \ --intermediateRepositoryDirectory /tmp/repoTemp \ --outputRepositoryDirectory /var/lib/tomcat9/webapps/mirrorRepo \ --filterFilePath filter.txt |
We recommend that you delete commands containing sensitive data (for example, a password) from the command line history: 1.Run history to see the list of all commands in the history. 2.Run history -d line_number (specify the line number of the command). Alternatively, run history -c to delete the entire command line history. |
Mirror Tool and Update settings
•To automate downloads for modules updates, you can create a schedule to run the Mirror Tool. To do so, open your Web Console and click Client Tasks > Operating System > Run Command. Select Command line to run (including a path to the MirrorTool.exe) and a reasonable trigger (such as CRON for every hour 0 0 * * * ? *). Alternatively, you can use the Windows Task Scheduler or Cron in Linux.
•To configure updates on a client computer(s), create a new policy and configure Update server to point to your mirror address or shared folder.