1package_manager=apt-get 2 3update() { 4 sudo "$package_manager" update 5} 6 7install() { 8 (( $# )) || return 0 9 10 sudo "$package_manager" install -y "$@" 11} 12 13upgrade() { 14 update 15 sudo "$package_manager" upgrade -y 16} 17 18 19pre_install() { 20 update 21 22 if [[ $INSTALL_TSOCKS == true ]]; then 23 install tsocks 24 fi 25 26 # asan an ubsan have to be installed together to not mix up gcc versions 27 install libasan5 || install libasan6 28 install libubsan1 29} 30 31packages=( 32 valgrind 33 jq 34 nvme-cli 35 ceph 36 gdb 37 fio 38 libaio-dev 39 libgflags-dev 40 autoconf 41 automake 42 libtool 43 libmount-dev 44 open-iscsi 45 libglib2.0-dev 46 libpixman-1-dev 47 astyle 48 elfutils 49 libelf-dev 50 flex 51 bison 52 libswitch-perl 53 gdisk 54 socat 55 openssl 56 sshfs 57 sshpass 58 python3-pandas 59 bc 60 smartmontools 61 wget 62 xfsprogs 63 ibverbs-utils 64 rdmacm-utils 65 ruby-dev 66 llvm 67 avahi-daemon 68 avahi-utils 69 ethtool 70) 71 72install_vagrant_dependencies() { 73 local vagrant_packages 74 vagrant_packages=( 75 qemu 76 libvirt-bin 77 ebtables 78 dnsmasq-base 79 libxslt-dev 80 libxml2-dev 81 libvirt-dev 82 zlib1g-dev 83 ruby-dev 84 ) 85 86 install "${vagrant_packages[@]}" 87} 88 89if [[ $OSID == debian ]]; then 90 packages+=("linux-headers-$kernel_ver-*") 91else 92 packages+=(linux-headers-generic) 93fi 94 95export DEBIAN_FRONTEND=noninteractive 96