Skip to main content

Primary links

  • Home
  • AI
  • Kubernetes
  • Incus
  • Ansible
  • Terraform
  • OpenStack
  • Virtualization
  • Linux
  • SmartHome
  • HowTo

Misc

  • Linux
  • Hardware
  • Programming
  • Databases
  • Multimedia
  • Windows

Cloud

  • OpenStack
  • cloud-config
  • nextcloud

Virtualization

  • Virtualization
  • Incus
  • Docker
  • KVM
  • Kubernetes
  • LXC
  • LXD
  • QEMU
  • VMware
  • VirtualBox
  • multipass
  • podman
  • vagrant
  • XEN

Network

  • DNS
  • Firewall
  • Linux
  • OpenvSwitch
  • SSL
  • VLAN
  • VPN
  • iPXE
  • namespaces
  • nmcli
  • tcpdump

Storage

  • CEPH
  • DRBD
  • LVM
  • S3
  • ZFS
  • btrfs

Automation / CI/CD

  • Install
  • Ansible
  • GitLab
  • LLM
  • Preseed
  • Puppet
  • Terraform
  • Ubuntu autoinstall

Monitoring / Visualisation

  • Grafana
  • Icinga
  • Prometheus
  • Monitoring
  • ELK
  • mermaid

LSI / Broadcom MegaRAID Storcli

Get latest driver
https://www.intel.de/content/www/de/de/download/17809/685225/storcli-standalone-utility.html

# install storcli (MegaCli)
# https://www.broadcom.com/products/storage/raid-controllers/megaraid-sas-9361-4i#downloads

apt install -y unzip
wget https://downloadmirror.intel.com/685225/StorCLI_007.1704.0000.0000.zip
unzip /tmp/StorCLI.zip -d /tmp/
unzip /tmp/MR_SAS_Unified_StorCLI_*.zip -d /tmp
unzip /tmp/versionChangeSet/univ_viva_cli_rel/Unified_storcli_all_os.zip -d /tmp/
dpkg -i /tmp/Unified_storcli_all_os/Ubuntu/storcli_*_all.deb
ln -s /opt/MegaRAID/storcli/storcli64 /usr/local/sbin/storcli

or

dpkg -x /tmp/versionChangeSet/univ_viva_cli_rel/storcli_All_OS/Ubuntu/storcli_*_all.deb /tmp/versionChangeSet/univ_viva_cli_rel/storcli_All_OS/Ubuntu/
/tmp/versionChangeSet/univ_viva_cli_rel/storcli_All_OS/Ubuntu/opt/MegaRAID/storcli/storcli
ln -s /tmp/versionChangeSet/univ_viva_cli_rel/storcli_All_OS/Ubuntu/opt/MegaRAID/storcli/storcli /sbin/MegaCli

cp /scripts/MegaCli/MegaCli64  /usr/sbin/
ln -s /usr/sbin/MegaCli64 /usr/sbin/MegaCli
cp /scripts/MegaCli/lib/$(uname -m)/libsysfs.so.2.0.2  /usr/lib64/

Commands
https://downloadmirror.intel.com/27433/eng/storcli_mr7.2_rel-notes.txt

Install Wine

Install
https://gitlab.winehq.org/wine/wine/-/wikis/Debian-Ubuntu

sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/plucky/winehq-plucky.sources
sudo dpkg --add-architecture i386
wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key -
sudo apt update
sudo apt install --install-recommends winehq-staging

[embed_url: https://raw.githubusercontent.com/panticz/installit/master/install.wine.sh]

winetricks

sudo apt-get install -y winetricks
#sudo winetricks --self-update

# winetricks BASH completion
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.bash-completion -O- | sudo tee /etc/bash_completion.d/winetricks
source /etc/bash_completion.d/winetricks

Downgrade to Wine 1.2.x (64 bit)

sudo apt-get remove wine1.4
cd /tmp
wget http://ie.archive.ubuntu.com/ubuntu/pool/universe/w/wine1.2/wine1.2_1.2.3-0ubuntu1_amd64.deb
wget http://ie.archive.ubuntu.com/ubuntu/pool/universe/n/nss-mdns/lib32nss-mdns_0.10-3.1ubuntu1_amd64.deb
sudo dpkg -i wine1.2_1.2.3-0ubuntu1_amd64.deb lib32nss-mdns_0.10-3.1ubuntu1_amd64.deb
wine --version

OPTIONAL: fake ie6 installation

wget kegel.com/wine/winetricks -P /tmp; sh /tmp/winetricks fakeie6

Snap package
https://snapcraft.io/wine-platform-6-stable

Debug

wine --version

Compile wine (deprected)

nmap

scan for IPs and ports

nmap -PR -oN /tmp/nmap.out 192.168.1.0/24

search hosts

nmap -sP 192.168.1.*
nmap -PR -oN /tmp/nmap.out 192.168.1.0/24

scan for open ports

# TCP
nmap -T4 -sS 

# UDP
nmap -T4 -sU

get more detailed information

sudo nmap -O 192.168.1.100 -T4

scan one port

nmap -sV -P0 -p 22 -vv 192.168.1.100

Links
http://linuxwiki.de/nmap

sed

# remove 3th line
sed -i 3d 

# insert line on beginning of a file
sed -i '1i MY_TEXT' 

# String replace with sed
sed -i 's|STRING_FROM|STRING_TO|g' 
sed -i 's|[#]*param=[yes|no]*|param=yes|g' 

# search for line and replace value
sed '/ipsum/s/from/to/g'
sed /ipsum/{s/#//g;s/from/to/g;}
sed '/^http/ s/$/>/'

# add line to a file
sed -i '13i\YOUR_TEXT' 

# add line before last line
sed -i '$i test_line' 

# search block
sed -n '/FOO/,/BAR/p' 

# remove digits
echo ${FOO} | sed 's/[^0-9]*//g' 

# remove blanks (trim)
cat  | sed 's/  */ /g'
# remove blanks and tabs
cat  | sed "s/[ \t][ ]*/ /g"
# remove all blanks
cat  | sed -e 's/[\t ]//g;/^$/d'
cat  | sed -e 's/[\t]/ /g;s/  */ /g'
sed -e 's/^[[:space:]]*//'
# trim leading and trailing whitespace
sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
# replace first blank
sed -r 's/\s+/,/' file_in
# replace multiple space with singe space
sed 's/  \+/ /g'

# write to file
sed 's/foot/bar/;w file'

# remove leading blank
sed "s/^[ ]*//"

# remove blank at end of line
sed 's/ *$//' file

# remove last comma
sed 's/,$/'

# cat from to
sed -n '/^START/,/^END/p' 

# Uncomment all lines
sed -i 's/^/#/' /etc/locale.gen

# replace key = value
sed -i "s|^tag = .*|tag = ${NEW_VALUE}|g" 

# replace string
echo "my foo bar" | sed -e s/foo//

# uncomment line
sed -i '/foo/s/^#//g' 
sed -i '/foo/, +1 s/^#//g' 

# comment in line
sed -i '/foo/s/^/#/g' 
sed -i '/foo/, +1 s/^/#/g' 

# delete all input lines which are not followed by a line with matching string
sed '$!N;/\n.*foo/d;P;D'

# delete lines
sed '/foo/d'

sed -n '/^foo$/,$p'

apt / dpkg

# Add repository
sudo apt-add-repository universe

# APT download only
apt-get upgrade -y --download-only

# include kept back packages
apt -o APT::Get::Always-Include-Phased-Updates=true upgrade -y

# run update
export DEBIAN_FRONTEND=noninteractive
LANG=en_US.UTF-8 sudo apt-get update -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get clean -y

# Add backports repository
sudo add-apt-repository  "deb http://archive.ubuntu.com/ubuntu $(lsb_release -cs)-backports main restricted universe multiverse"

# install all phased updates
sudo apt -o APT::Get::Always-Include-Phased-Updates=true upgrade

# allow unauthenticated repository
apt-get update --allow-unauthenticated

# list updatable packages
apt list --upgradable

# view avaiable package version
apt-cache show wget
apt-cache madison wget

# install specific version
apt-get install package name=version
apt-get install wget=1.6

# install from specific repository
apt-get install -t squeeze-backports wget

# view available versions
apt-cache policy chromium-browser

# autoupdate
http://www.panticz.de/debian-ubuntu-automatic-upgrades

# download package
apt-get download

# list deb package dependency
dpkg -I 

# test DIRECT download package by apt
#Acquire::HTTP::Proxy::packages.gitlab.com "DIRECT";
#Acquire::HTTP::Proxy::packages-gitlab-com.s3.amazonaws.com "DIRECT";
#Acquire::https::Proxy "false";
Acquire::http::Proxy {
    packages.gitlab.com DIRECT;
    *.amazonaws.com DIRECT;
};

# use apt proxy
APT_PROXIES=$(apt-config shell \
http_proxy Acquire::http::Proxy \
https_proxy Acquire::https::Proxy \
ftp_proxy Acquire::ftp::Proxy \
dl_direct Acquire::http::Proxy::download.oracle.com \
)

echo 'Acquire::HTTP::Proxy::packages.gitlab.com "DIRECT";' > /etc/apt/apt.conf.d/99_gitlab

Acquire::http::Proxy {
    packages.gitlab.com DIRECT;
};

# list keys
apt-key list

# test
# lxc enable apt proxy?
eval $(apt-config shell MIRROR Acquire::http::Proxy)

apt-cache showpkg  libapache2-mod-php5

# install package from older distro
apt-get install -t etch -y libdb4.4

SSH

create SSH key

ssh-keygen -q -b 4096 -f ~/.ssh/id_rsa -N '' -C "${USER}@$(hostname -f)"
ssh-keygen -q -t ed25519 -N '' -C "${USER}@$(hostname -f)"
ssh-keygen -m PEM -b 4096  -C "rundeck@rundeck.dev.example.com"

Load SSH key

eval $(ssh-agent) && ssh-add

ssh-add ~/.ssh/foo-key2

Copy public key to server (/home/foo/.ssh/authorized_keys)

ssh-copy-id foo@example.com
ssh-import-id-gh foo

# copy between remote hosts
ssh www.dev.example.com cat /root/.ssh/id_rsa.pub | ssh www.prod.example.com 'cat >> /root/.ssh/authorized_keys -'

show log

journalctl -u ssh
tail -f /var/log/auth.log
journalctl _COMM=sshd -f

# configuration
~/.ssh/config: user configuration
/etc/ssh/ssh_config: system-wide client configuration
/etc/ssh/sshd_config: system-wide server configurtion

http://www.panticz.de/SSH-server-enable-disable-password-authentication
http://www.panticz.de/ssh_pre-shared-key_authentication

Parameter

ssh \
-o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no \
root@192.168.1.2

Configuraton ~/.ssh/config

vi

goto line

:12 ENTER

search and replace

:%s/foo/bar/g

view hidden chars

:set list
:set nolist

reformat tabs to 4 spaces

:set tabstop=4 expandtab
:retab 4

Convert endline

:set ff=unix
:set ff=dos

# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 textwidth=75

# quit
:q!
:qc

# include file
:r /path/to/file

Links
http://www.lagmonster.org/docs/vi2.html
http://vim.wikia.com/wiki/Search_and_replace

Preseed Debian / Ubuntu installation

Pressed on GitHub
https://github.com/panticz/preseed

pressed install under kvm

wget https://raw.githubusercontent.com/panticz/preseed/master/pxe/scripts/create.netinstall.ubuntu.cd.sh -O - | bash -
wget -q http://dl.panticz.de/preseed/UbuntuNetInstall.iso -O /tmp/UbuntuNetInstall.iso

kvm -m 512 -hda /dev/sda -cdrom /tmp/UbuntuNetInstall.iso -boot d

Install UPnP server
http://dl.dropbox.com/u/4170695/preseed/preseed.upnp.seed

Preseed auto RAID1 LVM
https://raw.githubusercontent.com/panticz/preseed/master/raid1lvm.seed

pressed autoinstall

wget https://raw.githubusercontent.com/panticz/preseed/master/late_command.sh -O - | bash -

tasksel tasksel/first multiselect standard

cat /usr/share/tasksel/ubuntu-tasks.desc | grep Task

Examples
d-i mirror/suite string unstable
d-i mirror/suite string lucid
d-i user-setup/encrypt-home boolean false
disk-detect disk-detect/iscsi/enable boolean false
d-i user-setup/allow-password-weak boolean true

##d-i base-installer/kernel/override-image string linux-server

# Kernel to install:
# Choices: linux-386,linux-server,linux-virtual,linux-generic,linux-image-386, none

bootstrap-base base-installer/kernel/image select linux-server

DataLogic QuickScan QS6500 with Ubuntu as USB Keyboard

download configuration codes
# https://easeofaccess.scanning.datalogic.com/public/marketlit/Send.aspx?file=R44-2816A
https://www.bedienungsanleitu.ng/datalogic/quickscan-qs6500/spezifikationen

reset to factory default (Page 3)
scan: Return handheld to factory defaults

configure as USB Keyboard

Interface Selection (Page 30 / 33)
scan: START
scan: USB Keyboard
scan: END

OPTIONAL, configure Keyboard Layout (Page 53 / 54)

scan: START
scan: Germany
scan: END

OPTIONAL, enable Interleaved 2 of 5 - continued (for DHL package barcodes)
Interface Selection (Page 169)

scan: START
scan: Enable Interleaved 2 of 5
scan: END

Links
https://help.ubuntu.com/community/BarcodeReaders
http://www.tec-it.com/online-demos/tbarcode/barcode-generator.aspx - barcode online generator
http://www.barcode-soft.com/de-de/online-barcode-generator.aspx - barcode online generator
http://www.codecheck.info/
http://barcode4j.sourceforge.net/ - free barcode generator library for Java

Ubuntu 24.04 Noble Numbat LTS

ReleaseNotes / Known issues
https://wiki.ubuntu.com/NobleNumbat/ReleaseNotes

Download
Releases: http://releases.ubuntu.com/24.04/
Torrent: http://releases.ubuntu.com/24.04/ubuntu-24.04-desktop-amd64.iso.torrent
Cloud image (minimal): https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img

Repository

echo "deb http://de.archive.ubuntu.com/ubuntu noble main restricted universe multiverse" | \
    sudo tee /etc/apt/sources.list.d/ubuntu-noble.list
echo "deb http://de.archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse" | \
    sudo tee /etc/apt/sources.list.d/ubuntu-noble-updates.list

sudo apt update

Install python2 under Ubuntu 24.04

sudo apt install zlib1g-dev
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
tar xzf Python-2.7.18.tgz
cd Python-2.7.18
sudo ./configure --enable-optimizations
sudo make altinstall
sudo ln -s /usr/local/bin/python2.7 /usr/bin/python2

Workaround

Pagination

  • Previous page
  • 11
  • Next page
linux
Profiles GitHub StackOverflow LinkedIn Xing
Contact Imprint
© panticz 2026

Cookie-Einstellungen

Diese Website nutzt eingebettete Inhalte von Drittanbietern (z.B. YouTube, SoundCloud). Beim Laden dieser Inhalte werden Daten an die jeweiligen Anbieter übermittelt. Datenverarbeitungserklärung