Imagine, you’re in a large company and buying (or more likely, leasing) several thousands laptops each year. This is corporate world, you need to minimize expense, downtime and failing that, someone to blame.
You need to have a supplier with sales, 24/7 support and logistics in your country. Who has stock available at all times is able to replace any broken piece of equipment in less than a business day. Even if you keep a small inventory at hand, this inventory needs to be replaced quickly.
Trust me, corpos never buy from small vendors. They always go to the big brands.
Firstly, check the logs directly to get a more concise error that we can analyse. journalctl is the standard systemd logging client you can use in the terminal. By specifying the unit (units can be socket files, timers, services) you can get logs specifically for said unit.
You can utelize flags such as -e to scroll to the end of a journal, -f to follow a journal in realtime and utelize the -p flag to set priorities like error, crit, warning (-o error) and others to filter away common journal entries so you don’t have to scroll through every line in the log.
Secondly, and this is gonna sound weird, but reboot into windows twice. The first time you boot windows run diskchk on the partition(s) in terminal/powershell/command as administrator. If it tells you it needs to do an offline scan, reboot and you’ll see an offline diskchk screen on boot before login. If not, reboot again into windows anyways, and then reboot into Linux.
The reason is that NTFS has a weird failsafe flag that NTFS on Linux considers a no-go, and it’s usually set if the system crashes more than twice, but not always. If Linux NTFS drivers see the flag, it won’t mount as a precaution. The only way to reset the flag is to reboot in windows twice. Not once, not three times, but twice.
This might be outdated info, but that was the fact some years ago. There might be a way to fix it with modern day Linux, but I don’t know, especially when I have no direct and informative errors to go by.
I bought a used Thinkpad Yoga 370, with a 7th gen i5, 8gb ram (single slot sodimm, which is a real pity) which I later upgraded to 16gb. Also the pen slots right into the frame of the laptop for storage and recharging, so you don’t need to carry it around separately, though it may be a bit small for some people. I personally find myself comfortable with it.
I went right to arch (btw), as I was on both on my old laptop and my desktop, the archwiki has a page dedicated to this laptop, listing which features work and which don’t. If you mess around with the fingerprint sensor and python-validity package you can get it to work, but I don’t use it anyway. The rest works out of the box, though I have never tried the modem (my version lacks antennas and the module) and the express card reader.
I use xournal++ to take notes in uni. I tend to make a huge journal for each course (easily 150+ pages at the end of the semester), so make sure to disable autosaves as sometimes they hang up the whole program while trying to save.
At first I was using gnome on wayland, which has pretty good palm rejection, autorotation and sensor/webcam remapping and works great out of the box in general. Later moved to i3 on xorg as somehow a tiling window manager made more sense to me on a touchscreen device (android is kind of a tiling window manager if you think about it). Currently on i3, using touchegg to use custom gestures for the WM and specific programs. I am currently wondering whether to move to hyprland as I noticed slightly worse palm rejection on i3/xorg when compared to gnome/wayland (still very usable though), but I still want a tiling window manager and customizable touch gestures, which Hyprland should have a plugin for.
I general I find this laptop great, the x1 yoga should be good too, but I have never tried it on linux.
I have to recommend Linux Mint. I’ve been using Linux Mint (Cinnamon) for over seven years now as my only operating system (and no dual booting) without any major issues or any desire to “distro hop.” Cinnamon has also gotten a lot more stable during that time too. I have almost no crashes anymore.
Am I understanding correctly that you are building the image by copying in key elements from the host machine’s functioning nginx installation?
This is creative but not common approach to docker.
Normally software is installed following the officially documented procedure (imagine installing using apt or a shell script via RUN). Sometimes software documentation has specific recommendations to follow for containerized installs.
It’s common to have the version defined as a variable where a change in value invalidates the docker layer cache. To me it’s unclear how caching would work with your dockerfile, for example, in the event of a upgrade. You could also see how a breaking change (such as one in the paths you are copying) could run into issues with your hardcoded approach.
In the case of software like nginx, I would use the official image, mount config/cert files instead of copying, and extend in my own dockerfile if needed.
Not from the host machine, but from the official nginx image ( nginx:mainline-alpine3.18-slim ). And what it (basically) does is separate the essential commands/files inside a scratch image and gives every command a custom username tag.
A bit late but you might want to have a look at docker multi-stage build documentation which does exactly what you did (start from a base image then copying stuff from it to your own image), something like that:
Which will simplify building new images against newer “build” image newer tags easier.
btw, you were quite creative on this one! You also might want to have a look at the distroless image, the goal being to only have the bare minimum to run your application in the image: your executable and its runtime dependencies.
You’re welcome! scratch and distroless are indeed basically the same thing, scratch being the ‘official’ docker minimal image while distroless is from google - as I’m more a Kubernetes user (at home and at work) than a Docker user, I tend to think about distroless first :) - my apologies if my comment was a bit confusing on this matter.
By the way, have fun experimenting with docker (or podman), it’s interesting, widely used both in selfhosting and professional environments, and it’s a great learning experience - and a good way to pass time during these long winter evenings :)
I started with Slackware around 1997 because I needed a free C compiler plus all I had were junk, hand-me-down computers. Stopped programming & using linux around 2000 and had switched back to Windows on a newly built, decent computer. From about 2000 until about 2016 I rarely used linux besides a couple routers. Raspberry pi 3 came out with built-in wifi & my dislike of Windows 10 got me back into linux for more use cases. Valve’s work on proton finally made it so I could switch to linux for most gaming & my Windows usage dropped to almost nothing. Currently using Manjaro on primary desktop and Fedora 38 on tablet with mix of distros in LXC & VMs on mini-PC w/ Proxmox VE & Synology NAS. SteamVR on linux been getting decent amount of work on it lately so once it gets stable I’ll have one less reason to need Windows.
I can’t wait for the hardware Android continuity… that’s the only thing I’m waiting on now to switch to Android besides the raw performance being equal.
linux
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.