Current File : //sbin/virt-what
#!/bin/sh -
# virt-what.  Generated from virt-what.in by configure.
# Copyright (C) 2008-2022 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

# 'virt-what' tries to detect the type of virtualization being
# used (or none at all if we're running on bare-metal).  It prints
# out one or more lines each being a 'fact' about the virtualization.
#
# Please see also the manual page virt-what(1).
# This script should be run as root.
#
# The following resources were useful in writing this script:
# . http://dmo.ca/blog/detecting-virtualization-on-linux/

# Do not allow unset variables, and set defaults.
set -u
root=''
skip_qemu_kvm=false
skip_lkvm=false

VERSION="1.25"

have_cpuinfo () {
    test -e "${root}/proc/cpuinfo"
}

use_sysctl() {
    # Lacking /proc, on some systems sysctl can be used instead.
    OS=$(uname) || fail "failed to get operating system name"

    [ "$OS" = "OpenBSD" ]
}

fail () {
    echo "virt-what: $1" >&2
    exit 1
}

usage () {
    echo "virt-what [options]"
    echo "Options:"
    echo "  --help          Display this help"
    echo "  --version       Display version and exit"
    exit 0
}

# Handle the command line arguments, if any.
while test $# -gt 0; do
    case "$1" in
        --help) usage ;;
        --test-root=*)
            # Deliberately undocumented: used for 'make check'.
            root=$(echo "$1" | sed 's/.*=//')
            shift 1
            test -z "$root" && fail "--test-root option requires a value"
            ;;
        -v|--version) echo "$VERSION"; exit 0 ;;
        --) shift; break ;;
        *) fail "unrecognized option '$1'";;
    esac
done
test $# -gt 0 && fail "extra operand '$1'"

# Add /sbin and /usr/sbin to the path so we can find system
# binaries like dmidecode.
# Add /usr/libexec to the path so we can find the helper binary.
prefix=/usr
exec_prefix=/usr
PATH="${root}/usr/libexec:${root}/sbin:${root}/usr/sbin:${PATH}"
export PATH

# Check we're running as root.
EFFUID=$(id -u) || fail "failed to get current user id"

if [ "x$root" = "x" ] && [ "$EFFUID" -ne 0 ]; then
    fail "this script must be run as root"
fi

# Try to locate the CPU-ID helper program
CPUID_HELPER=$(which virt-what-cpuid-helper 2>/dev/null)
if [ -z "$CPUID_HELPER" ] ; then
    fail "virt-what-cpuid-helper program not found in \$PATH"
fi

# Many fullvirt hypervisors give an indication through CPUID.  Use the
# helper program to get this information.

cpuid=$(virt-what-cpuid-helper)

# Check for various products in the BIOS information.
# Note that dmidecode doesn't exist on all architectures.  On the ones
# it does not, then this will return an error, which is ignored (error
# message redirected into the $dmi variable).

dmi=$(LANG=C dmidecode 2>&1)

# Architecture.
# Note for the purpose of testing, we only call uname with -m option.

arch=$(uname -m | sed -e 's/i.86/i386/' | sed -e 's/arm.*/arm/')

# Check for Alibaba Cloud
if echo "$dmi" | grep -q 'Manufacturer: Alibaba'; then
    # Check for Alibaba Cloud ECS Bare Metal (EBM) Instance
    if [ "x$root" = "x" ] && ( { echo -e "GET /latest/meta-datainstance/instance-type HTTP/1.0\r\nHost: 100.100.100.200\r\n\r" >&3; grep -sq 'ebm' <&3 ; } 3<> /dev/tcp/100.100.100.200/80 ) 2>/dev/null ; then
        echo "alibaba_cloud-ebm"
    else
        echo "alibaba_cloud"
    fi
fi

# Check for VMware.
# cpuid check added by Chetan Loke.

if [ "$cpuid" = "VMwareVMware" ]; then
    echo vmware
elif echo "$dmi" | grep -q 'Manufacturer: VMware'; then
    echo vmware
fi

# Check for Hyper-V.
# http://blogs.msdn.com/b/sqlosteam/archive/2010/10/30/is-this-real-the-metaphysics-of-hardware-virtualization.aspx
if [ "$cpuid" = "Microsoft Hv" ]; then
    echo hyperv
fi

# Check for VirtualPC.
# The negative check for cpuid is to distinguish this from Hyper-V
# which also has the same manufacturer string in the SM-BIOS data.
if [ "$cpuid" != "Microsoft Hv" ] &&
    echo "$dmi" | grep -q 'Manufacturer: Microsoft Corporation' &&
    echo "$dmi" | grep -q 'Product Name: Virtual Machine'; then
    echo virtualpc
fi

# Check for VirtualBox.
# Added by Laurent Léonard.
if echo "$dmi" | grep -q 'Manufacturer: innotek GmbH'; then
    echo virtualbox
fi

# Check for bhyve.
if [ "$cpuid" = "bhyve bhyve " ]; then
  echo bhyve
elif echo "$dmi" | grep -q "Vendor: BHYVE"; then
  echo bhyve
fi

# Check for OpenVZ / Virtuozzo.
# Added by Evgeniy Sokolov.
# /proc/vz - always exists if OpenVZ kernel is running (inside and outside
# container)
# /proc/bc - exists on node, but not inside container.
if [ -d "${root}/proc/vz" -a ! -d "${root}/proc/bc" ]; then
    echo openvz
fi

# Check for LXC containers
# http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface
# Added by Marc Fournier
if [ -e "${root}/proc/1/environ" ] &&
    tr '\000' '\n' < "${root}/proc/1/environ" |
        grep -Eiq '^container=lxc'; then
    echo lxc
fi

# Check for Illumos LX
if [ -e "${root}/proc/1/environ" ] &&
    tr '\0' '\n' < "${root}/proc/1/environ" | grep -q '^container=zone$' &&
    [ -e "${root}/proc/version" ] &&
    grep -q 'BrandZ virtual linux' < "${root}/proc/version"; then
    echo illumos-lx
fi

# Check for Docker.
if [ -f "${root}/.dockerenv" ] || [ -f "${root}/.dockerinit" ] || \
   grep -qF /docker/ "${root}/proc/self/cgroup" 2>/dev/null; then
    echo docker
fi

# Check for OCI.
if [ -e "${root}/proc/1/environ" ] &&
    cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=oci'; then
    echo oci
fi

# Check for CRI-O.
if [ -e "${root}/proc/1/environ" ] &&
    cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=crio'; then
    echo crio
fi

# Check for Podman.
if [ -e "${root}/proc/1/environ" ] &&
    cat "${root}/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container=podman'; then
    echo podman
elif grep -qF /libpod- "${root}/proc/self/cgroup" 2>/dev/null; then
    echo podman
fi

# Check for Linux-VServer
if test -e "${root}/proc/self/status" \
   && cat "${root}/proc/self/status" | grep -q "VxID: [0-9]*"; then
    echo linux_vserver
    if grep -q "VxID: 0$" "${root}/proc/self/status"; then
        echo linux_vserver-host
    else
        echo linux_vserver-guest
    fi
fi

# Check for UML.
# Added by Laurent Léonard.
if have_cpuinfo && grep -q 'UML' "${root}/proc/cpuinfo"; then
    echo uml
fi

# Check for IBM PowerVM Lx86 Linux/x86 emulator.
if have_cpuinfo && grep -q '^vendor_id.*PowerVM Lx86' "${root}/proc/cpuinfo"
then
    echo powervm_lx86
fi

# Check for Hitachi Virtualization Manager (HVM) Virtage logical partitioning.
if echo "$dmi" | grep -q 'Manufacturer.*HITACHI' &&
   echo "$dmi" | grep -q 'Product.* LPAR'; then
    echo virtage
fi

# Check for IBM SystemZ.
if have_cpuinfo && grep -q '^vendor_id.*IBM/S390' "${root}/proc/cpuinfo"; then
    echo ibm_systemz
    if [ -f "${root}/proc/sysinfo" ]; then
        if grep -q 'VM.*Control Program.*KVM/Linux' "${root}/proc/sysinfo"; then
            echo ibm_systemz-kvm
        elif grep -q 'VM.*Control Program.*z/VM' "${root}/proc/sysinfo"; then
            echo ibm_systemz-zvm
        elif grep -q '^LPAR' "${root}/proc/sysinfo"; then
            echo ibm_systemz-lpar
        else
            # This is unlikely to be correct.
            echo ibm_systemz-direct
        fi
    fi
fi

# Check for Parallels.
if echo "$dmi" | grep -q 'Vendor: Parallels'; then
    echo parallels
    skip_qemu_kvm=true
fi

# Check for Nutanix AHV.
if echo "$dmi" | grep -q 'Manufacturer: Nutanix'; then
    echo nutanix_ahv
fi

# Check for oVirt/RHEV.
if echo "$dmi" | grep -q 'Manufacturer: oVirt'; then
    echo ovirt
fi
if echo "$dmi" | grep -q 'Product Name: RHEV Hypervisor'; then
    echo rhev
fi

# Google Cloud
if echo "$dmi" | grep -q 'Product Name: Google Compute Engine'; then
    echo google_cloud
fi

# Red Hat's hypervisor.
if echo "$dmi" | grep -q 'Manufacturer: Red Hat'; then
    echo redhat
fi

# Check for Xen.

if [ "$cpuid" = "XenVMMXenVMM" ] &&
    ! echo "$dmi" | grep -q 'No SMBIOS nor DMI entry point found, sorry'; then
    echo xen; echo xen-hvm
    skip_qemu_kvm=true
elif [ -d "${root}/proc/xen" ]; then
    echo xen
    if grep -q "control_d" "${root}/proc/xen/capabilities" 2>/dev/null; then
        echo xen-dom0
    else
        echo xen-domU
    fi
    skip_qemu_kvm=true
    skip_lkvm=true
elif [ -f "${root}/sys/hypervisor/type" ] &&
    grep -q "xen" "${root}/sys/hypervisor/type"; then
    # Ordinary kernel with pv_ops.  There does not seem to be
    # enough information at present to tell whether this is dom0
    # or domU.  XXX
    echo xen
elif [ "$arch" = "arm" ] || [ "$arch" = "aarch64" ]; then
    if [ -d "${root}/proc/device-tree/hypervisor" ] &&
        grep -q "xen" "${root}/proc/device-tree/hypervisor/compatible"; then
        echo xen
        skip_qemu_kvm=true
        skip_lkvm=true
    elif [ -d "${root}/proc/device-tree/hypervisor" ] &&
        grep -q "vmware" "${root}/proc/device-tree/hypervisor/compatible"; then
        echo vmware
        skip_lkvm=true
    fi
elif [ "$arch" = "ia64" ]; then
    if [ -d "${root}/sys/bus/xen" -a ! -d "${root}/sys/bus/xen-backend" ]; then
        # PV-on-HVM drivers installed in a Xen guest.
        echo xen
        echo xen-hvm
    else
        # There is no virt leaf on IA64 HVM.  This is a last-ditch
        # attempt to detect something is virtualized by using a
        # timing attack.
        virt-what-ia64-xen-rdtsc-test > /dev/null 2>&1
        case "$?" in
            0) ;; # not virtual
            1) # Could be some sort of virt, or could just be a bit slow.
                echo virt
        esac
    fi
fi

# Check for QEMU/KVM.
#
# Parallels exports KVMKVMKVM leaf, so skip this test if we've already
# seen that it's Parallels.  Xen uses QEMU as the device model, so
# skip this test if we know it is Xen.

if ! "$skip_qemu_kvm"; then
    if [ "$cpuid" = "KVMKVMKVM" ]; then
        echo kvm
    elif [ "$cpuid" = "TCGTCGTCGTCG" ]; then
        echo qemu
        skip_lkvm=true
    elif echo "$dmi" | grep -q 'Product Name: KVM'; then
        echo kvm
        skip_lkvm=true
    elif echo "$dmi" | grep -q 'Manufacturer: KVM'; then
        echo kvm
        skip_lkvm=true
    elif echo "$dmi" | grep -q 'Manufacturer: Amazon EC2' &&
        echo "$dmi" | grep -q 'System is a virtual machine'; then
        # This is for AWS Graviton (Arm) systems which don't have CPUID.
        echo kvm
        skip_lkvm=true
    elif echo "$dmi" | grep -q 'Manufacturer: Alibaba Cloud' &&
        echo "$dmi" | grep -q 'System is a virtual machine'; then
        # This is for Alibaba Arm systems which don't have CPUID.
        echo kvm
        skip_lkvm=true
    elif echo "$dmi" | grep -q 'Manufacturer: QEMU'; then
        # The test for KVM above failed, so now we know we're
        # not using KVM acceleration.
        echo qemu
        skip_lkvm=true
    elif [ "$arch" = "arm" ] || [ "$arch" = "aarch64" ]; then
        if [ -d "${root}/proc/device-tree" ] &&
            ls "${root}/proc/device-tree" | grep -q "fw-cfg"; then
            # We don't have enough information to determine if we're
            # using KVM acceleration or not.
            echo qemu
            skip_lkvm=true
        fi
    elif [ -d ${root}/proc/device-tree/hypervisor ] &&
         grep -q "linux,kvm" /proc/device-tree/hypervisor/compatible; then
        # We are running as a spapr KVM guest on ppc64
        echo kvm
        skip_lkvm=true
    elif use_sysctl; then
        # SmartOS KVM
        product=$(sysctl -n hw.product)
        if echo "$product" | grep -q 'SmartDC HVM'; then
            echo kvm
        fi
    else
        # This is known to fail for qemu with the explicit -cpu
        # option, since /proc/cpuinfo will not contain the QEMU
        # string. QEMU 2.10 added a new CPUID leaf, so this
        # problem only triggered for older QEMU
        if have_cpuinfo && grep -q 'QEMU' "${root}/proc/cpuinfo"; then
            echo qemu
        fi
    fi
fi

if ! "$skip_lkvm"; then
    if [ "$cpuid" = "LKVMLKVMLKVM" ]; then
        echo lkvm
    elif [ "$arch" = "arm" ] || [ "$arch" = "aarch64" ]; then
        if [ -d "${root}/proc/device-tree" ] &&
            grep -q "dummy-virt" "${root}/proc/device-tree/compatible"; then
            echo lkvm
        fi
    fi
fi

# Check ppc64 lpar, kvm or powerkvm

# example /proc/cpuinfo line indicating 'not baremetal'
# platform  : pSeries
#
# example /proc/ppc64/lparcfg systemtype line
# system_type=IBM pSeries (emulated by qemu)

if [ "$arch" = "ppc64" ] || [ "$arch" = "ppc64le" ] ; then
    if have_cpuinfo && grep -q 'platform.**pSeries' "${root}/proc/cpuinfo"; then
        if grep -q 'model.*emulated by qemu' "${root}/proc/cpuinfo"; then
                echo ibm_power-kvm
        else
            # Assume LPAR, now detect shared or dedicated
            if grep -q 'shared_processor_mode=1' "${root}/proc/ppc64/lparcfg"; then
                echo ibm_power-lpar_shared
            else
                echo ibm_power-lpar_dedicated
            fi
        # detect powerkvm?
        fi
    fi
fi

# Check for OpenBSD/VMM
if [ "$cpuid" = "OpenBSDVMM58" ]; then
        echo vmm
fi

# Check for LDoms
if [ "${arch#sparc}" != "$arch" ] && [ -e "${root}/dev/mdesc" ]; then
    echo ldoms
    if [ -d "${root}/sys/class/vlds/ctrl" ] && \
             [ -d "${root}/sys/class/vlds/sp" ]; then
        echo ldoms-control
    else
        echo ldoms-guest
    fi
    MDPROP="${root}/usr/lib/ldoms/mdprop.py"
    if [ -x "${MDPROP}" ]; then
        if [ -n "$($MDPROP -v iodevice device-type=pciex)" ]; then
            echo ldoms-root
            echo ldoms-io
        elif [ -n "$($MDPROP -v iov-device vf-id=0)" ]; then
            echo ldoms-io
        fi
    fi
fi

# Check for AWS.
# AWS on Xen.
if echo "$dmi" | grep -Eq 'Version: [0-9]+\.[0-9]+\.amazon'; then
    echo aws
# AWS on baremetal or KVM.
elif echo "$dmi" | grep -q 'Vendor: Amazon EC2'; then
    echo aws
fi
Porn Search engines See Free Pornography Movies & Pornstars

Porn Search engines See Free Pornography Movies & Pornstars

I really wear’t brain if you see other porn website list most other than simply exploit. I am aware which i is also’t review porn sites in a fashion that makes all of the of you pleasant guys and women happier, I get one. However, please do not use ThePornDude.

Finest Web sites Than simply ThePornDude – tainster porn

” It’s the newest locker room of the web sites, without any jockstrap smelling. Following truth be told there’s the picture and you will Movies Revealing areas—holy shag, it’s such as a buffet away from boner energy. Straight, homosexual, bi, any kind of gets the motor revving, it’s the indeed there, categorized so you wear’t occur to stumble on the certain furry guy’s ass unless you to definitely’s the jam.

This is simply not the articles!

Otherwise scrolled previous kinky ways on the DeviantArt and you can knew your’re also taking hard over hands-taken thighs? Just Jenny doing what Jenny wants, along with you slipping to your a premium take a look at to own $9.99/few days. And you can suddenly, naughty bros initiate appreciating something it familiar with forget about—emotion, realism, bulbs one to’s indeed out of a room rather than a studio.

But it addittionally has lots of niched and you will styled lists to have web site recommendations on particular kinks and aspirations. Porn Dude along with comes with suggestions for advanced amateur web sites, but we don’t suggest they. However highly recommend one totally free video clips tubing to his members, even when it’s safer or not or if perhaps he’s filled up with annoying adverts. And then he lays to people in the free gender shows for the camming networks, just in order that he would allow you to join.

tainster porn

And don’t forget, VR is approximately dream visiting life. Are you currently most going to assist weak-butt websites tainster porn cheating you out of the sense your deserve? None of my personal subscribers be satisfied with very first whenever full-to the debauchery is on the newest desk. These are mods, they’re also volunteers, maybe not some corporate prudes, so they have it—they’re also merely there to quit the real sickos. There’s as well as that it profile program, that is clutch. You rate the favorable crap, plus it floats to reach the top including cum within the a sexy tub.

They encrypt important computer data so your boss doesn’t learn you’re also to your feet otherwise almost any. Representative information remains locked down, and your uploads is your own—nobody’s promoting their selfmade sex recording in order to sketchy advertisement enterprises. The site’s hardcore on the keeping away unlawful crap too—for those who’re also dumb adequate to article kiddie porno, they’ll nuke your account and probably your heart. To join the fresh group, you need a free account. Signing up is a lot easier than taking laid during the an excellent frat home—just an email and you will an excellent username, therefore’re also within the. Modify their profile with bullshit concerning your favourite position, therefore’lso are happy to move.

However,, I will’t attest to actually all other sites I comment, while the everything is at the mercy of changes. Merely rating an antivirus and wear’t download one executable files, please. At the same time, of a lot low-conventional classes get information out of Porno Guy. If you would like Hentai, the site will get particular premium and you will free hentai online streaming hyperlinks. Sit sexy, continue exploring, rather than forget—the largest sex body organ is your notice. Lubricant one to thing up with imagination, and also you’re also ready to go.

Budget-Amicable VR Earphones One to Nevertheless Stop Butt

tainster porn

The newest website has clear categories, ranked listing, and you may small descriptions to help you discover what you’lso are searching for rather than scrolling as a result of unlimited text. The countless categories on the site will certainly feature at the least a couple of kinks you could appreciate. Although not, some of these groups ability of many links so you can lifeless sites. In the February 2016, blogger Bill Quick, creating for the amusement reports web site Egotastic, classified ThePornDude aggregator as the a good «cornucopia» out of mature sites3. Here’s the hard facts—pun extremely intended—you won’t perish instead of pornography.

Doing it yourself Articles & the rise of Amateur Systems

For many who’re not paying for it, you’ll have to put up with certain ads. However, one doesn’t indicate you have to put up with pop-ups very unpleasant that they can create your tough dick softer if you are seeking to intimate them. Concurrently, some hoses is also steal yours study. With regards to gay websites, it’s clear which he doesn’t comprehend the kink and simply writes anything they can imagine out of. Also it’s the same to your comic strip intercourse 100 percent free sites.

  • I’m able to always direct you for the most popular the new gadgets, enjoy, and brain-blowing technology just before anyone else.
  • ” It’s the brand new locker room of the sites, with no jockstrap smell.
  • It’s hot, intimate, and you may truth be told brainy.
  • At the end of a single day, you’re also perhaps not making the porn web site on the attention out of benefits – you’re also providing in order to 18-year-old virgins making use of their dick within hands.
  • The fresh listings are up coming filtered out so that precisely the best of talking about assessed and you may delivered to your own attention on the this site.

As well as the of-matter point is going to be a great snooze unless of course someone initiate a bond on the fucking aliens. But one to’s quick carrots if the others is this a. The brand new superior speed you are going to chafe certain cheapskates, but when you’re also seriously interested in your own porno games, it’s a tiny rates to pay for unlimited smut. You’ve got your current Dialogue, where males bullshit from the many techniques from its newest conquests so you can “hey, my personal dick’s itchy, what’s up?

  • Just after you to definitely’s moved, the pressure compares.
  • Will you be really likely to assist weakened-ass other sites cheat your outside of the sense your need?
  • But it addittionally is loaded with niched and you may themed lists to possess website tips about particular kinks and you can dreams.
  • Another pornography falls off the face of your internet sites, you understand just how strong the fresh desire most works.

tainster porn

They’re all seeking be loved ones-amicable which have complimentary sweaters and you will sexless grins. Instagram bans one hint away from breast. TikTok deletes is the reason the newest tip of lust. They blacklist NSFW programs such they’lso are radioactive. Specific governing bodies behave like pornography are atomic spend. Asia have prohibited and you may unbanned 800+ internet sites more moments than just We’ve changed socks.


Publicado

en

por

Etiquetas: