№ 11138 В разделе "Sysadmin"
от December 5th, 2020,
В подшивках: Linux, Thunderbird
At first, return back old software source to your repositories:
echo "deb http://security.ubuntu.com/ubuntu focal-security main"| sudo tee /etc/apt/sources.list.d/thunderbird.list sudo apt update
Now check available versions:
$ apt-cache policy thunderbird thunderbird: Installed: 1:68.10.0+build1-0ubuntu0.20.04.1 Candidate: 1:78.5.0+build3-0ubuntu0.20.10.1 Version table: 1:78.5.0+build3-0ubuntu0.20.10.1 500 500 http://ru.archive.ubuntu.com/ubuntu groovy-updates/main amd64 Packages 500 http://security.ubuntu.com/ubuntu groovy-security/main amd64 Packages 1:78.3.2+build1-0ubuntu1 500 500 http://ru.archive.ubuntu.com/ubuntu groovy/main amd64 Packages *** 1:68.10.0+build1-0ubuntu0.20.04.1 500 500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages 100 /var/lib/dpkg/status
You see last “1:68.10.0+build1-0ubuntu0.20.04.1”, install it and keep forever.
sudo apt-get install thunderbird=1:68.10.0+build1-0ubuntu0.20.04.1 sudo apt-mark hold thunderbird
Manjaro is a rolling update distro, but you can still install old software versions with some additional tricks.
sudo pacman -S downgrade sudo DOWNGRADE_FROM_ALA=1 downgrade thunderbird
You see last version you want 68 under number 33. Type it and Enter.
In console check version and allow downgrade:
thunderbird --version Thunderbird 68.10.0 thunderbird --allow-downgrade
After this you can continue use your old profile.
№ 11131 В разделе "Sysadmin"
от November 3rd, 2020,
В подшивках: Kubernetes, Nginx
annotations: nginx.ingress.kubernetes.io/configuration-snippet: | if ($request_uri ~* \.(js|css|gif|jpe?g|png|woff|woff2|ico)) { expires 1M; add_header Cache-Control "public"; } nginx.ingress.kubernetes.io/cors-allow-headers: >- DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,X-CSRF-Token, Authorization nginx.ingress.kubernetes.io/cors-allow-methods: 'GET, PUT, POST, DELETE, PATCH, OPTIONS' nginx.ingress.kubernetes.io/cors-allow-origin: '*' nginx.ingress.kubernetes.io/enable-cors: 'true'
№ 11122 В разделе "Sysadmin"
от November 3rd, 2020,
В подшивках: Kubernetes, Linux, PHP, Redis
I ran into the problem of scaling a Laravel application today. It scales well, but this is hampered by the session management plugin that stores data in files. If you do not share sessions between Pods after scaling the browser will show error 419, page expired.
First of all, I needed to create a Redis cluster that would store the sessions. You can do it however you want, I used the redis-operator which I wrote. For best results, I added balancing via haproxy and turned off persistent storage.
$ k get po -l instance=sessions-store NAME READY STATUS RESTARTS AGE sessions-store-haproxy-59b45854f4-48sfp 2/2 Running 0 5h16m sessions-store-redis-0 1/1 Running 0 5h16m sessions-store-redis-1 1/1 Running 0 5h15m sessions-store-redis-2 1/1 Running 0 5h15m sessions-store-sentinel-586f47d744-4kgqx 1/1 Running 0 5h16m sessions-store-sentinel-586f47d744-cfwng 1/1 Running 0 5h16m sessions-store-sentinel-586f47d744-fd254 1/1 Running 0 5h16m
After that, you need to create a connection to the new Redis cluster in config/database.php
.
'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), ... 'sessions' => [ 'host' => env('SESSION_REDIS_HOST', '127.0.0.1'), 'password' => env('SESSION_REDIS_PASSWORD', null), 'port' => env('SESSION_REDIS_PORT', 6379), 'database' => 0, ], ],
Now you need to apply a patch that will allow you to take the necessary connection parameters from the ENV in config/session.php
.
'driver' => env('SESSION_DRIVER', 'file'), 'connection' => env('SESSION_CONNECTION', null),
Don’t forget about the php library for working with Redis in Dockerfile
.
RUN apt-get install php7.3-redis
Also you can add additional support to php.ini if some additional non-laravel scripts used:
RUN sed -i 's/session.save_handler = files/session.save_handler = redis/g' /etc/php/7.3/fpm/php.ini RUN sed -i 's/;session.save_path = "\/var\/lib\/php\/sessions"/session.save_path = "tcp:\/\/sessions-store-haproxy:6379"/g' /etc/php/7.3/fpm/php.ini
Now provide all the necessary environment variables to Pod and you can start deploying.
SESSION_DRIVER: redis SESSION_CONNECTION: sessions SESSION_REDIS_HOST: "sessions-store-haproxy" SESSION_REDIS_PASSWORD: "" SESSION_REDIS_PORT: 6379
Login to Laravel and check Redis
Nice.
№ 11114 В разделе "Sysadmin"
от October 6th, 2020,
В подшивках: Docker, Linux
Typically its not useful because you can directly mount directory to containers, but… who knows? May be you just want it.
For example, you have directory on your hard drive and want to move files inside docker volume:
root@boroda:/tmp/future-volume# find . . ./somedir ./somedir/config.yaml ./file1 ./test.txt ./myfile2
Just run move (or copy) command in busybox container:
docker run --rm -it \ -v my-docker-volume:/destination \ -v /tmp/future-volume:/source \ busybox \ /bin/sh -c "mv /source/* /destination/ && find /destination"
This command mounts (or create if not exists already) volume, mount directory on disk and move files from disk to volume.
After move completion you’ll see tree on moved files:
/destination /destination/somedir /destination/somedir/config.yaml /destination/file1 /destination/test.txt /destination/myfile2
That’s all, easy.
№ 11106 В разделе "Sysadmin"
от September 17th, 2020,
В подшивках: Linux
NOT COMPATIBLE WITH REDSHIFT! Turn it off completely, not just disable.
Easiest way:
sudo add-apt-repository ppa:apandada1/brightness-controller sudo apt-get update sudo apt-get install brightness-controller-simple
Not easiest way:
xrandr -q | grep " connected" xrandr --output HDMI-0 --brightness 0.5
Fortune cookie: Chastity belt: An anti-trust suit. (And an unchivalrous knight is the one that files it.)