Internalize Chocolatey packages

To access Chocolatey packages in your private network you need to download them from the Internet and store them at a location where all servers can access them. You can internalize Chocolatey packages if you have a Chocolatey enterprise subscription.

You can use an Artifactory server to host the internalized packages.

List of available packages

To get the list of the available Chocolatey packages on an Artifactory server

choco list -s http://ARTIFACTORY_SERVER_URL/artifactory/api/nuget/ARTIFACTORY_REPOSITORY_NAME

Non copyrighted applications

If the Chocolatey package does not contain copyrighted components, Chocolatey can download and repackage the entire package, including the application.

Download a Chocolatey package from the Internet and store it on your local drive

choco download PACKAGE_NAME --internalize

To store the Chocolatey packages on an Artifactory server

  • The Artifactory server has to have a Pro license
  • Create a NuGet type local repository

Upload the package from your local drive to an Artifactory server

curl -u ARTIFACTORY_USERNAME:ARTIFACTORY_PASSWORD -X PUT "http://ARTIFACTORY_SERVER_URL/artifactory/ARTIFACTORY_REPOSITORY_NAME/PACKAGE_NAME/PACKAGE_FILE_NAME.nupkg" -T ./PACKAGE_FILE_NAME.nupkg

Copyrighted applications

If the Chocolatey package installs an application that is copyrighted, the author of the package cannot publish the copyrighted source, but can place the download location and installation process into the package.

To internalize Chocolatey packages with copyrighted application source:

  • Download the Chocolatey package without the internalize option
    choco download PACKAGE_NAME
  • Open the tools\chocolateyInstall.ps1 file and find the download url. Some scripts contain variables for the version of the application
  • Assemble the actual download URL and download the application source
  • Place the downloaded installer into the tools folder
  • Update the chocolateyInstall.ps1 to point to the installer file in the package. Find Install-ChocolateyZipPackage in the script and replace the line with
    $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    
    Install-ChocolateyZipPackage 'PACKAGE_NAME' "$toolsDir\DOWNLOADED_INSTALLER.zip" "$toolsDir"
  • Right click the .nuspec file in the main package folder and select Compile Chocolatey Package or execute
    choco pack path\to\notepadplusplus.commandline.nuspec

…refers to a location that is unavailable

When you try to copy a file from an external drive, or a network location, you may get the following error message:

… refers to a location that is unavailable. It could be on a hard drive on this computer, or on a network. Check to make sure that the disk is properly inserted, or that you are connected to the Internet or your network, and try again. If it still cannot be located, the information might have been moved to a different location.

This can happen when you try to copy a file from an external drive or network location to a folder on your computer, and the operating system wants to ask your permission to access the target location.

For some reason clicking the Continue button does not satisfy Windows.

To be able to copy the file, first copy the file to the desktop, and move it to the destination folder.

How to get into the BIOS menu on a Windows 10 computer.

When you select Shut down on a Windows 10 computer, your machine is really not shut down. When you turn the computer on again it executes a fast start, so you cannot open the BIOS menu.

Manufacturer Keyboard button
ASUS mother boards Del
  • Keep the keyboard button pressed and turn on the computer.

How to completely shut down a Windows 10 computer

Windows 10 does not really shut down the computer when you select Shut down. This enables the operating system to start quickly, but if you want to cold start your computer to enter the BIOS menu you need to turn off your computer. To really shut down your Windows 10 computer:

  • Right click the Windows logo in the lower left corner of the screen
  • Click Shut down or sign out
  • Keep the Shift button pressed on your keyboard and click Shut down

 

 

ASUS motherboard does not boot after BIOS update

The motherboard BIOS update can cause problems, it is possible that after the update the computer does not boot anymore.

The ASUS motherboards come with the USB BIOS Flashback feature to load the BIOS even if the computer does not boot anymore.

The process below is for the ASUS P8Z77-V PRO/THUNDERBOLT motherboard, but all modern ASUS motherboards provide the same functionality.

Before BIOS update make sure you load the optimized BIOS configuration, otherwise after the BIOS update the computer may not boot anymore

Load the optimized BIOS configuration before the BIOS update

  • Restart the computer,
  • During the startup press the Del button to enter the BIOS setup,
  • Press F5 to load the optimized configuration,
  • Press F10 to save the changes and exit.

To reload the BIOS after a failed update

To fix a corrupted BIOS, you need access to a working computer that is connected to the Internet and a USB stick (pen drive) that is formatted with the FAT file system. Older motherboards cannot read the NTFS file system during the BIOS Flashback process.

Download the “Bios Renamer for USB BIOS Flashback” utility

  • On the asus.com web site select Support in the menu,
  • Select Consumer,
  • In the search box enter the model of your motherboard,
  • In the sub-menu of the product page select Support,
  • Click Driver & Tools,
  • In the Please select OS drop down menu select Others,
  • In the BIOS-Utilities section download the Bios Renamer for USB BIOS Flashback.

Download the BIOS for your motherboard

  • In the Please select OS drop down menu select the operating system you use,
  • In the BIOS section download the latest BIOS file.

Rename the downloaded BIOS file

The USB BIOS Flashback searches for a specific file on the USB device that you insert into the BIOS FlashBack USB port (marked with green border). The Bios Renamer for USB BIOS Flashback utility will rename the downloaded BIOS file to the correct name for your mother board

  • Create a folder for the BIOS file,
  • Extract the BIOS file from the downloaded BIOS zip file and place it in the folder,
  • Extract the BRenamerl.exe utility from the zip file and place it in the same folder,
  • Double click the BRenamerl.exe file to execute it. The program will rename the BIOS file, so the Flashback utility can find it.
  • Copy the renamed file to the FAT formatted USB stick.

The BIOS file names

Motherboard model BIOS file name
P8Z77-V PRO/THUNDERBOLT Z77VPTB.CAP

Flash the BIOS of the unresponsive ASUS motherboard

  • Turn off the computer,
  • Open the computer case to get access to the component side of the motherboard,
  • Insert the USB stick into the green framed USB Flashback port,
  • Plug the computer into the wall outlet,
  • If the power supply has a switch, turn it on, but do not start the computer,
  • Keep the BIOS Flashback button pressed on the motherboard for 3 seconds,
    • If the BIOS Flachback LED keeps blinking, the update starts. When the LED goes dark, the update has completed.
    • If the BIOS Flachback LED blinks a few more times and stays lit, the USB drive is not inserted to the correct port, not readable, the BIOS file name is not correct, or the file is corrupted. Turn on the computer for a few seconds to clear the BIOS Flashback LED light.
  • If the BIOS Flashback light goes out in a few minutes, the BIOS flashback has succeeded.

Load the optimized BIOS configuration as described at the top of this post.

Delay updates in Windows 10

On more occasions Microsoft released Windows 10 updates that disabled the network connection, the webcam or caused other inconveniences. Windows 10 automatically downloads and installs the updates without asking for permission from the owner of the computer. In Windows professional you can delay the installation of updates, so your work is not interrupted with frequent recommended updates, and Microsoft can fix the update before your computer installs it. The important security updates are still installed when those are released.

To defer Windows 10 updates

Click the Windows icon in the lower left corner and select the gear (Settings)

Inline image 2

On the main Settings page select Update & security

Inline image 3

Under Update settings select Advanced options

Inline image 4

On the Advanced options page select Defer feature updates

Inline image 1

undefined method `exists?’ for Chef::Resource::File:Class

When you move Chef script code from a Chef recipe to a custom resource, some commands need to be modified.

If you use the File class you can get the following error message:

NoMethodError
-------------
undefined method `exists?' for Chef::Resource::File:Class

To make the code work in a custom resource, add two colons (::) in front of the File word:

::File.exists?

 

Keep multiple versions of applications on Macintosh

Most of the DevOps tools are still in beta versions, many times the new version is not compatible with your existing scripts or have an error that stops your scripts working. To be able to keep multiple versions of the applications and easily switch between them, create symbolic links and point to the version you want to execute.

Create version specific locations

Create a folder for your optional applications.

mkdir /opt

Set the security of the folder.

sudo chmod 755 /opt

Place each application into its own folder with a version specific folder inside.

Create a symbolic link to point to the application in the appropriate version folder.

cd /opt/packer
ln -s /opt/packer/packer_0.11.0/packer packer

Add the main application folder to the path in the config file of your terminal

  • for iTerm2 with zterminal: ~/.zshrc
  • for other terminals: ~/.bash_profile
PATH=/opt/packer:$PATH

To change the version you want to execute

  • Delete the symbolic link,
    cd /opt/packer
    rm packer
  • Create a new symbolic link pointing to the other version of the application as above.