Operatsioonisüsteemi Ubuntu kasutamine
Sissejuhatus
Alglaadimine
Selleks, et konsoolilt bootimise käigus esitatud teateid ära ei kustuks, sobib /etc/init/tty1.conf failis kasutada rida
exec /sbin/getty --noclear -8 38400 tty1
PPA repositooriumid
PPA (Personal Package Archive) ...
# apt-get install python-software-properties
Lisada repositoorium
# add-apt-repository ppa:cinelerra-ppa/ppa
kasutada
# apt-get update # apt-get install cinerella-cv
PPA eemaldamiseks
# add-apt-repository --remove ppa:cinelerra-ppa/ppa
Locales
Tundub, et Ubuntu puhul ei toimib käsk nagu Debianis, st ei ava curses haldusliidest
# dpkg-reconfigure locales
Paistab, et lokaadid on kirjas kataloogis
/var/lib/locales/supported.d
Lokaadi lisamiseks sobib öelda
# locale-gen en_US
Lokaadi eemaldamiseks, õieti näidatud lokaatide juurutamiseks, sobib öelda
# locale -a C C.UTF-8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8 ...
# locale-gen --purge en_US.UTF-8 Generating locales... en_US.UTF-8... done Generation complete.
# locale -a C C.UTF-8 en_US.utf8 POSIX
Ubuntu v. 12.04 Apache2
RPAF kasutamisel peab arvestama, et õige on kasutada midagi sellist
<IfModule mod_rpaf-2.0.c> RPAFenable On RPAFsethostname On RPAFproxy_ips 127.0.0.1 ::1 10.0.6.51 RPAFheader X-Forwarded-For </IfModule>
Käivitusskriptide kasutamine
Esmalt peab olema /etc/init.d kataloogis nö tavaline käivitusskript. /etc/rc2.d jt linkide tekitamiseks sobib öelda nt
# update-rc.d pgqd defaults 91
Eemaldamiseks
# update-rc.d -f pgqd remove
Ubuntu versiooni uuendamine
Kui operatsioonisüsteemist on järgmine versioon kasutada, siis sisselogimisel öeldakse nt nii
Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-27-generic x86_64) * Documentation: https://help.ubuntu.com/ 173 packages can be updated. 81 updates are security updates. New release '13.10' available. Run 'do-release-upgrade' to upgrade to it. You have new mail. Last login: Sun Oct 20 18:33:21 2013 from moraal.auul
# do-release-upgrade Checking for a new Ubuntu release Get:1 Upgrade tool signature [198 B] Get:2 Upgrade tool [1,152 kB] Fetched 1,152 kB in 0s (0 B/s) authenticate 'trusty.tar.gz' against 'trusty.tar.gz.gpg' extracting 'trusty.tar.gz' Reading cache Checking package manager Continue running under SSH? This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover. If you continue, an additional ssh daemon will be started at port '1022'. Do you want to continue? Continue [yN] y Starting additional sshd To make recovery in case of failure easier, an additional sshd will be started on port '1022'. If anything goes wrong with the running ssh you can still connect to the additional one. If you run a firewall, you may need to temporarily open this port. As this is potentially dangerous it's not done automatically. You can open the port with e.g.: 'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT' To continue please press [ENTER]
Skype
Skype paigaldamiseks sobib oelda
# dpkg --add-architecture i386 # add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner" # apt-get update && sudo apt-get install skype
Kasulikud lisamaterjalid
Ubuntu Live kasutamine teise arvuti võrgust paigaldamisel
Omistada ubuntu kasutajale parool, logida sisse ja minna ruuduks
$ sudo -i #
Veenduda võrguühenduste olemasolus
# nmcli -p dev =========================================== Status of devices =========================================== DEVICE TYPE STATE ------------------------------------------- eth0 802-3-ethernet connected wlan0 802-11-wireless connected
# ifconfig eth0 Link encap:Ethernet HWaddr 1c:75:08:ba:3d:1d inet addr:192.168.105.254 Bcast:192.168.105.255 Mask:255.255.255.0
Paigaldada tarkvara
# apt-get install openssh-server # apt-get install tftp-hpa tftpd-hpa isc-dhcp-server
Logida teisse arvutisse
# ssh priit@imool.ee -R 22221:127.0.0.1
ja sealt tagasi
# ssh ubuntu@127.0.0.1 -p 22221
Seadistada DHCPD server
# egrep -v "^$|^#" /etc/dhcp/dhcpd.conf ddns-update-style none; option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; log-facility local7; shared-network auul { option domain-name "auul"; option domain-name-servers 8.8.8.8; subnet 192.168.105.0 netmask 255.255.255.0 { range 192.168.105.200 192.168.105.224; option routers 192.168.105.254; default-lease-time 600; max-lease-time 7200; filename "pxelinux.0"; next-server 192.168.105.254; } }
Valmistada ette tftpd abil välja jagatavad andmed sarnaselt
# ls -ld /var/lib/tftpboot/* drwxr-xr-x 3 root root 60 Aug 11 20:37 /var/lib/tftpboot/debian-installer drwxr-xr-x 3 root root 60 Aug 11 20:37 /var/lib/tftpboot/ftp.nl.debian.org -rw-r--r-- 1 root root 3656 Aug 11 20:38 /var/lib/tftpboot/index.html -rw-r--r-- 1 root root 10461419 Aug 11 20:38 /var/lib/tftpboot/initrd.gz -rw-r--r-- 1 root root 2512736 Aug 11 20:38 /var/lib/tftpboot/linux -rw-r--r-- 1 root root 26474 Aug 11 20:38 /var/lib/tftpboot/pxelinux.0 drwxr-xr-x 2 root root 60 Aug 11 20:37 /var/lib/tftpboot/pxelinux.cfg
Seaditada ruuting ja maskeraad
# sysctl -w net.ipv4.ip_forward=1 # iptables -t nat -A POSTROUTING -o wlan0 -j SNAT --to-source 172.16.1.100
Märkused
- Ubuntu operatsioonisüsteemi jagatakse mitmel kujul, kas töötav arvuti on server või desktop saab nt hinnata faili /etc/motd sisu alusel, serveril on pikem jutt.
- Ubuntu tuuma uuendused tulevad välja väga tihti, taolises kohas on changelog - http://changelogs.ubuntu.com/changelogs/pool/main/l/linux/linux_3.2.0-69.103/changelog
- Graafilise liidese töötamise väljalülitamine, Ubuntu 14.04
# echo manual > /etc/init/ligthdm.override
Tuumadega töötamine
Ubuntu tuumaga seotud failid asuvad failisüsteemis kolmes kataloogis
- /boot/vmlinuz-3.19.0-65-generic - tuum
- /boot/initrd.img-3.19.0-65-generic - initramdisk
- /lib/modules/3.19.0-65-generic - dünaamilised moodulid
- /lib/firmware/3.19.0-65-generic - firmware
Kui tuuma uuendatakse ja soovitakse igaks juhuks säilitada eelmise tuuma kasutamise võimalus, siis peab olema lokaalse arvuti failisüsteemist nende kasutamise võimalus (sh kaks esimest peabvad olema grubile kättesaadavad, nt kataloogis /boot/backup).
Vanade versioonide failisüsteemist eemaldamine
Tundub, et Ubuntu puhul uuenevad üsna tihti tuumad ja vaikimisi võib /boot failisüsteem küllaltki kiirelt täis saada
# dpkg -l linux-image-3.2.0-\* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Description +++-===============================-======================-========================================================= ii linux-image-3.2.0-23-generic 3.2.0-23.36 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.2.0-52-generic 3.2.0-52.78 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.2.0-55-generic 3.2.0-55.85 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.2.0-61-generic 3.2.0-61.93 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.2.0-65-generic 3.2.0-65.99 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.2.0-67-generic 3.2.0-67.101 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.2.0-69-generic 3.2.0-69.103 Linux kernel image for version 3.2.0 on 64 bit x86 SMP ii linux-image-3.2.0-70-generic 3.2.0-70.105 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
Selle vastu aitab öelda
# apt-get autoremove
Või pigem, ja ilma -s abita lõpuks
# for i in 23 52 55 61 65 67; do apt-get purge linux-image-3.2.0-$i-generic -s; done
LTS ja non-LTS versioonide kasutamine
Aadressil https://wiki.ubuntu.com/Kernel/LTSEnablementStack kirjeldatakse erinevate tuumade kasutamise võimalusi. Lühidalt seisneb võimalus ja probleem selles, et teatud nn point reliiside puhul, nt 12.04.2, 3 ja 4 install meediat kasutades paigladatakse 9 kuu pikkuse support ajaga tuum. Et üldse nii tehakse, põhjuseks on pakkuda kasutajatele võimalus värskema kerneli võimalus.
Kui tuuma aeg saab täis, siis ütleb arvuti sisselogimisel
Your current Hardware Enablement Stack (HWE) is no longer supported since 2014-08-07. Security updates for critical parts (kernel and graphics stack) of your system are no longer available. For more information, please see: http://wiki.ubuntu.com/1204_HWE_EOL To upgrade to a supported (or longer supported) configuration: * Upgrade from Ubuntu 12.04 LTS to Ubuntu 14.04 LTS by running: sudo do-release-upgrade OR * Install a newer HWE version by running: sudo apt-get install linux-generic-lts-trusty linux-image-generic-lts-trusty and reboot your system.
Tuuma uuendamine toimub nagu arvuti ütleb
# apt-get install linux-generic-lts-trusty linux-image-generic-lts-trusty
Kui lähtepunktiks oli nt tuum
# uname -a Linux pia-pg3a 3.8.0-44-generic #66~precise1-Ubuntu SMP Tue Jul 15 04:01:04 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
võib olla tulemusena tuum
# uname -a Linux pia-pg3b 3.13.0-85-generic #129~precise1-Ubuntu SMP Fri Mar 18 17:38:08 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Analoogiliselt on Ubuntu v. 14.04 juures kasutada paketid
# apt-get install linux-image-generic-lts-xenial linux-generic-lts-xenial
Paistab, et Ubuntu 18.04 + hwe tuuma kasutamine toimub pisut erinevalt, https://www.omgubuntu.co.uk/2019/02/ubuntu-18-04-2-lts-released ja sobib öelda
# apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
18.04 HWE -> LTS
lts paigaldamine
# apt-get install linux-image-virtual linux-headers-virtual linux-virtual linux-headers-generic
HWE eemaldamine
# apt-get purge linux-generic-hwe-18.04 linux-headers-generic-hwe-18.04 linux-headers-5.0.0-32 linux-headers-5.0.0-32-generic linux-modules-extra-5.0.0-32-generic linux-modules-5.0.0-32-generic linux-image-5.0.0-32-generic linux-image-5.0.0-23-generic linux-headers-5.0.0-23 linux-headers-5.0.0-23-generic linux-image-5.0.0-23-generic linux-modules-5.0.0-23-generic linux-modules-extra-5.0.0-23-generic
Ei tohiks midagi 5.0.x asjadest paista
# dpkg -l \*linux\* | grep ii
EDGE kasutamine
Tundub, et nn tuuma edge versioon on vahel kõige uuem, vahel sama mis HWE. EDGE ei ole iseseisev pakett, aga virtuaalne pakette, mis sõltuvusena paigaldab kõige uuema kättesaadava nn tavalise tuuma paketi, nt 20180313 linux-image-4.13.0-36-generic.
# apt-cache show linux-image-generic-hwe-16.04-edge Package: linux-image-generic-hwe-16.04-edge Architecture: amd64 Version: 4.13.0.36.37 Priority: optional Section: kernel Source: linux-meta-hwe-edge Origin: Ubuntu Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 10 Depends: linux-image-4.13.0-36-generic, linux-image-extra-4.13.0-36-generic, linux-firmware Recommends: thermald Filename: pool/main/l/linux-meta-hwe-edge/linux-image-generic-hwe-16.04-edge_4.13.0.36.37_amd64.deb Size: 2542 MD5sum: 8030baa345e98271eb83a7768071eaf2 SHA1: 6f42f7277228a12d67cbc1d6a98fffe51c17d2a7 SHA256: 2065c3fe3d38a95f61afe26c3b53426fd9870226291137a8a6ea43b7daae6de1 Description-en: Generic Linux kernel image This package will always depend on the latest generic kernel image available. Description-md5: 6d632579c673704f44b290b16e7dbfd1 Supported: 5y
edge tuuma minor versiooninumber tavaliselt on iseseisev, ja nö tavaline tuum mis sõltuvusena paigaldatakse on iseseisev
# uname -a Linux imre-laptop 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# dpkg -l linux-image-4.13.0-36-generic ii linux-image-4.13.0-36-generic 4.13.0-36.40~16.04.1 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
UFW - Uncomplicated Firewall
UFW reeglid rakenduvad järjekorras, esimene paketti tabev reegel töötab. Vaikimisi on ufw tarkvara olemas aga mitte-aktiive
# ufw status Status: inactive
Reegli lisamiseks sobib öelda
# ufw allow proto tcp from 10.80.102.35 to any port 22 Rule added
Reeglite aktiveerimiseks sobib öelda
# ufw enable
Reeglite nimekirja esitamiseks
# ufw status numbered
Lisatud reeglid asuvad failis
/lib/ufw/user.rules
Reegli eemaldamiseks sobib öelda
# ufw delete allow proto tcp from 10.80.102.35 to any port 10050
Reegite järjekorraga otseselt ei saa tegeleda, st olemasolevate reelite järjekorda muuta, aga saab reegli lisada näidatud postitsioonile
# ufw insert 1 allow proto tcp from 192.168.78.20 to any port 22
Reeglit saab kustutada jrk numbri alusel (number 'ufw status numbered' käsu väljundist)
# ufw delete 2
Apport
Tundub, et Apport https://wiki.ubuntu.com/Apport on progressiivne Ubuntu rakendus, mis võimaldab tegeleda automaatselt crashidega. Selles mõttes peab tema kasutamisega olema ettevaatlik, et ta /var/crash alla kirjutades ei kirjutaks failisüsteemi täis. Apport toe sisselülitamine toimub seadistusfailist
# grep enabled /etc/default/apport enabled=1
Probleemid
- mingil hetkel ei saa 12.04 peal lvm snapshotte eemaldada
# lvremove /dev/system/root_20150320_tootanud Can't remove open logical volume "root_20150320_tootanud"
- vaikimisi konfiga, st os prober tegemisel (nt apt-get dist-upgrade käigus) öeldakse vahel (vist siis kui on lvm snapshotid või nad on inactive olekus st täis saanud)
.. Found memtest86+ image: /memtest86+.bin /dev/dm-8: read failed after 0 of 4096 at 0: Input/output error rmdir: failed to remove `/var/lib/os-prober/mount': Device or resource busy grub-probe: error: unknown filesystem. done ...
kusjuures vedelema jääb selline mount
# df ... grub-mount 14098792 7340152 6042456 55% /var/lib/os-prober/mount
# umount /var/lib/os-prober/mount umount: /var/lib/os-prober/mount: not mounted
Vaatamata veateatele ei ole enam seda näha df väljundis. Üldiselt aitab selle vastu os probemine välja lülitada grub seadistusest
GRUB_DISABLE_OS_PROBER=true
- lvm snapshot kasutamisel vahel bootimisel arvuti satub initramfs shelli; aitab lvm utiliidist vgchange -a y ütlemine ja edasi bootimine
Serial konsooli kasutamine
Moodustada seadistusfail
# cat /etc/init/ttyS0.conf # ttyS0 - getty # # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL=[12345] stop on runlevel [!12345] respawn exec /sbin/getty -L 115200 ttyS0 vt102
ning käivitada
# start ttyS0
Vajadusel sarnaselt ttyS1 jaoks.
Paketihaldus
Tundub, et Ubuntu vaikimisi kasutab erinevaid repository komponente erinevatel ridadel sources.list failis, nt
deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted deb http://us.archive.ubuntu.com/ubuntu/ trusty universe deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
ja samaväärne oleks kasutada ühte rida
deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
Peale pakettide uuendamist saab sedasi teada, kas on vajadust arvutit rebootida
# cat /run/reboot-required.pkgs libssl1.0.0 linux-image-3.13.0-79-generic linux-base linux-base
Samad failid on näha ka /var/run all kuna see on symlink /run kataloogile
# ls -ld /var/run lrwxrwxrwx 1 root root 4 Dec 31 2014 /var/run -> /run # ls -ld /var/run/reboot-required* -rw-r--r-- 1 root root 32 Mar 18 00:36 /var/run/reboot-required -rw-r--r-- 1 root root 64 Mar 18 00:36 /var/run/reboot-required.pkgs
Vanade repositooriumide kasutamiseks sobib kasutada sarnast rida /etc/apt/sources.list failis
# cat /etc/apt/sources.list deb http://old-releases.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
Ubuntu mirrori pidamine
Kõige olulisemad Ubuntu mirrorid, ja samuti on nad need mida peegeldatakse, on
- release - praktiliselt CD/DVD tõmmised
- archive - nn pool/dist/jt kataloogidega failisüsteem kust apt-get paigaldab tarkvara; tundub, et siin sisalduvad ka turvauuendused
Release mirrori esmaseks kopeerimiseks sobib öelda nt
# rsync --bwlimit=20000 -av se.releases.ubuntu.com::mirror/ubuntu-releases/ ubuntu-releases/
Archive mirror esmaseks kopeerimiseks sobib öelda nt
# rsync --bwlimit=20000 -av ftp.acc.umu.se::ubuntu/ ubuntu/
kus
- 2016 kevadel on se.releases.ubuntu.com on ftp.acc.umu.se kanooniline nimi
- serveril on 10 G link ja paistab, et haldajad ei ehmata kui sealt palju kopeerida
push mirrori käivitamiseks toimub selline tegevuste järgnevus
- peale esimase kopeerimise saab freenode irc kanalilt #ubuntu-mirrors leida head inimesed, kes on nõus hakkama pushima
- leppida kokku ssh võtme kasutamine ja testida pushi
- käivitada push
- mõne kuu möödudes, kui on tekkinud veendumise, et teenus on stabiilne, pöörduda mirrors@ubuntu.com isandate poole taotlusega, et nad teevad CNAME kirjed
xx.archive.ubuntu.com -> ftp.auul.pri.ee xx.releases.ubuntu.com -> ftp.auul.pri.ee
Mirrordamine toimub paketis ubumirror sisalduvate skriptidega, mille tööd juhib seadistusfail /etc/ubumirror.conf.
vsftpd serveri kasutamine
Tavalise anonüümse ftp serveri seadistamiseks sobib kasutada nt sellist seadistusfaili
# egrep -v "^$|^#" /etc/vsftpd.conf listen=YES listen_ipv6=NO anonymous_enable=YES local_enable=NO write_enable=NO local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO dirmessage_enable=YES use_localtime=NO xferlog_enable=NO connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout=600 data_connection_timeout=120 ftpd_banner=Tere tulemast ftp serverisse! ls_recurse_enable=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd hide_ids=YES anon_root=/srv/ftp no_anon_password=yes syslog_enable=YES seccomp_sandbox=NO log_ftp_protocol=NO
kus
- dirmessage_enable=YES - esitatakse cd käsu juures kataloogis oleva .message faili sisu
- seccomp_sandbox=NO - Ubuntu OS millegipärast ilma selleta alati ei toimi
- use_localtime=NO - ftp kliendi listingus esitatakse failidega seotud aegu GMT
- ei logita /var/log/vsftpd.log faili ja logitakse syslogi
Ksplice Uptrack kasutamine
Ksplice https://en.wikipedia.org/wiki/Ksplice tehnika võimaldab laadida töötava arvuti mällu tuumaga seotud parandusi ja need kehtestuvad ilma vajaduseta arvutit rebootida. Kui peale paranduste rakendamist arvuti rebootida, siis vaikimisi laadib ksplice lahendus samad parandused otse arvuti mällu uuesti. Jätkusuutlikum alternatiiv on arvuti rebootimise ajaks paigaldada uus kernel tavalisel viisil ning siis ksplice töötab edasi selle suhtes. Teoreetiliselt saab ksplice kasutamisel laadida ja maha laadida parandusi paranduse täpsusega. Ksplice eeldab, et kuskil netis on kasutada nn parandusete teenusepakkuja, tundub, et 2016 aasta kevadel on Ubuntu uuemate versioonide parandused tasuta kättesaadavad Oracle juurest (ning tasu eest pakub Oracle neid ka nt Debian v. 8 Jessie jaoks). Ksplice kasutamine koosneb kolmest komponendist
- ksplice toega tuum (v. 4+ üldiselt sobib)
- ksplice haldusutiliit (uptrack-upgrade jt)
- ksplice jaoks sobivas formaadis parandused (nt Oracle)
Tarkvara paigaldamiseks tuleb aadressilt http://www.ksplice.com/try/desktop kopeerida meelepärane versioon (nt Ubuntu v. 15.10), juurutada lokaalne failisüsteemi põhine repo ning öelda
# apt-get install ksplice-uptrack
mille käigus küsitakse Oracle tingimuste aktsepteerimist
Tulemusena tekib failisüsteemi
- ksplice-uptrack, ksplice-uname jt utiliidid
- seadistusfail /etc/uptrack/uptrack.conf
# egrep -v "^$|^#" /etc/uptrack/uptrack.conf [Auth] accesskey = 01f2917e1ecafa9de73cca714e77254daf6c47bb6a52dcf5678d25320040e9e6 [Network] https_proxy = gconf_proxy_lookup = no [Settings] install_on_reboot = yes autoinstall = no
kus
- https_proxy - kui otse internetti ei saa pöörduda, siis millise proxy kaudu pöördutakse
- install_on_reboot - arvuti rebootimise käigus laaditakse mällu uuesti kõik parandused
- autoinstall - isanda juurest kopeeritud parandused laaditakse mällu automaatselt
Paigaldamise käigus kopeeritakse Oracle isanda juurest parandused (ca 250 MBait), paranduste logi asub /var/log/uptrack.log
# tail -f /var/log/uptrack.log 2016-04-10 20:03:51,089 DEBUG Client invoked as: /usr/sbin/uptrack-upgrade -q -n 2016-04-10 20:03:51,102 DEBUG dbus: Action: START 2016-04-10 20:03:51,103 DEBUG Verifying your access key is valid by requesting: https://updates.ksplice.com/update- repository/... 2016-04-10 20:03:53,288 DEBUG Getting package list and signature from https://updates.ksplice.com/update-repository/... 2016-04-10 20:03:58,681 DEBUG Verifying signature on /var/cache/uptrack/Linux/x86_64/4.2.0-16-generic/#19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015/packages.yml... 2016-04-10 20:03:58,875 DEBUG gpgv: Signature made T 05 apr 2016 17:49:12 EEST using RSA key ID 7F8494A7 gpgv: Good signature from "Ksplice Uptrack Signing Key <uptrack@ksplice.com>" 2016-04-10 20:03:58,875 DEBUG Trying to read package list at /var/cache/uptrack/Linux/x86_64/4.2.0-16-generic/#19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015/packages.yml 2016-04-10 20:03:59,057 DEBUG Downloading packages. .. 2016-04-10 20:18:36,010 DEBUG Downloading [9zydmsqh] Kernel BUG when running delayed references on Btrfs. 2016-04-10 20:19:07,388 DEBUG Unpacking [9zydmsqh] Kernel BUG when running delayed references on Btrfs. 2016-04-10 20:19:07,432 DEBUG Downloading [h6dukwgk] Use-after-free in Rados block device when queueing work. 2016-04-10 20:19:18,427 DEBUG Unpacking [h6dukwgk] Use-after-free in Rados block device when queueing work. ... 2016-04-10 20:38:41,992 DEBUG Writing status to file. 2016-04-10 20:38:42,089 DEBUG Sending result to server. 2016-04-10 20:38:42,090 DEBUG Exiting with success. Not writing new plans. 2016-04-10 20:38:42,090 DEBUG Writing status to file. 2016-04-10 20:38:42,103 DEBUG Sending result to server. 2016-04-10 20:38:43,782 DEBUG dbus: Action: STOP
ja pigutatakse kataloogi /var/cache/uptrack
# du -sh /var/cache/uptrack/ 244M /var/cache/uptrack/
Uunenduste alguspunkt
# uptrack-show Installed updates: None Effective kernel version is 4.2.0-17.21
Saadaval olevate paranduste nimekirja esitamiseks
# uptrack-show --available Available updates: [g7x0a4zc] Clear garbage data on the kernel stack when handling signals. [6aql8zfk] Provide an interface to freeze tasks. [fawedlxt] CVE-2015-5307: KVM host denial-of-service in alignment check. [chdym2fq] Out of bounds memory access when accessing perf constraints on Intel CPU. [tc812itk] Kernel crash when applying alternative instructions. ...
Kõigi paranduste paigaldamiseks
# uptrack-upgrade -y
Lõpuks saab võrrelda paigaldatud ja paigatud tuumade versioone
# uname -a Linux ubuntu1510 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux # uptrack-uname -a Linux ubuntu1510 4.2.0-35-generic #40-Ubuntu SMP Tue Mar 15 22:15:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Edaspidine paranduste allalaadimine toimub vaikimisi kaks korda tunnis cron tööga
# cat /etc/cron.d/uptrack 17,47 * * * * root export PATH=/usr/local/sbin ... && [ -x /usr/sbin/uptrack-upgrade ] && /usr/sbin/uptrack-upgrade --cron
Kasulikud lisamaterjalid
Automaatsed uuendused
Tundub, et automaatsete uunedustega on seotud sellised kohad
# cat /etc/apt/apt.conf.d/20auto-upgrades APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
väljalülitamiseks viimasel real muuta
1 -> 0
Kasulikud lisamaterjalid
- http://www.hiroom2.com/2016/05/18/ubuntu-16-04-auto-apt-update-and-apt-upgrade/
- https://help.ubuntu.com/16.04/serverguide/automatic-updates.html
Probleemid
- Ubuntu v. 16.04 paketiuuendus 20170628
Setting up grub-efi-amd64-signed (1.66.11+2.02~beta2-36ubuntu3.11) ... Installing for x86_64-efi platform. File descriptor 4 (/dev/sda1) leaked on vgs invocation. Parent PID 25556: grub-install File descriptor 4 (/dev/sda1) leaked on vgs invocation. Parent PID 25556: grub-install GUID Partition Table Header signature is wrong: be5608740128e852 != 5452415020494645 GUID Partition Table Header signature is wrong: 646e756f626e7520 != 5452415020494645 GUID Partition Table Header signature is wrong: be5608740128e852 != 5452415020494645 GUID Partition Table Header signature is wrong: 646e756f626e7520 != 5452415020494645 GUID Partition Table Header signature is wrong: be5608740128e852 != 5452415020494645 GUID Partition Table Header signature is wrong: 646e756f626e7520 != 5452415020494645 Installation finished. No error reported.
Setting up linux-signed-image-4.4.0-81-generic (4.4.0-81.104) ... warning: file-aligned section .text extends beyond end of file warning: checksum areas are greater than image size. Invalid section table? Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-98-generic File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22502: /usr/sbin/grub-probe File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22502: /usr/sbin/grub-probe File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22516: /usr/sbin/grub-probe File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22516: /usr/sbin/grub-probe File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22529: /usr/sbin/grub-probe File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22529: /usr/sbin/grub-probe File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22542: /usr/sbin/grub-probe File descriptor 3 (pipe:[4822260]) leaked on vgs invocation. Parent PID 22542: /usr/sbin/grub-probe
Eesti ID kaardi kasutamine - Ubuntu 16.04
# apt-key add ria-key1.pem # apt-key add ria-key2.pem
# cat /etc/apt/sources.list.d/ria-repository.list deb http://installer.id.ee/media/ubuntu xenial main
# apt-get update # apt-get install open-eid
Kui lähtepunktiks on nö tavaline töökohaarvuti, siis lisanduvad paketid
chrome-token-signing esteidfirefoxplugin esteidpkcs11loader libccid libdigidoc-common libdigidoc-tools libdigidoc2 libdigidocpp-common libdigidocpp-tools libdigidocpp1 libminizip1 libnss3-tools libxerces-c3.1 libxml-security-c17v5 libzip4 open-eid opensc opensc-pkcs11 pcscd qdigidoc qdigidoc-tera qesteidutil
Kasulikud lisamaterjalid
- https://installer.id.ee/?lang=est
- https://installer.id.ee/media/install-scripts/install-open-eid.sh
- https://installer.id.ee/media/ubuntu/
- http://kuutorvaja.eenet.ee/wiki/Eesti_ID-kaardi_kasutamine_Debianiga
Eesti ID kaardi kasutamine - Ubuntu 18.04
Sarnaselt eelmisele punktile, aga paistab, et 2019 aasta alguses tuleb lisaks kasutada skriptis
# cat /var/lib/dpkg/info/awp.postinst #!/bin/bash exit; ...
ning loksutada paketihaldust 'apt-get install -f' vms käskudega.
Seejärel kasutajana logida sisse desktop keskkonda (nt XFCE4) ja öelda
$ modutil -dbdir sql:$HOME/.pki/nssdb -delete opensc-pkcs11 $ modutil -dbdir sql:$HOME/.pki/nssdb -add opensc-pkcs11 -libfile onepin-opensc-pkcs11.so -mechanisms FRIENDLY
Seejärel Chrome brauseris peaks saama kasutada id kaarti autentimiseks ja allkirjastamiseks. Need kaks käsku võiks idee poolest automaatselt öeldada skripti /usr/bin/esteid-update-nssdb poolt, aga paistab, et millegipärast minul see nii ei ole
$ cat /etc/xdg/autostart/chrome-pkcs11.desktop [Desktop Entry] Type=Application Name=Configure Chrome PKCS11 Exec=/usr/bin/esteid-update-nssdb NoDisplay=true X-GNOME-AutoRestart=true X-GNOME-Autostart-Phase=Initialization
Kui kasutada on uus eid kaart, siis tõenäoliselt on vajalik öelda awp.postinst skriptis sisalduvad sarnased käsud samuti.
Ubuntu 16.04 kopeerimine
- küsida vanas arvutis partitsioonitabeli sisu
vana# parted /dev/sda GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit s (parted) p Model: FTS PRAID EP400i (scsi) Disk /dev/sda: 1757085696s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 391167s 389120s fat32 boot, esp 2 391168s 1757083647s 1756692480s lvm (parted)
- moodustada uude arvutisse partitsioonitabel
root@sysresccd /root % parted /dev/sda GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit s (parted) mklabel gpt (parted) mkpart esp 2048 391167 (parted) set 1 boot on (parted) set 1 esp on (parted) quit
ning seejärel tekitada teine partitsioon kuni ketta lõpuni fdisk abil, määrata tüübiks lvm
# fdisk /dev/sda ...
öelda igaks juhuks, et kernelisse lugeda partitsioonitabeli muudatused
# partprobe /dev/sda
Kontrollida tulemust
# ls -ld /dev/sda*
- moodustada lvm
# pvcreate /dev/sda2 # vgcreate system /dev/sda2 # lvcreate -L24G -n swap system # lvcreate -L12G -n root system
- moodustada failisüsteemid
# mkfs.vfat -F32 -n EFI /dev/sda1 # mkfs.ext4 /dev/system/root # mkswap /dev/system/swap
- monteerida failisüsteemid ajutiselt
# mkdir /mnt/root # mount /dev/system/root /mnt/root # mkdir /mnt/root/boot # mount /dev/sda1 /mnt/root/boot
- bootida vana arvuti systemrescuecd abil ja ühendatakse / ja /boot/efi failisüsteemid külge
# mkdir /mnt/root # mount /dev/system/root /mnt/root # mount /dev/sda1 /mnt/root/boot
- seadistatakse systemrescuecd abil võrk mõlemale arvutile
# /etc/init.d/networkmanager stop # ifconfig xxx x.x.x.x
- määratakse root kautaja parool
# passwd root
- kopeeritakse rsync abil andmed
# rsync -avHAX --exclude=var/log/lastlog --numeric-ids /mnt/root/ root@x.x.x.x:/mnt/root/
- tehakse uues arvutis kopeeritud failisüsteemis vajalikud muudatused (ip aadress jne)
- tekitatakse uue arvuti nvram'i efi boot valik 'refind'
# efibootmgr -c -L "refind" -l 'EFI\refind\refind_x64.efi'
- TODO
- ühendatakse vanas arvutis failisüsteemid lahti ja öeldakse 'poweroff'
netplan kasutamine
Ubuntu v. 18.04 vaikimisi töökohaarvuti install
# cat /etc/netplan/01-network-manager-all.yaml # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager
Kehtestamiseks
# netplan generate # netplan apply
nö brctl bridge kasutamiseks
network: version: 2 renderer: networkd ethernets: enp0s31f6: dhcp4: false dhcp6: false bridges: br0: addresses: [ 192.168.10.219/24 ] dhcp4: false routes: - to: 0.0.0.0/0 via: 192.168.10.254 on-link: true nameservers: search: [moraal] addresses: [10.192.0.53] interfaces: - enp0s31f6
systemd-network jaoks töötab networkctl, nt
# networkctl status ● State: routable Address: 192.168.100.1 on br1 192.168.10.219 on br0 fe80::785b:3eff:fe72:676 on br1 fe80::a8ff:93ff:fe9d:dedc on br0 fe80::fcff:ffff:feff:ffff on vif1.0 fe80::fcff:ffff:feff:ffff on vif1.1 fe80::fcff:ffff:feff:ffff on vif9.0 fe80::fcff:ffff:feff:ffff on vif9.1 Gateway: 192.168.10.254 (ICANN, IANA Department) on br0 DNS: 10.192.0.53 Search Domains: moraal
- nö tavalise ip aadressi seadistamine
network: version: 2 renderer: networkd ethernets: ens18: dhcp4: false dhcp6: false addresses: [ 192.168.10.218/24 ] gateway4: 192.168.10.254 nameservers: search: [moraal] addresses: [10.192.0.53]
Kasulikud lisamaterjalid
USB over IP
USB over IP tarkvara http://usbip.sourceforge.net/ abil saab teha ühe arvuti füüsilised USB seadme üle võrgu kasutatavaks teisest avutist.
Praktiliselt voib olla hada sellest, et user space ja kernel space tarkvara ei sobi kokku. Nt tundub, et Ubuntu v. 16.04 ja v. 18.04 paketihalduses on usbip v. 2.0 mis toimib ja toimib ristirästi.
Tööpõhimõte
TODO
Tarkvara paigaldamine v. 18.04
Tarkvara paigaldamiseks ei sobi öelda
# apt-get install usbip
Tarkvara paigaldamisel peab jälgima, et usbipd programm ja tuuma moodulid omavahel sobivad, nt 2018 kevadel sobib öelda
# apt-get install linux-tools-generic
ja tekib
/usr/lib/linux-tools/4.15.0-20-generic/usbipd
ning kasutada tavalist tuuma, pakett
linux-image-generic
kontrolliks sobib öelda
# usbipd -v usbipd (usbip-utils 2.0)
Paigaldamise tulemusena tekib failisysteemi muu hulgas
- /usr/bin/usbip - utiliit serveri seadistamiseks ja kliendi juhtimiseks
- /usr/bin/usbipd - serveri poolel tootav deemon
kus need failid on skriptid ja nad otsivad üles sobivad programmid linux-tools-generic paketist.
Tarkvara paigaldamine v. 16.04
Tarkvara paigaldamiseks ei sobi öelda
# apt-get install usbip
Tarkvara paigaldamisel peab jälgima, et usbipd programm ja tuuma moodulid omavahel sobivad, ja kui on tarvis, et nad sobivad ka teises arvutis töötava Ubuntu 18.04, nt 2018 kevadel sobib öelda
# apt-get install linux-tools-generic-hwe-16.04-edge
mis paigaldab nagu tavaliselt hwe tarkvara ühe sobiva versiooni, nt
linux-tools-4.15.0-15-generic
ja tekib
/usr/lib/linux-tools/4.15.0-15-generic/usbipd
ning kasutada juurde edge tuuma mis on reaalselt v. 4.15
linux-image-generic-hwe-16.04-edge
kontrolliks sobib öelda
# usbip version usbipd (usbip-utils 2.0)
Paigaldamise tulemusena tekib failisysteemi muu hulgas
- /usr/bin/usbip - utiliit serveri seadistamiseks ja kliendi juhtimiseks
- /usr/bin/usbipd - serveri poolel tootav deemon
kus need failid on skriptid ja nad otsivad üles sobivad programmid linux-tools-generic paketist.
Serveri poole ettevalmistamine ja käivitamine
Laadida moodulid
server:~# modprobe usbip_core server:~# modprobe usbip_host
Käivitada usbipd deemon, kuulab vaikimisi 3240/tcp pordil
server:~# usbipd
USB seadmete serveris olevate USB seadmete nimekirja esitamiseks sobib öelda
server:~# usbip list --local Local USB devices ================= - busid 1-1 (8087:0024) Intel Corp. : Integrated Rate Matching Hub (8087:0024) 1-1:1.0 -> hub - busid 1-1.2 (0781:5530) SanDisk Corp. : Cruzer (0781:5530) 1-1.2:1.0 -> usb-storage - busid 1-1.4 (0424:2514) Standard Microsystems Corp. : USB 2.0 Hub (0424:2514) 1-1.4:1.0 -> hub - busid 1-1.4.3 (046d:c31d) Logitech, Inc. : Media Keyboard K200 (046d:c31d) 1-1.4.3:1.0 -> usbhid 1-1.4.3:1.1 -> usbhid - busid 1-1.4.4 (046d:c05a) Logitech, Inc. : M90/M100 Optical Mouse (046d:c05a) 1-1.4.4:1.0 -> usbhid - busid 1-1.5 (04e6:e001) SCM Microsystems, Inc. : SCR331 SmartCard Reader (04e6:e001) 1-1.5:1.0 -> usbfs
Seadme eksportimiseks sobib oelda, nt Cruizer USB pulk jaoks
server:~# usbip bind -b 1-1.2 bind device on busid 1-1.2: complete
Tulemusena on --list väljundis vastav seade
- busid 1-1.2 (0781:5530) SanDisk Corp. : Cruzer (0781:5530) 1-1.2:1.0 -> usbip-host
Kliendi poole ettevalmistamine ja käivitamine
Laadida moodul
klient:~# modprobe vhci_hcd
Eksporditud seadmete nimekirja küsimiseks sobib öelda kliendi arvutis
klient:~# usbip list -r 192.168.10.10 Exportable USB devices ====================== - 192.168.10.10 1-1.2: SanDisk Corp. : Cruzer (0781:5530) : /sys/devices/pci0000:00/0000:00:07.0/usb1/1-1/1-1.2 : (Defined at Interface level) (00/00/00) : 0 - Mass Storage / SCSI / Bulk-Only (08/06/50)
Seadme kasutamiseks
klient:~# usbip attach -r 192.168.10.10 -b 1-1.2
Seejärel on seade paistab nagu kohalik seade ja on valmis kasutamiseks, nt
klient:~# lsusb Bus 009 Device 004: ID 0781:5530 SanDisk Corp. Cruzer ..
ja usbip spetsiifilisemalt
klient:~# usbip port Imported USB devices ==================== Port 00: <Port in Use> at High Speed(480Mbps) unknown vendor : unknown product (0781:5530) 9-1 -> usbip://192.168.10.10:3240/1-1.2 -> remote bus/dev 001/037
Kliendi poolel kasutamise lõpetamine
Kasutamise lõpetamiseks sobib öelda kasutades vhci_hcd pordi numbrit
klient:~# usbip detach --port=0
Serveri poolel kasutamise lõpetamine
Peale seda kui kliendi pool on seadme kasutamine lõpetatud, öelda
server:~# usbip unbind -b 1-1.2 unbind device on busid 1-1.2: complete
Kasulikud lisamaterjalid
- http://www.howtoforge.com/how-to-set-up-a-usb-over-ip-server-and-client-with-debian-lenny
- https://www.kernel.org/doc/readme/drivers-staging-usbip-userspace-README
NVIDIA videokaart
$ ubuntu-drivers devices == /sys/devices/pci0000:00/0000:00:10.0 == modalias : pci:v000010DEd00000FFAsv000010DEsd0000094Bbc03sc00i00 vendor : NVIDIA Corporation model : GK107GL [Quadro K600] driver : nvidia-driver-390 - distro non-free recommended driver : nvidia-340 - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin
ning paigaldamiseks
# ubuntu-drivers autoinstall===Kasulikud lisamaterjalid===
- http://kuutorvaja.eenet.ee/wiki/Ubuntu_kasutamine
- http://kuutorvaja.eenet.ee/wiki/KVM_kasutamine_Ubuntu_10.04_operatsioonis%C3%BCsteemiga
- http://kuutorvaja.eenet.ee/wiki/Ubuntu_Cloud_-_9.10
- http://kuutorvaja.eenet.ee/wiki/Ubuntu_Live
- https://repogen.simplylinux.ch/
TLS v. 1.3
Osutub, et 2019 aasta kevadel uueneb tavalise paketihalduse käigus OpenSSL v. 1.1.0 versioonile v. 1.1.1 ja muu hulgas selle tulemusena tekib TLS v. 1.3 tugi
# openssl ciphers -v TLSv1 TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD ...
Seejuures tekib automaatselt rakendusetele 1.3 tugi
- nginx
- postfix
ei teki
- apache
Ubuntu 20.04 paigaldamine üle serial konsooli
Osutub, et teatud juhtumitel on Proxmox konsool installeri töötamise ajal kasutamatu. Sellest saab üle serial konsoolil paigaldamisega (virtuaalsele arvutile tuleb webgui abil lisada serial seade). Alguses bootloader töötab, tuleb valida 'Install Ubuntu Server' real edit (E klahviga) ning kohendada kerneli rida selliseks
linux /install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed console=ttyS0,115200
ja kinnituda teises aknas proxmox virtuaalse arvuti serial konsooli külge
# qm terminal 141
Tulemusena on serial konsooli kaudu võimalik suhelda installeriga.
Kasulikud lisamaterjalid
Kernel lockdown
Paistab, et Ubuntu 20.04 sisaldab kernel lockdown tuge, kasutamiseks sobib lisada kernel reale juurde
linux ... lockdown=integrity
ning toime kontrollimiseks sobib öelda nt
root@ubu2020:~# kexec -l /boot/vmlinuz-5.4.0-37-generic --reuse-cmdline --initrd=/boot/initrd.img-5.4.0-37-generic kexec_load failed: Operation not permitted entry = 0x7ffd1730 flags = 0x3e0000 nr_segments = 4 segment[0].buf = 0x7fab3325a010 segment[0].bufsz = 0x4daedf8 segment[0].mem = 0x78651000 segment[0].memsz = 0x4daf000 segment[1].buf = 0x7fab3800d810 segment[1].bufsz = 0xb1ab00 segment[1].mem = 0x7d400000 segment[1].memsz = 0x2b6d000 segment[2].buf = 0x564838c191f0 segment[2].bufsz = 0x488c segment[2].mem = 0x7ffcc000 segment[2].memsz = 0x5000 segment[3].buf = 0x564838c12100 segment[3].bufsz = 0x70e0 segment[3].mem = 0x7ffd1000 segment[3].memsz = 0x9000
või
# apt-get install sysdig-dkms # modprobe sysdig-probe modprobe: ERROR: could not insert 'sysdig_probe': Operation not permitted
Kusjuures
# dmesg -T | tail -n 2 [Sat Jun 13 13:33:11 2020] Lockdown: kexec: kexec of unsigned images is restricted; see man kernel_lockdown.7 [Sat Jun 13 13:33:53 2020] Lockdown: modprobe: unsigned module loading is restricted; see man kernel_lockdown.7
Tundub, et millalgi sai seda lockdowni eemaldada töötavalt süsteemilt sedasi, aga 2020 kevade seisuga Ubuntu 20.04 puhul mitte
# echo 1 > /proc/sys/kernel/sysrq # echo x > /proc/sysrq-trigger
aegunud non-lts uuendamine lts peale
Aegunud non-lts uundamiseks lts peale (nt v. 21.10 -> 22.04) sobib
- /etc/apt/sources.list failis asendada ee.archive.ubuntu.com -> old-releases.ubuntu.com
- öelda vajadusel 'apt-get install update-core-manager'
- öelda do-release-upgrade
- jne
Kasulikud lisamaterjalid