awscli in pfSense



  • I am working on a script in pfSense that needs to make aws API calls (Using pfSense 2.4.3 in AWS). I tried to install the awscli package as follow
    pkg install awscli

    but getting the following error:**

    [2.4.3-RELEASE][admin@pfSense-Secondary.localdomain]/root/scripts: pkg install awscli
    Updating pfSense-core repository catalogue...
    pfSense-core repository is up to date.
    Updating pfSense repository catalogue...
    pfSense repository is up to date.
    All repositories are up to date.
    pkg: No packages available to install matching 'awscli' have been found in the repositories

    I was able to install the awscli by enabling the FreeBSD repos in the system (I folowed the following)

    1. Make sure "enabled" key is set to "yes" in /etc/pkg/FreeBSD.conf
    2. Change "enabled: no" to "enabled: yes" in /usr/local/etc/pkg/repos/FreeBSD.conf
    3. Change "enabled: no" to "enabled: yes" in /usr/local/etc/pkg/repos/pfSense.conf for FreeBSD repo
    4. Now you're able to install packages from FreeBSD official repo

    *[2.4.3-RELEASE][admin@pfSense-Secondary.localdomain]/usr/local/etc/pkg/repos: pkg install awscli
    Updating FreeBSD repository catalogue...
    pkg: Repository FreeBSD load error: access repo file(/var/db/pkg/repo-FreeBSD.sqlite) failed: No such file or directory
    Fetching meta.txz: 100% 944 B 0.9kB/s 00:01
    Fetching packagesite.txz: 100% 6 MiB 6.6MB/s 00:01
    Processing entries: 100%
    FreeBSD repository update completed. 32189 packages processed.
    Updating pfSense-core repository catalogue...
    pfSense-core repository is up to date.
    Updating pfSense repository catalogue...
    pfSense repository is up to date.
    All repositories are up to date.
    New version of pkg detected; it needs to be installed first.
    The following 1 package(s) will be affected (of 0 checked):

    Installed packages to be UPGRADED:
    pkg: 1.10.3_1 -> 1.10.5_1 [FreeBSD]

    Number of packages to be upgraded: 1

    3 MiB to be downloaded.

    Proceed with this action? [y/N]: y
    [1/1] Fetching pkg-1.10.5_1.txz: 100% 3 MiB 3.0MB/s 00:01
    Checking integrity... done (0 conflicting)
    [1/1] Upgrading pkg from 1.10.3_1 to 1.10.5_1...
    Extracting pkg-1.10.5_1: 100%
    You may need to manually remove /usr/local/etc/pkg.conf if it is no longer needed.
    Updating FreeBSD repository catalogue...
    FreeBSD repository is up to date.
    Updating pfSense-core repository catalogue...
    pfSense-core repository is up to date.
    Updating pfSense repository catalogue...
    pfSense repository is up to date.
    All repositories are up to date.
    The following 21 package(s) will be affected (of 0 checked):

    New packages to be INSTALLED:
    awscli: 1.15.45 [FreeBSD]
    py27-docutils: 0.14_3 [FreeBSD]
    xproto: 7.0.31 [FreeBSD]
    fontconfig: 2.12.6,1 [FreeBSD]
    freetype2: 2.9.1 [FreeBSD]
    jpeg-turbo: 1.5.3 [FreeBSD]
    jbigkit: 2.1_1 [FreeBSD]
    png: 1.6.34 [FreeBSD]
    libfontenc: 1.1.3_1 [FreeBSD]
    pixman: 0.34.0 [FreeBSD]
    cyrus-sasl: 2.1.26_13 [FreeBSD]
    py27-rsa: 3.4.2 [FreeBSD]
    py27-pyasn1: 0.4.2 [FreeBSD]
    py27-s3transfer: 0.1.13 [FreeBSD]
    py27-futures: 3.2.0 [FreeBSD]
    py27-botocore: 1.10.45 [FreeBSD]
    py27-jmespath: 0.9.0_1 [FreeBSD]
    py27-dateutil: 2.6.1 [FreeBSD]
    py27-six: 1.11.0 [FreeBSD]
    py27-yaml: 3.12 [FreeBSD]
    py27-colorama: 0.3.9 [FreeBSD]

    Number of packages to be installed: 21

    The process will require 58 MiB more space.
    7 MiB to be downloaded.

    Proceed with this action? [y/N]: y
    [1/21] Fetching awscli-1.15.45.txz: 100% 717 KiB 734.2kB/s 00:01
    [2/21] Fetching py27-docutils-0.14_3.txz: 100% 633 KiB 648.2kB/s 00:01
    [3/21] Fetching xproto-7.0.31.txz: 100% 59 KiB 60.2kB/s 00:01
    [4/21] Fetching fontconfig-2.12.6,1.txz: 100% 351 KiB 359.7kB/s 00:01
    [5/21] Fetching freetype2-2.9.1.txz: 100% 668 KiB 684.0kB/s 00:01
    [6/21] Fetching jpeg-turbo-1.5.3.txz: 100% 303 KiB 310.5kB/s 00:01
    [7/21] Fetching jbigkit-2.1_1.txz: 100% 73 KiB 74.5kB/s 00:01
    [8/21] Fetching png-1.6.34.txz: 100% 282 KiB 289.0kB/s 00:01
    [9/21] Fetching libfontenc-1.1.3_1.txz: 100% 19 KiB 19.6kB/s 00:01
    [10/21] Fetching pixman-0.34.0.txz: 100% 306 KiB 312.9kB/s 00:01
    [11/21] Fetching cyrus-sasl-2.1.26_13.txz: 100% 474 KiB 485.6kB/s 00:01
    [12/21] Fetching py27-rsa-3.4.2.txz: 100% 50 KiB 51.6kB/s 00:01
    [13/21] Fetching py27-pyasn1-0.4.2.txz: 100% 94 KiB 95.8kB/s 00:01
    [14/21] Fetching py27-s3transfer-0.1.13.txz: 100% 73 KiB 74.7kB/s 00:01
    [15/21] Fetching py27-futures-3.2.0.txz: 100% 21 KiB 21.2kB/s 00:01
    [16/21] Fetching py27-botocore-1.10.45.txz: 100% 2 MiB 2.5MB/s 00:01
    [17/21] Fetching py27-jmespath-0.9.0_1.txz: 100% 29 KiB 29.8kB/s 00:01
    [18/21] Fetching py27-dateutil-2.6.1.txz: 100% 215 KiB 220.2kB/s 00:01
    [19/21] Fetching py27-six-1.11.0.txz: 100% 17 KiB 17.0kB/s 00:01
    [20/21] Fetching py27-yaml-3.12.txz: 100% 77 KiB 79.1kB/s 00:01
    [21/21] Fetching py27-colorama-0.3.9.txz: 100% 20 KiB 20.2kB/s 00:01
    Checking integrity... done (0 conflicting)
    [1/21] Installing py27-six-1.11.0...
    [1/21] Extracting py27-six-1.11.0: 100%
    [2/21] Installing py27-docutils-0.14_3...
    [2/21] Extracting py27-docutils-0.14_3: 100%
    [3/21] Installing py27-jmespath-0.9.0_1...
    [3/21] Extracting py27-jmespath-0.9.0_1: 100%
    [4/21] Installing py27-dateutil-2.6.1...
    [4/21] Extracting py27-dateutil-2.6.1: 100%
    [5/21] Installing py27-pyasn1-0.4.2...
    [5/21] Extracting py27-pyasn1-0.4.2: 100%
    [6/21] Installing py27-futures-3.2.0...
    [6/21] Extracting py27-futures-3.2.0: 100%
    [7/21] Installing py27-botocore-1.10.45...
    [7/21] Extracting py27-botocore-1.10.45: 100%
    [8/21] Installing xproto-7.0.31...
    [8/21] Extracting xproto-7.0.31: 100%
    [9/21] Installing freetype2-2.9.1...
    [9/21] Extracting freetype2-2.9.1: 100%
    [10/21] Installing py27-rsa-3.4.2...
    [10/21] Extracting py27-rsa-3.4.2: 100%
    [11/21] Installing py27-s3transfer-0.1.13...
    [11/21] Extracting py27-s3transfer-0.1.13: 100%
    [12/21] Installing py27-yaml-3.12...
    [12/21] Extracting py27-yaml-3.12: 100%
    [13/21] Installing py27-colorama-0.3.9...
    [13/21] Extracting py27-colorama-0.3.9: 100%
    [14/21] Installing awscli-1.15.45...
    [14/21] Extracting awscli-1.15.45: 100%
    [15/21] Installing fontconfig-2.12.6,1...
    [15/21] Extracting fontconfig-2.12.6,1: 100%
    Running fc-cache to build fontconfig cache...
    /usr/local/share/fonts: skipping, no such directory
    /usr/local/lib/X11/fonts: skipping, no such directory
    /var/db/fontconfig: cleaning cache directory
    fc-cache: succeeded
    [16/21] Installing jpeg-turbo-1.5.3...
    [16/21] Extracting jpeg-turbo-1.5.3: 100%
    [17/21] Installing jbigkit-2.1_1...
    [17/21] Extracting jbigkit-2.1_1: 100%
    [18/21] Installing png-1.6.34...
    [18/21] Extracting png-1.6.34: 100%
    [19/21] Installing libfontenc-1.1.3_1...
    [19/21] Extracting libfontenc-1.1.3_1: 100%
    [20/21] Installing pixman-0.34.0...
    [20/21] Extracting pixman-0.34.0: 100%
    [21/21] Installing cyrus-sasl-2.1.26_13...
    *** Added group cyrus' (id 60) *** Added usercyrus' (id 60)
    [21/21] Extracting cyrus-sasl-2.1.26_13: 100%
    Message from freetype2-2.9.1:

    The 2.7.x series now uses the new subpixel hinting mode (V40 port's option) as
    the default, emulating a modern version of ClearType. This change inevitably
    leads to different rendering results, and you might change port's options to
    adapt it to your taste (or use the new "FREETYPE_PROPERTIES" environment
    variable).

    The environment variable "FREETYPE_PROPERTIES" can be used to control the
    driver properties. Example:

    FREETYPE_PROPERTIES=truetype:interpreter-version=35
    cff:no-stem-darkening=1
    autofitter:warping=1*

    This allows to select, say, the subpixel hinting mode at runtime for a given
    application.

    The controllable properties are listed in the section "Controlling FreeType
    Modules" in the reference's table of contents
    (/usr/local/share/doc/freetype2/reference/ft2-toc.html, if documentation was installed).
    Message from cyrus-sasl-2.1.26_13:

    You can use sasldb2 for authentication, to add users use:

        saslpasswd2 -c username
    

    If you want to enable SMTP AUTH with the system Sendmail, read
    Sendmail.README

    NOTE: This port has been compiled with a default pwcheck_method of
    auxprop. If you want to authenticate your user by /etc/passwd,
    PAM or LDAP, install ports/security/cyrus-sasl2-saslauthd and
    set sasl_pwcheck_method to saslauthd after installing the
    Cyrus-IMAPd 2.X port. You should also check the
    /usr/local/lib/sasl2/*.conf files for the correct
    pwcheck_method.
    If you want to use GSSAPI mechanism, install
    ports/security/cyrus-sasl2-gssapi.
    If you want to use SRP mechanism, install
    ports/security/cyrus-sasl2-srp.
    If you want to use LDAP auxprop plugin, install
    ports/security/cyrus-sasl2-ldapdb.
    [2.4.3-RELEASE][admin@pfSense-Secondary.localdomain]/usr/local/etc/pkg/repos:

    Looks like everything installed clean but I would feel much more comfortable if there was an official package from pfSense. Did anyone try install it this way? Any thoughts and comments would be greatly appreciated.

    Paul