2024. március 29., péntek

Gyorskeresés

Debian 9 Stretch Xfce telepítése és személyre szabása by kovaax

Írta: | Kulcsszavak: debian . linux . stretch . xfce . telepítés . install

[ ÚJ BEJEGYZÉS ]

Utolsó módosítás: 2018.02.03

Mese
Hosszú évek óta saját építésű Debian-t használtam, de mellette jó pár éve van fent Fedora Xfce Spin is a kisebbik gépemen, ami végül is tetszik, jól használható, takarékos az erőforrásokkal, és még Linusnak is jó volt egy ideig. Amikor kijött a Stretch első bétája, Xfce-vel raktam fel, bő fél évig nagy megelégedéssel tesztelgettem, ezért úgy döntöttem, hogy ha kijön stabilnak, azzal fogom felrakni.
Plusz, hogy valami extra is legyen, veszek egy ssd-t is, mivel eddig egy Green 2 terás vinyón volt az oprendszer is (nem röhög!), de mivel eléggé ki volt herélve, nem okozott különösebb problémát a lassúsága. Van mellette egy 250 gigás gyorsabb vinyó is, de annak a sorsa bizonytalan volt sokáig, így nem költöztettem át rá a rendszert, a fontosabb dolgokról arra készítettem mentéseket, a swap került rá egy idő után, illetve azon teszteltem a Stretch-et is. A terv az volt, hogy a swap marad a 250-en, a 2 teráson lévő két rendszer particióból lesz /var és /tmp, plusz marad érintetlenül rajta a /home és /data, az ssd-re pedig megy a rendszer az ő hatalmas ~3 gigás méretével (mondtam már, hogy nem röhög?).
Aztán múlt hétvégén kijött a Stretch, hétfőn megvettem az ssd-t, elmentem jógázni, hogy kívül-belül megtisztulva kezdjek bele a telepítésbe este, ami valahogy így nézett ki:

Előkészületek
1. Készítettem egy netinstall cd-t és egy gparted cd-t.

2. Utoljára bebootoltam a Jessie-t, a Thunderbird-ben mondtam egy File/Compact Folders-t, illetve egy Edit/Network & Disk Space/Clear Now-t, hogy lecsökkentsem a levél könyvtár méretét, majd lementettem a 250-es vinyóra, plusz még amiket menteni szoktam, mert mi van, ha partició átméretezés közben megy el az áram...

3. root-ként lementettem a /etc könyvtárat és a dpkg -l kimenetét, ha esetleg később szükség volna rá.

4. Szöveges terminálból kitöröltem a .mozilla és a .thunderbird kivételével gyakorlatilag az összes rejtett könyvtárat a /home/kovaax alól.

5. Kikapcsoltam a gépet, majd beszereltem az ssd-t, amivel mondjuk elég sok időt eltoltam, míg olyan nem lett, amilyennek szerettem volna. A hálózati kábelt kihúzva hagytam, hogy installkor ne tudjon dhcp címet szerezni.

6. Bebootoltam a gparted lemezről, átméreteztem a két rendszeparticiót a 2 terás vinyón, hogy az új igényeknek megfeleljenek.

7. Kicseréltem a lemezt a Debian netinstallra, és bebootoltam róla.

Debian 9 Stretch install
[Graphical install]
Language: [Hungarian - Magyar]
A telepítést a kijelölt nyelven folytatja? [Igen]
Válassza ki a helyét: [Magyarország]
Billentyűzet beállítása: [magyar]
Hálózat beállítása: [Hálózat kézi beállítása]
ip: <192.168.0.72>
maszk: <255.255.255.0>
átjáró: <192.168.0.1>
névkiszolgáló: <192.168.0.1>
gépnév: <otthon>
tartomány név: <kovaax.hu>
Felhasználók és jelszavaik felvétele:
root jelszó: <>
ellenőrzés: <>
Új felhasználó teljes neve: <kovaax>
(hálózat visszadugása)
Felhasználóneve: <kovaax>
Jelszava: <>
ellenőrzés: <>
Lemezek particionálása: [Kézi]
itt ez lett kialakítva:
/: /dev/sda1 20 Gb - ssd
/var: /dev/sdb1 16 Gb -2 terás hdd
/tmp: /dev/sdb2 8 Gb
/home: /dev/sdb3
swap: /dev/sdc1 -250 gigás hdd

A csomagkezelő beállítása: Átnézzek még egy cd-t? [nem]
A választandó Debian tükör országa: [Németország]
HTTP-proxy: <>
popularity-contest konfigurálása: [igen]
Telepíthető szoftverek:
* [Debian desktop environment]
* [xfce]
* [Szokásos rendszereszközök]

A GRUB rendszerbetöltő merevlemezre: mbr: [igen] </dev/sda>
A rendszeróra az UTC szerint jár? [igen]
REBOOT

Tűzfal beállítása (root-ként)
Még mielőtt bármit tennénk, ugye, elindítjuk a tűzfalat.

Amit logolni szeretnénk a tűzfalon, abban szerepelnie kell az "iptables: " szövegnek, erre fog szűrni az rsyslog:
vi fireval.sh:
...
iptables -A INPUT -j LOG --log-prefix "iptables: "
...

Az rsyslog-nak megmondjuk, hogy ezeket a sorokat külön fájlba rakja:
vi /etc/rsyslog.d/iptables.conf:
:msg, contains, " iptables: " -/var/log/iptables.log
& stop

Az új logot is rotálni kell:
vi /etc/logrotate.d/iptables:
/var/log/iptables.log
{
rotate 8
weekly
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}

Újraindítjuk az rsyslog-ot, futtatjuk a tűzfal scriptet, majd felrakjuk az iptables-persistent csomagot, ami elmenti a scriptben lévő szabályokat, és újraindításkor automatikusan betölti őket.
systemctl restart rsyslog.service
./fireval.sh
apt-get --no-install-recommends install iptables-persistent

Ha módosítjuk a tűzfal szabályokat, újra el kell menteni őket:
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

Csomagforrások beállítása, extra csomagok felrakása (root-ként)
vi /etc/apt/sources.list:
# deb-src-ket kikommentezni, contrib non-free -t hozzáadni
deb http://ftp.de.debian.org/debian/ stretch main non-free contrib
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
deb http://www.deb-multimedia.org stretch main non-free

apt-get update
apt-get --no-install-recommends install deb-multimedia-keyring
apt-get update
# firmware-k:
apt-get --no-install-recommends install firmware-linux firmware-realtek amd64-microcode
# csomaglisták frissítéséhez egy jó ki eszköz:
apt-get --no-install-recommends install apticron
# pdf-be szoktam nyomtatni, mert nincs itthon nyomtatóm:
apt-get --no-install-recommends install printer-driver-cups-pdf
# lemezek monitorozásához:
apt-get --no-install-recommends install smartmontools
# az androidos telóm csatlakoztatásához:
apt-get --no-install-recommends install gvfs-backends
# levelező és naptár program:
apt-get --no-install-recommends install lightning-l10n-hu thunderbird-l10n-hu
# egyéb hasznos eszközök, amiket használni szoktam:
apt-get --no-install-recommends install dnsutils cpufrequtils gdebi net-tools unrar deborphan galculator geeqie vim-gtk aisleriot
# a szerzői jogok védelmére:
apt-get --no-install-recommends install audacious devede wodim libdvdcss2 id3v2
# az avahi-daemon-t nem szeretem, teleugatja a tűzfalamat:
systemctl stop avahi-daemon
systemctl disable avahi-daemon
apt-get purge avahi-daemon
# a firefox-ból mindig a legfrissebbet rakom fel kézzel:
apt-get purge firefox-esr
apt-get autoremove

Frissíthető csomagokról e-mail (root-ként)
Az apticron csinálja, be kell szépen konfigolni:
vi /etc/apticron/apticron.conf:
# ki kapja az e-mailt:
...
EMAIL="kovaax"
...

Mivel ez egy asztali gép, azt szeretném, hogy bekapcsoláskor nézze meg van-e frissítés, de 1 nap max egyszer. Ja, és felejtsük már el az rc.local-t, legyen inkább egy egyszer tüzelő systemd szolgáltatás.

# "active" kell legyenek:
systemctl status network-online.target
systemctl status exim4.service

vi /etc/systemd/system/apticron.service:
[Unit]
Description=Apticron Mail about pending package updates
Requires=network-online.target exim4.service
After=network-online.target exim4.service

[Service]
Type=oneshot
ExecStart=/usr/sbin/apticron --cron

[Install]
WantedBy=multi-user.target

# cronból kiveszem, de a biztonság kedvéért megtartom a bejegyzést:
mv /etc/cron.d/apticron /etc/apticron/
# elindítom az új szervízt:
systemctl daemon-reload
systemctl enable apticron.service
systemctl status apticron.service

REBOOT
Az újraindulás után ennek fájlnak frissülnie kell, ha minden jó lett:
ls -l /var/lib/apticron/cron_run

DNS cachelése és reklám oldalak szűrése (root-ként)
# DNSMasq:
vi /etc/NetworkManager/conf.d/dnsmasq.conf:

[main]
dns=dnsmasq

vi /etc/NetworkManager/dnsmasq.d/noreklam.conf:
# address-es sorokat belerakni
...
address=/adverticum.net/127.0.0.1
...

systemctl restart NetworkManager

Tesztelés:
dig ads.yahoo.com
../../../../lib/isc/unix/net.c:581: sendmsg() failed: Operation not permitted

; <<>> DiG 9.10.3-P4-Debian <<>> ads.yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64822
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ads.yahoo.com. IN A

;; ANSWER SECTION:
ads.yahoo.com. 0 IN A 127.0.0.1

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Jun 24 19:05:17 CEST 2017
;; MSG SIZE rcvd: 47

Régebben lassabb volt a netem, így elsőre 3-5 msec volt a lekérdezés ideje, másodjára viszont a cache-lés miatt lecsökkent 0-ra. Most viszont már nem nyerek vele időt, csak kevesebb forgalmat generálok elméletileg, mivel ma már a böngészők is cache-lik az ip-ket, ha jól tudom...

SSD tuning
Alignálás ellenõrzése, 0 a jó:
blockdev --getalignoff /dev/sda
0

Van-e trim:
hdparm -I /dev/sda | grep TRIM
* Data Set Management TRIM supported (limit 8 blocks)

SATA mód ellenõrzése:
smartctl -a /dev/sda | grep SATA
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s)

noatime-t beállítani az ssd-n:
vi /etc/fstab:
...
# / was on /dev/sda1 during installation
UUID=c1e3b15c-54de-4fa2-bd58-3eab6046bf3b / ext4 noatime,errors=remount-ro 0 1
...

Mivel a /var és a /tmp nem az ssd-n van, elég hetente trimelni:
cp /usr/share/doc/util-linux/examples/fstrim.service /etc/systemd/system
cp /usr/share/doc/util-linux/examples/fstrim.timer /etc/systemd/system
systemctl enable fstrim.timer

Azt, hogy mikor futott utoljára az fstrim, a systemd timer-ek listázásával lehet megnézni:
systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Wed 2017-08-02 20:04:58 CEST 16min left Wed 2017-08-02 19:00:48 CEST 47min ago anacron.timer anacron.service
Thu 2017-08-03 06:27:07 CEST 10h left Wed 2017-08-02 18:35:47 CEST 1h 12min ago apt-daily-upgrade.timer apt-daily-upgrade.service
Thu 2017-08-03 08:53:22 CEST 13h left Wed 2017-08-02 18:35:47 CEST 1h 12min ago apt-daily.timer apt-daily.service
Thu 2017-08-03 18:50:48 CEST 23h left Wed 2017-08-02 18:50:48 CEST 57min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Mon 2017-08-07 00:00:00 CEST 4 days left Mon 2017-07-31 20:17:12 CEST 1 day 23h ago fstrim.timer fstrim.service

5 timers listed.
Pass --all to see loaded but inactive timers, too.

IO-scheduler beállítása:
vi /etc/udev/rules.d/60-ssd-scheduler.rules:
# set noop scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
# set deadline scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="deadline"

IO-scheduler tesztelése (újraindítás után, természetesen):
for f in /sys/block/sd?/queue/scheduler; do printf "$f -> "; cat $f; done
/sys/block/sda/queue/scheduler -> [noop] deadline cfq
/sys/block/sdb/queue/scheduler -> noop [deadline] cfq
/sys/block/sdc/queue/scheduler -> noop [deadline] cfq
for f in /sys/block/sd?/queue/rotational; do printf "$f -> "; cat $f; done
/sys/block/sda/queue/rotational -> 0
/sys/block/sdb/queue/rotational -> 1
/sys/block/sdc/queue/rotational -> 1

VirtualBox (root-ként)
echo deb http://download.virtualbox.org/virtualbox/debian stretch contrib > /etc/apt/sources.list.d/virtualbox.list
wget https://www.virtualbox.org/download/oracle_vbox_2016.asc
apt-key add oracle_vbox_2016.asc
apt-get update
apt-get install linux-headers-amd64 gcc make
apt-get install virtualbox-5.2

Firefox kézzel (root-ként)
Letölteni innen a legfrissebbet, érdemes az egész install előtt.

Felrakni /opt alá:
cd /opt
tar xjf /home/kovaax/downloads/linux/firefox-54.0.tar.bz2
ln -s /opt/firefox/firefox /usr/bin/firefox
update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/firefox 250

Firefox desktop file készítése:
vi /usr/share/applications/firefox-local.desktop:
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Comment=Access the Internet
Exec=/opt/firefox/firefox %u
Terminal=false
Icon=/opt/firefox/browser/chrome/icons/default/default32.png
Type=Application
Categories=Network;WebBrowser;
MimeType=application/xhtml+xml;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;

Firefox konfigolása sima felhasználóként
Innen sima felhasználóként elindítjuk a firefox-ot vagy az alsó tálcáról, vagy a menüben az internet alól (ha több felhasználó van, mindenki magának állítgatja), majd beírjuk a címsorba: about:config

- scrollbar működése: ui.scrollToClick=0
- értesítések kikapcsolása: dom.webnotifications.enabled=false
- ne induljon el automatikusan a videó: media.autoplay.enabled=false
- cache memóriába:
browser.cache.disk.enable=false
browser.cache.memory.enable=true

jobb klikk, új egész: browser.cache.memory.capacity=1024000
- pipelining proxy nélkül:
jobb klikk, új logikai: network.http.keep-alive=true
network.http.version=1.1
network.http.pipelining=true
network.http.pipelining.maxrequests=4

- pipelining proxy-val:
jobb klikk, új logikai: network.http.proxy.keep-alive=true
network.http.proxy.version=1.1
network.http.proxy.pipelining=true
network.http.pipelining.maxrequests=4

Felrakni alá az uBlock Origin-t: https://addons.mozilla.org/en-us/firefox/addon/ublock-origin/

Script az Xfce levélfigyelőhöz (root-ként)
vi /usr/local/bin/melcsekk:
#!/bin/bash
if mailx -e; then xfce4-terminal -e /usr/bin/mailx; fi

chmod a+x /usr/local/bin/melcsekk
# hogy a root leveleit megkapja a sima júzer:
echo kovaax > ~/.forward

XFCE beállítások klikkolgatása sima felhasználóként
Synaptic:
Beállítások/Beállítások/Általános: Kezelje az ajánlott csomagokat függőségekként - pipa ki
Beállítások/Beállítások/Fájlok: Letöltött csomagok törlése telepítés után - pipa be
Apply - OK

Terminál:
Szerkesztés/Beállítások: Parancs futtatása bejelentkezési parancsértelmezőként - pipa be
így felveszi a .profile-ban lévő beállításokat is

Óra: jobbklikk/Tulajdonságok:
Elrendezés: Digitális
Buboréksúgó formátuma: Egyéni formátum, %c
Óra beállításai: Egyéni formátum, %H:%M:%S

Felső panel: jobbklikk/Panel/Új elemek hozzáadása:
Whisker Menü +
CPU-grafikon +
Időjárási adatok frissítése +
Levélfigyelő +
PulseAudio Plugin +

Alsó panel: jobbklikk/Panel/Panel beállításai:
A panel automatikus elrejtése: Mindig

GVim nyissa meg a sima text fájlokat:
Whisker menü->Beállítások->MIME-típus szerkesztő: text/plain -> GVim

Levélfigyelő: jobb klikk/Tulajdonságok/Hozzáadás/Helyi mbox tároló, kovaax, /var/mail/kovaax
Futtatás kattintásra: /usr/local/bin/melcsekk
Ez akkor is működik, ha még nem jelez e-mailt!

REBOOT

Rendszer log ellenőrzése, hogy minden rendben van-e (root-ként)
journalctl -b

Ha igen, akkor mindenki boldog! :R

Hozzászólások

(#1) jimmy399


jimmy399
senior tag

Sosem értettem, hogy miért kell "kímélni" az SSD-t. Azért van, hogy használja az ember, és a vele szerezhető gyorsaságot. Nekem a 240 GB-es kingstone ssd-n van az Arch és a win8.1, nincs is a gépben hdd.

--- N/A ---

(#2) VIPowER válasza jimmy399 (#1) üzenetére


VIPowER
senior tag

Én sem értem. KB 4 éve van meg az SSD-m ráadásul nevesincs fajta. XP van rajta a kezdetek óta, mégis 80/100-as a HD sentinel szerint, Win 7 alól 100/100.

(#3) kovaax válasza VIPowER (#2) üzenetére


kovaax
őstag

Valami miatt csak kell aggódni, nem? ;)

-=- There's no place like /home -=-

(#4) jimmy399 válasza kovaax (#3) üzenetére


jimmy399
senior tag

besül a cpu a nagy adatsebesség miatt az i/o alrendszer felől :D

--- N/A ---

(#5) VIPowER válasza kovaax (#3) üzenetére


VIPowER
senior tag

Sok minden miatt aggódom, de a szoftver nem tartozik ebbe a témakörbe.

(#6) mbalint987


mbalint987
aktív tag

Köszönöm, hasznos írás! :R

„Így száll hát sírba a szabadság... tapsvihar közepette.” /Star Wars Episode III/

(#7) BoB válasza jimmy399 (#1) üzenetére


BoB
veterán

Azt birom amikor átpakolnak mindent HDD-re nehogy baja legyen az SSD-nek. Csak akkor meg a sebesség oda, minek vett SSD-t? :U :C

You may corrupt the souls of men, but I am steel. I am doom.

(#8) kovaax válasza BoB (#7) üzenetére


kovaax
őstag

Ide raktam be pár mérést.

-=- There's no place like /home -=-

(#9) ubyegon2


ubyegon2
nagyúr

Jó kis használható telepítési leírás lett! Akár kezdőknek is javallható, gratula hozzá!

Azoknak is gratulálok, akik az SSD beállításokról mondtak véleményt, nagyszerű! Nem ez az írás témája, de nem is az SSD kíméléséről van szó, hanem annak optimalizálásáról. Persze pár változtatást én is javasolnék, de mindenki úgy használja, ahogy neki tetszik. A legrosszabb, amikor nem értünk hozzá, de belekötünk a másik módszereibe. 4 évvel ezelőtt XP-t használni SSD-n, ami nem is tud TRIM-melni? jajjjjjj...

Pár javaslatom lenne:

-a scheduler szerintem általánosan lehetne deadline a HDD is szereti, a noop az, amit nem szeret, ha már variáljuk, akkor érdemes az SSD-t noop-ra tenni, a többi meg marad deadline-on

-max. a /home-ot érdemes HDD-re rakni, a /var jobb lenne az SSD-n a /tmp-t meg cache-be kéne rakni tmpfs-sel és a /var egyes részeire is ez vonatkozik

ezeket lehet cache-elni, itt még a home is cache-elve van, az most nem ugrik be, miért és a noatime opció is bennük van, ennek nincs gyakorlati jelentősége itt:

#tmpfs to .cache
#tmpfs /home/ubyegon/.cache tmpfs noatime,nodev,nosuid,size=800M 0 0

# Modification for SSD
#tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
#tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
#tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

Ha akarjuk olvasni valamiért a logokat, akkor ott kell hagyni a komment karaktert.

(#10) kovaax válasza ubyegon2 (#9) üzenetére


kovaax
őstag

Köszi!

Az io scheduler-t a Debian wikiből szedtem, utánaolvastam kicsit máshol is, igazad van, átvariáltam magamnak szépen. :R

-=- There's no place like /home -=-

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.