User Tools

Site Tools


linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux [2026/03/01 19:21] reddylinux [2026/03/01 20:25] (current) reddy
Line 1: Line 1:
-Linux+====== Linux ======
  
-Topics+===== Popular Topics =====
  
 +  * [[bash]]
 +  * [[bind]]
   * [[Docker]]   * [[Docker]]
 +  * [[diff]]
   * [[Git]]   * [[Git]]
   * [[rsync]]   * [[rsync]]
Line 11: Line 14:
   * [[Vim]]   * [[Vim]]
   * [[VNC]]   * [[VNC]]
 +
 +===== Miscellaneous =====
 +
 +==== Suppressing the Service Restart prompt for "apt install" ====
 +
 +<code>
 +/etc/needrestart/needrestart.conf
 +$nrconf{verbosity} = 0;
 +$nrconf{restart} = 'a';
 +
 +export DEBIAN_FRONTEND=noninteractive
 +export APT_LISTCHANGES_FRONTEND=none
 +export NEEDRESTART_MODE=a  # default is "i"nteractive; change to "a"utomatic ; see: /etc/needrestart/needrestart.conf
 +export NEEDRESTART_SUSPEND=1
 +# echo 'libc6 libraries/restart-without-asking boolean true' | debconf-set-selections
 +
 +sudo apt-get remove apt-listchanges --assume-yes --force-yes
 +sudo apt-get --force-yes -o Dpkg::Options::="--force-confold" -o Dpkg::Options::="--force-confdef" -fuyq install package-name-here
 +</code>
 +
 +==== Upgrade to Ubuntu 24.04 LTS ====
 +
 +<code>
 +sudo apt install -y ubuntu-release-upgrader-core
 +
 +# Ensure "Prompt=lts" in "/etc/update-manager/release-upgrades" (instead of "Prompt=normal")
 +
 +do-release-upgrade  # Pass "-d" to upgrade before officially supported
 +
 +# apt dist-upgrade
 +</code>
 +
 +==== Limiting Resources ====
 +
 +<code>
 +mkdir /sys/fs/cgroup/myapp
 +CPU_QUOTA=50
 +CPU_PERIOD=100
 +echo "$CPU_QUOTA $CPU_PERIOD" > /sys/fs/cgroup/myapp/cpu.max
 +RAM_QUOTA="1024M"
 +echo "$RAM_QUOTA" > /sys/fs/cgroup/myapp/memory.max
 +cp /var/run/myappdb/myappd.pid /sys/fs/cgroup/myapp/cgroup.procs
 +#rm -Rf /sys/fs/cgroup/myapp
 +
 +With tools:
 +apt install -y cgroup-tools
 +cgcreate -g cpu,memory:/myapp
 +cgset -r cpy.max="50 100" myapp
 +cgset -r memory.max="1024M" myapp
 +cgclassify -g cpu,memory:myapp $(cat /var/run/myappdb/myappd.pid)
 +cgexec -g cpu,memory:myapp /usr/bin/myappd --dbpath .
 +#cgdelete -g cpu,memory:myapp
 +
 +systemd-run -u myappd -p CPUQuota=50% -p MemoryMax=1024M /usr/bin/myappd
 +systemd-cgls --all
 +systemd-cgtop
 +
 +
 +/etc/systemd/system/myapp.slice
 +[Slice]
 +CPUQuota=50%
 +MemoryMax=1024M
 +systemctl edit --full myappd.service
 +Slice=myapp.slice  #Add to the [Service] section
 +
 +systemd-run -u myappd --slice=myapp.slice /usr/bin/myappd
 +
 +# To run with Docker
 +docker run -d --name db --cgroup-parent=myapp.slice myappimg
 +</code>
 +
 +==== ssh-copy-id ====
 +
 +<code>
 +ssh-keygen -f key_file_name
 +
 +# To make it non-interactive (we cannot pass the StrictHostKeychecking so we direct the "yes")
 +sshpass -p mypassword ssh-copy-id -i key_file_name.pub myuser@myserver <<< yes
 +
 +# ssh-copy-id doesn't directly support auth with another key
 +# ...but it passes along options to ssh
 +ssh-copy-id -i ~/.ssh/id_rsa.nondefault -o 'IdentityFile ~/vm-key' user@remote
 +
 +# This can also be done with ssh-agent
 +eval $(ssh-agent -s)  # Start the agent
 +ssh-add ~/vm-key      # Add the key to the agent
 +ssh-copy-id -i ~/.ssh/id_rsa.nondefault user@remote
 +eval $(ssh-agent -k)  # Stop the agent
 +</code>
 +
  
linux.1772389286.txt.gz · Last modified: by reddy

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki