-
7 votes
-
'It's dead, Jim': Torvalds marks Intel Itanium processors as orphaned in Linux kernel
12 votes -
KeenWrite: Dark themes
4 votes -
Overthewire: Learn Hacking By Playing Games
9 votes -
What is the difference between Linux distros? Why do you use the one you use?
I still mainly use Windows, although I've dual-booted Linux a few times and I have Linux Mint on an old laptop right now. One thing I've never understood about Linux is all the different...
I still mainly use Windows, although I've dual-booted Linux a few times and I have Linux Mint on an old laptop right now. One thing I've never understood about Linux is all the different distributions - their different reputations and why they have them. What is the mechanical difference between using one distribution of Linux and another? Or are the differences usually not mechanical?
For example, Ubuntu and Debian seem to be large families, meaning that a lot of other distributions are based on them (using packages built for them in their package managers at least) as well as being popular distros on their own. But what's different between the two of them, and between each and the other distros based on them? (and what's similar? I gather they all use the Linux kernel at least!)
I also know that people are quite opinionated on their choice of distro, I wondered what reasons people had for their choice. What things are easier or harder for you in your distro of choice? Is it mainly day-to-day tasks that are important or more how the OS works underneath? How much difference does your preferred distro make?
For myself, I've only used Kubuntu (though not much) and Linux Mint, which was mainly for UI reasons, and particularly for the latter, ease of use for someone used to Windows (at least that was what I found years ago when I first looked into it).
Though I doubt I'll ever fully move away from Windows I would like / need to have access to a Linux OS, so maybe this will help me to know what is important to look for. But I also hope it'll be a useful and interesting discussion topic. Also, there are some previous discussions on the latter question so I'd be more interested in learning about the main topic.
also, please do add more tags
29 votes -
Linux 5.10 includes a new, lighter-weight journaling method that is expected to significantly improve the performance of the ext4 filesystem
9 votes -
Does reformatting an ext4 partition fix bad sectors, and what are they anyway?
My Linux desktop is having a bit of difficulty with bad sectors. Lately I've had to boot into recovery and run an fsck a few times to try to fix a problem where the OS drops into read-only mode at...
My Linux desktop is having a bit of difficulty with bad sectors. Lately I've had to boot into recovery and run an fsck a few times to try to fix a problem where the OS drops into read-only mode at the drop of a hat. Today I tried copying some files from one directory to another and got the following error message:
cp: error reading "foo/bar": Input/output error
I've just booted into a live USB and run
fsck /dev/sda1 -c
and it fixed a load of bad sectors, but the above error message is still happening.A bit of googling tells me that this is down to bad sectors on the SSD, and I'm not really sure what that means. Is anybody able to enlighten me? And as a follow-up question, would reformatting the hard drive resolve the problem, or are there any other things I can try to fix it?
9 votes -
Anyone using a lightweight browser with Linux?
I've got a crappy Chromebook running GalliumOS (Xubuntu) and Chromium is slow as molasses. I tried a few other browsers like Otter and Falkon. They're alright for most sites -- not Tildes, but...
I've got a crappy Chromebook running GalliumOS (Xubuntu) and Chromium is slow as molasses. I tried a few other browsers like Otter and Falkon. They're alright for most sites -- not Tildes, but this seems consistent with QT5 browsers.
Anyway, outside of text browsers, anybody have any light weight browser suggestions?
14 votes -
Mount physical linux drives in wsl
4 votes -
NixOS Configuration for a VPS
Since I took so long to reply to Tips to use NixOS on a server? by @simao, I decided to create a new topic to share my configs. Hopefully this is informative for anyone looking to do similar...
Since I took so long to reply to Tips to use NixOS on a server? by @simao, I decided to create a new topic to share my configs. Hopefully this is informative for anyone looking to do similar things - I'll also gladly take critiques, since my setup is probably not perfect.
First, I will share the output of 'lsblk' on my VPS:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 180G 0 disk ├─vda1 253:1 0 512M 0 part /boot └─vda2 253:2 0 179.5G 0 part └─crypt 254:0 0 179.5G 0 crypt
That is, I use an unencrypted
/boot
partition,vda1
, with GRUB 2 to prompt for a passphrase during boot, to unlock the LUKS encryptedvda2
. I prefer to use ZFS as my file system for the encrypted drive, and LUKS rather than ZFS encryption. This is an MBR drive, since that's what my VPS provider uses, though UEFI would look the same. The particular way I do this also requires access through the provider's tools, and not ssh or similar. Thehardware-configuration.nix
file reflects this:Click to view the hardware configuration file
# Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. { config, lib, pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; boot.initrd.availableKernelModules = [ "aes_x86_64" "ata_piix" "cryptd" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ ]; boot.extraModulePackages = [ ]; fileSystems."/" = { device = "rpool/root/nixos"; fsType = "zfs"; }; fileSystems."/home" = { device = "rpool/home"; fsType = "zfs"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/294de4f1-72e2-4377-b565-b3d4eaaa37b6"; fsType = "ext4"; }; swapDevices = [ ]; }
Click to view the configuration file
# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { config, lib, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; # Hardware stuff # add the following to hardware-configuration.nix - speeds up encryption #boot.initrd.availableKernelModules ++ [ "aes_x86_64" "cryptd" ]; boot.initrd.luks.devices.crypt = { # Change this if moving to another machine! device = "/dev/disk/by-uuid/86090289-1c1f-4935-abce-a1aeee1b6125"; }; boot.kernelParams = [ "zfs.zfs_arc_max=536870912" ]; # sets zfs arc cache max target in bytes boot.supportedFilesystems = [ "zfs" ]; nix.maxJobs = lib.mkDefault 6; # number of cpu cores # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.version = 2; # boot.loader.grub.efiSupport = true; # boot.loader.grub.efiInstallAsRemovable = true; # boot.loader.efi.efiSysMountPoint = "/boot/efi"; # Define on which hard drive you want to install Grub. boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only boot.loader.grub.enableCryptodisk = true; boot.loader.grub.zfsSupport = true; networking.hostName = "m"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # The global useDHCP flag is deprecated, therefore explicitly set to false here. # Per-interface useDHCP will be mandatory in the future, so this generated config # replicates the default behaviour. networking.useDHCP = false; networking.interfaces.ens3.useDHCP = true; networking.hostId = "aoeu"; # set this to the first eight characters of /etc/machine-id for zfs networking.nat = { enable = true; externalInterface = "ens3"; # this may not be the interface name internalInterfaces = [ "wg0" ]; }; networking.firewall = { enable = true; allowedTCPPorts = [ 53 25565 ]; # open 53 for DNS and 25565 for Minecraft allowedUDPPorts = [ 53 51820 ]; # open 53 for DNS and 51820 for Wireguard - change the Wireguard port }; networking.wg-quick.interfaces = { wg0 = { address = [ "10.0.0.1/24" "fdc9:281f:04d7:9ee9::1/64" ]; listenPort = 51820; privateKeyFile = "/root/wireguard-keys/privatekey"; # fill this file with the server's private key and make it so only root has read/write access postUp = '' ${pkgs.iptables}/bin/iptables -A FORWARD -i wg0 -j ACCEPT ${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o ens3 -j MASQUERADE ${pkgs.iptables}/bin/ip6tables -A FORWARD -i wg0 -j ACCEPT ${pkgs.iptables}/bin/ip6tables -t nat -A POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o ens3 -j MASQUERADE ''; preDown = '' ${pkgs.iptables}/bin/iptables -D FORWARD -i wg0 -j ACCEPT ${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.0.0.1/24 -o ens3 -j MASQUERADE ${pkgs.iptables}/bin/ip6tables -D FORWARD -i wg0 -j ACCEPT ${pkgs.iptables}/bin/ip6tables -t nat -D POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o ens3 -j MASQUERADE ''; peers = [ { # peer0 publicKey = "{client public key}"; # replace this with the client's public key presharedKeyFile = "/root/wireguard-keys/preshared_from_peer0_key"; # fill this file with the preshared key and make it so only root has read/write access allowedIPs = [ "10.0.0.2/32" "fdc9:281f:04d7:9ee9::2/128" ]; } ]; }; }; # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; nixpkgs.config = { allowUnfree = true; # don't set this if you want to ensure only free software }; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "us"; }; # Set your time zone. time.timeZone = "America/New_York"; # set this to the same timezone your server is located in # List packages installed in system profile. To search, run: # $ nix search wget environment = { systemPackages = with pkgs; let nvimcust = neovim.override { # lazy minimal neovim config viAlias = true; vimAlias = true; withPython = true; configure = { packages.myPlugins = with pkgs.vimPlugins; { start = [ deoplete-nvim ]; opt = []; }; customRC = '' if filereadable($HOME . "/.config/nvim/init.vim") source ~/.config/nvim/init.vim endif set number set expandtab filetype plugin on syntax on let g:deoplete#enable_at_startup = 1 ''; }; }; in [ jdk8 nvimcust p7zip wget wireguard ]; }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; # programs.gnupg.agent = { # enable = true; # enableSSHSupport = true; # pinentryFlavor = "gnome3"; # }; # List services that you want to enable: # Enable the OpenSSH daemon. services = { dnsmasq = { enable = true; # this allows DNS requests from wg0 to be forwarded to the DNS server on this machine extraConfig = '' interface=wg0 ''; }; fail2ban = { enable = true; }; openssh = { enable = true; permitRootLogin = "no"; }; zfs = { autoScrub = { enable = true; interval = "monthly"; }; }; }; # Set sudo to request root password for all users # this should be changed for a multi-user server security.sudo.extraConfig = '' Defaults rootpw ''; # Define a user account. Don't forget to set a password with ‘passwd’. users.users = { vpsadmin = { # admin account that has a password isNormalUser = true; home = "/home/vpsadmin"; extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. shell = pkgs.zsh; }; mcserver = { # passwordless user to run a service - in this instance minecraft isNormalUser = true; home = "/home/mcserver"; extraGroups = []; shell = pkgs.zsh; }; }; systemd = { services = { mcserverrun = { # this service runs a systemd sandboxed modded minecraft server as user mcserver enable = true; description = "Start and keep minecraft server running"; wants = [ "network.target" ]; after = [ "network.target" ]; serviceConfig = { User = "mcserver"; NoNewPrivileges = true; PrivateTmp = true; ProtectSystem = "strict"; PrivateDevices = true; ReadWritePaths = "/home/mcserver/Eternal_current"; WorkingDirectory = "/home/mcserver/Eternal_current"; ExecStart = "${pkgs.jdk8}/bin/java -Xms11520M -Xmx11520M -server -XX:+AggressiveOpts -XX:ParallelGCThreads=3 -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions -XX:+UseParNewGC -XX:+ExplicitGCInvokesConcurrent -XX:MaxGCPauseMillis=10 -XX:GCPauseIntervalMillis=50 -XX:+UseFastAccessorMethods -XX:+OptimizeStringConcat -XX:NewSize=84m -XX:+UseAdaptiveGCBoundary -XX:NewRatio=3 -jar forge-1.12.2-14.23.5.2847-universal.jar nogui"; Restart = "always"; RestartSec = 12; }; wantedBy = [ "multi-user.target" ]; }; mcserverscheduledrestart = { # this service restarts the minecraft server on a schedule enable = true; description = "restart mcserverrun service"; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.systemd}/bin/systemctl try-restart mcserverrun.service"; }; }; }; timers = { mcserverscheduledrestart = { # this timer triggers the service of the same name enable = true; description = "restart mcserverrun service daily"; timerConfig = { OnCalendar = "*-*-* 6:00:00"; }; wantedBy = [ "timers.target" ]; }; }; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "20.09"; # Did you read the comment? }
Edit: Also, the provider I use is ExtraVM, who has been excellent.
6 votes -
Tips to use NixOS on a server?
I see some people using NixOs on their servers. I would like to try it out to self host some services and learn about NixOs. I use hetzner and they have an NixOs iso available so I can just use...
I see some people using NixOs on their servers. I would like to try it out to self host some services and learn about NixOs.
I use hetzner and they have an NixOs iso available so I can just use that to install NixOs. But how do people manage remote instances of NixOs? They would just use ansible or something like it, to run nix on the host, or is there a better way?
Thanks
11 votes -
On the graying of GNOME
14 votes -
XFS, stable Linux kernels, and -rc releases
4 votes -
Static calls in Linux 5.10 for improved post-Spectre performance
5 votes -
First beta of Krita 4.4.2
6 votes -
Linux Syscall User Dispatch close to mainline for better handling of Windows games
5 votes -
Control Chromecasts from Linux
10 votes -
Swift System is now open-source
7 votes -
KeenWrite: A text editor
12 votes -
rc.d belongs in libexec, not etc
5 votes -
Change in manjaro team composition
8 votes -
Linux Mint 20 Blocks And Removes Snap Citing Backdoor To Canonicals SnapCraft Store
7 votes -
Sandboxing in Linux with zero lines of code
7 votes -
Are there any good tools for "one-off" file encryption?
Sorry if this is a silly question, but I keep running into situations where a small CLI or GUI tool that could be handed a single file and hand me back an encrypted version would be useful. I've...
Sorry if this is a silly question, but I keep running into situations where a small CLI or GUI tool that could be handed a single file and hand me back an encrypted version would be useful. I've done some googling, but all I typically turn up is blogspam about random Windows-only tools that seem to be of dubious quality.
Anyone know of a good tool for this type of thing?
9 votes -
A Google Cloud support engineer solves a tough DNS case
7 votes -
systemd, 10 years later: a historical and technical retrospective
12 votes -
The bashtop resource monitor is a work of art
12 votes -
Typesetting Markdown - Part 8
5 votes -
Freedombone - software for an internet of people
8 votes -
Help Packaging Elmer FEM for Nix
I'm trying to package Elmer for use with NixOS, and could use some help from any experienced Nix users. My current attempt is located here. There is some junk left around in that file from my...
I'm trying to package Elmer for use with NixOS, and could use some help from any experienced Nix users. My current attempt is located here. There is some junk left around in that file from my experimenting, but it's at least a start. There are also a few lines of error included in the comment here.
Any help is appreciated!
6 votes -
Technical reasons to choose FreeBSD over GNU/Linux
4 votes -
Converting Project Gutenberg Projects to Markdown
12 votes -
RedHat making some free courses
6 votes -
Speeding up Linux disk encryption
8 votes -
The growth of command line options, 1979 - present
8 votes -
Linux is a subpar choice for professional video editing
I don't wanna get into a heated discussion, so let me make something very clear: for a regular user, video editing on Linux is probably fine. That is just not my use case. I'm used to a degree of...
I don't wanna get into a heated discussion, so let me make something very clear: for a regular user, video editing on Linux is probably fine.
That is just not my use case.
I'm used to a degree of freedom, choice, and stability that, right now, Linux does not provide in that area.
I'm a film major who has worked as a professional video editor for many years and editing video on anything that is not nearly as good, reliable and precise as Adobe Premiere feels like torture.
But even being very flexible regarding features and requirements, after trying all the regular suggestions, as professional tools, and with all the respect I can muster, they are just unusable for me.
I need a reliable program in which I can throw any format without worrying about constant crashes, but Linux options are all either extremely limited, unstable or both! Before anyone asks: I tried multiple programs, in different versions and installation methods, on entirely different hardware and unaffiliated distributions.
Kdenlive resembles professional-grade software but constantly crashes at the simplest operations. DaVinci Resolve seems like a good bet but is a nightmare just to install and equally crashy when/if I'm able to do so (last time I had to manually edit the install script following the instructions of some random forum post. This did not cause a good impression. And audio didn't work), and I'm not willing to use something so finicky if Linux doesn't get primary support.
Besides, Blackmagic Design only provides a few pieces of the puzzle. Professional video editing requires a whole stack of integrated software. Both Windows and Mac OS have this, Linux has not.
There's also the issue of GPU acceleration.
I'm not saying FOSS developers owe me anything, nor that they have done a bad job with programs like OpenShot, Pitivi, Blender, whatever. I'm just saying that, regrettably, I'll probably have
to installput Windows on dual-boot on my machine in the next few days.16 votes -
Debian discusses how to handle the year 2038 problem
13 votes -
Security things in Linux v5.4
4 votes -
Linux 5.6 is the most exciting kernel in years
24 votes -
Accelerating netfilter with hardware offload, part 2
2 votes -
WireGuard has been merged into Linux 5.6
27 votes -
Terry A Davis: Questions to God
Hey everyone, just watching a very interesting history of Terry A Davis (creator of TempleOS) and around the 30 minute mark there is a list of questions Terry asked to God and the answers he...
Hey everyone, just watching a very interesting history of Terry A Davis (creator of TempleOS) and around the 30 minute mark there is a list of questions Terry asked to God and the answers he believed he received. I took a look online but was unable to find anything. I don't suppose anyone out there has a link? I'd be very interested to read it. Thanks in advance.
EDIT: I'm also interested in any links to the art he created (hymns, visual art etc).
10 votes -
Accelerating netfilter with hardware offload, part 1
5 votes -
Dedoimedo's best Linux distribution of 2019
15 votes -
ArchLabs Linux?
Anyone here use or used ArchLabs? I put out this Distro along with another dude and I'd love to hear any feedback.
15 votes -
WireGuard VPN slated for inclusion in Linux 5.6
11 votes -
NVIDIA Looks To Have Some Sort Of Open-Source Driver Announcement For 2020
12 votes -
[CVE-2019-14899] Inferring and hijacking VPN-tunneled TCP connections
7 votes -
Beware of shell globs
9 votes -
Google outlines plans for mainline Linux kernel support in Android
10 votes