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