• hostapd how to enable and use WPS to connect wireless devices like printers


    Edit your /etc/hostapd/hostapd.conf file like below and restart hostapd. #WPS stuff # Enable control interface for PBC/PIN entry ctrl_interface=/var/run/hostapd eap_server=1 wps_state=2 ap_setup_locked=1 wps_pin_requests=/var/run/hostapd.pin-req config_methods=label display push_button keypad #WPS model info stuff change to suit your needs device_name=USB2.0 WLAN manufacturer=ATHEROS model_name=WAP........
  • zfs and LUKS how to recover in Linux


    Sometimes users take their removal drives and unplug and replug them to test what happens during the failure of a disk. However, this breaks things quite badly due to the /dev/mapper in LUKS not coming back online due to it not being closed. In other words, generally with non-encrypted drives the process is smooth but when encrypted you may want to follow a strategy like this: We can see below that both disks are unavailable as they were physically remov........
  • Docker Swarm vs Kubernetes Comparison Guide


    A lot of companies are unsure which solution to choose and many may not be aware of Docker Swarm as an alternative to Kubernetes. One thing that many Sysadmins find is that Docker Swarm is simply easier, quicker to setup and maintain by far than Kubernetes.........
  • When is it time to leave your VPS/VDS Cloud Hosting Provider?


    When Is It Time to Leave Your VPS, VDS, and Dedicated Server Provider? Choosing the right hosting solution—be it Virtu........
  • How To Upgrade Debian 8,9,10 to Debian 12 Bookworm


    Step 1.) Upgrade to Debian 11 first The process to go to Debian 12 is not as smooth as 11, when trying to upgrade from Debian 10. In fact, it doesn't work directly, so you'll first need to follow this guide to update to Debian 11, reboot and come back here if successful. Step 2.) Update sources.list Update your /etc/apt/sources.list like this: deb http://........
  • How To Setup Python3 in Ubuntu Docker Image for AI Deep Learning


    The issue is that Docker images are stripped down, so many tools and even python3 is missing, so you'll have to build or update the actual image yourself. I assume you have started an image with something like this and that you have the Nvidia Toolkit installed (assuming you are using GPUs). If you're not using nvidia just remove --runtime=nvidia --gpus all. docker run -it --runtime=nvidia --gpus all ubuntu bash These works for most images li........
  • talib/_ta_lib.c:747:10: fatal error: ta-lib/ta_defs.h: No such file or directory


    If you are installing ta-lib for Python and get this error then you can normally solve it by manually getting the ta-lib source files and compiling. tar -zxvf ta-lib-0.4.0-src.tar.gz cd ta-lib;./configure;make;make install Collecting ta-lib Downloading https://files.pythonhosted.org/packages/39/6f/6acaee2eac6afb2cc6a2adcb294080577f9983fbd2726395b9047c4e13ec/TA-Lib-0.4.26.tar.gz (272kB) &nbs........
  • GlusterFS HowTo Tutorial For Distributed Storage in Docker, Kubernetes, LXC, KVM, Proxmox


    This can be used on almost anything, since Gluster is a userspace tool, based on FUSE. This means that all Gluster appears as to any application is just a directory. Applications don't need specific support for Gluster, so long as you can tell the application to use a certain directory for storage. One application can be for redundant and scaled storage, including for within Docker and Kubernetes, LXC, Proxmox, OpenStack, etc or just your image/web/video files or even da........
  • Cisco Howto Configure Console Port/Terminal/Comm Server with Async Cable Setup


    This assumes that you've already installed the relevant HWIC cards eg. Cisco Asynchronous Serial NIM These are essentially cards that you install into your router, once installed you connect an Async cable to one of the ports on the card which normally gives you 8 console cables and are normally labelled 1 through 8. You connect all of the cables to the devices you need (even non-Cisco devices) whether switches, routers or firewalls, they will usually work. The real m........
  • apcupsd how to setup and monitor APC UPS units


    It really seems limited in that it can mainly give you the things you would see on the physical unit such as load etc.. wget https://downloads.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3.14.14/apcupsd-3.14.14.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fapcupsd%2Ffiles%2Flatest%2Fdownload&ts=1598115866 tar -zxvf apcupsd-3.14.14.tar.gz cd apcupsd-3.14.14 [root@somebox apcupsd-3.14.14]# ./conf........
  • How To Get Started on Ubuntu with gpt-2 OpenAI Text Prediction


    apt install software-properties-common add-apt-repository ppa:deadsnakes/ppa apt update apt install python3-pip apt install python3.7 curl gnupg python3.7-dev git ln -s /usr/bin/python3.7 /usr/bin/python3 pip3 install numpy keras_preprocessing curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel........
  • mdadm: super0.90 cannot open /dev/sdb1: Device or resource busy mdadm: /dev/sdb1 is not suitable for this array.


    mdadm --create /dev/md0 --level 1 --raid-devices 2 /dev/sdb1 missing --metadata=0.90 mdadm: super0.90 cannot open /dev/sdb1: Device or resource busy mdadm: /dev/sdb1 is not suitable for this array. mdadm: create aborted Sometimes running "partprobe" can fix this. Other times it requires a reboot. One other manual thing that can be done is the following to fix it (if dm is using and blocking it):........
  • Convert and install to LUKS Encrypted Drive Ubuntu 18.04 19.10 Linux Mint and Debian Based Linux


    The reason for doing this is that the installer doesn't seem to work properly for LUKS and the server installer doesn't even support LUKS anymore. When you use the GUI install on Desktop for LUKS it won't boot and will just hang after you enter your password. So the only reliable way is to do it ourselves. 1.) Make a default minimal install of Ubuntu 2.) Have a secondary disk on the server or VM. 3.)........
  • python import docx error


    sudo pip3 install python-docx [sudo] password for : Downloading/unpacking python-docx Downloading python-docx-0.8.10.tar.gz (5.5MB): 5.5MB downloaded Running setup.py (path:/tmp/pip_build_root/python-docx/setup.py) egg_info for package python-docx no previously-included directories found matching 'docs/.build' warning: no previously-included files matching '.DS_Store' foun........
  • python 3 pip cannot install mysql module


    python3 testserver.com-car-scraping.py html.txt Traceback (most recent call last): File "testserver.com-car-scraping.py", line 5, in import mysql.connector ImportError: No module named 'mysql' For some reason it won't install properly even though I have the mysql client on this machine installed too. Solution: You need the mys........
  • Cisco Unified Communications Manager / CUCM IP 8.6,10,12 Install Error Solution


    Install Errors on Version 12: This error happened on QEMU emulator version 2.11.1 pve-qemu-kvm_2.11.1-5 on Proxmox/Debian but installing on QEMU.12 on Centos 6 did not produce the error. *Update it is not related to the OS or QEMU version. This happened in Centos 6 too after a second install. What really causes this even though you successfully install........
  • Cisco Unified Communications Manager 12 Install Errors on Proxmox/KVM


    The strange thing is that usually the first install or two will work on any new machine but then it suddenly won't. I had this experience on QEMU 2.13 on a different machine. There is something finicky or buggy about the CUCM installer even when choosing the same virtual hardware specs. qemu-kvm command: /usr/libexec/qemu-kvm -version QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2-2.506.el6_10.1), Copyright (c) 2003-2008 Fabrice Bellard ........
  • Cisco Switch Reset To Factory Defaults


    This works on the 2000 and 3000 series generally. *The easy way is to just hold the mode button for 10+ seconds. The full/proper way is below: 1.) Either power on the unit and hold the "mode" button or hold the "mode" button until you see the below: 00:04:08: %SYS-7-NV_BLOCK_INIT: Initalized the geometry of nvram 00:04:08: %EXPRESS_SETUP-6-CONFIG_IS_RESET: The configur........
  • LUKS Hard Drive Encryption on Linux Mint Ubuntu Debian etc how to mount encrypted hard drive


    The key thing here is to know the actual partition that is encrypted. Often in Linux Mint's installer that ends up being partition 5 or /dev/sda5 sudo cryptsetup luksOpen /dev/sda5 anynamehere You will then be prompted for your irrecoverable passphrase: Enter passphrase for /dev/sda5: If all goes well it won't say anything further. If it says ""No key available with this passphr........
  • systemd management using systemctl and journalctl to check systemd logs


    systemd is like the service manager for your Centos and other modern Linux distributions (including Debian/Mint/Ubuntu) allows you to enable services, stop them, restart them, check their status and even reboot your system. The key commands or arguments you will use with systemctl are the following: Unit Commands: list-units [PATTERN...] List loaded units &nbs........
  • HP DL385 G7 Linux BIOS Update Flash


    wget https://downloads.linux.hpe.com/repo/spp/rhel/6/x86_64/current/CP017004.scexe --2018-08-16 05:11:16-- https://downloads.linux.hpe.com/repo/spp/rhel/6/x86_64/current/CP017004.scexe Resolving downloads.linux.hpe.com (downloads.linux.hpe.com)... 15.249.152.85 Connecting to downloads.linux.hpe.com (downloads.linux.hpe.com)|15.249.152.85|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1525561 (1.5........
  • Linux Centos 7 HowTo Install Yarn


    https://yarnpkg.com/lang/en/docs/install/#centos-stable curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo If you need node.js: curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum install nodejs yarn........
  • OpenVPN cannot ping remote IP routing loop issue after connecting


    Sometimes if you have a very basic configuration OpenVPN on the client side for some reason sends all traffic to the OpenVPN server IP through the tun0 which is of course impossible and creates a block or routing loop. This is because you need to use your normal ISP/LANgateway to hit the OpenVPN server if it is remote/offsite as is usually the case. So if you are connected to the OpenVPN through say a tun0 device and your routing is set to connect to the OpenVPN&nbs........
  • Intel NUC J3455 Linux Kernel freeze slowness 4.4.98 errors


    It looks like this has something to do with APIC but I am not sure. I have similar CPUs with a different MB and BIOS that work fine on the same type of kernel. A lot of time the issue is because of the C-step setting in the BIOS. The same thing happened on the 2.6 kernel with Centos 6 but this is a homebrew 4.4 kernel soI am not sure why it is happening when even Centos 7 (3.2) kernel works OK. Solution - It comes down to the BIOS set........
  • DRBD Split-brain solution


    Uh oh [17925926.174277] block drbd0: Handshake successful: Agreed network protocol version 96 [17925926.174325] block drbd0: conn( WFConnection -> WFReportParams ) [17925926.174342] block drbd0: Starting asender thread (from drbd0_receiver [1682]) [17925926.174432] block drbd0: data-integrity-alg: [17925926.174581] block drbd0: drbd_sync_handshake: [17925926.174586] block drbd0: self 2AAE66AF9252D6DB:2815BF........
  • Centos extremely secure iptables setup


    If you want to make sure only a certain IP can access your server for any service or protocol here is a way to do it (just be sure you have access to the IP(s) mentioned or you will be locked out). iptables -F iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -s IP.IP.IP.IP -j ACCEPT iptables -A INPUT -j DROP serv........
  • Centos and obfsproxy install errors


    pip install obfsproxy /usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning You are using pip version 7.1.0, however version 8.1.1 i........
  • How to modify HTML/Themeforest Themes to work in any path statically using unix/linux's sed command


    For themes and custom CMS setups, the typical HTML theme is not ready to go at all but here are some common sed commands (search and replace that will get most of them working without breaking as you'd expect). The problem is that often the theme directory will be separate from the content and this will break the relative paths that these themes use. sed -i s/'href="'/'href="/themes/yourtheme/'/g index.html sed -i s/'src="'/'src="/themes/y........
  • How to manually mount Linux disk image partition without using losetup


    In this case we want to mount partition #2 fdisk -lu Centos-6.6-x86_64.img You must set cylinders. You can do this from the extra functions menu. Disk Centos-6.6-x86_64.img: 0 MB, 0 bytes 255 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = sectors of 1 * 512 = 512 bytes Device Boot&nbs........
  • ONVIF Linux Security Camera Setup


    First of all this seems to apply to many ONVIF devices Hard coded IP: 192.168.1.10 (yes not kidding no DHCP!) 00:12:12:9C:C2:00 To view RTSP stream use VLC, or openRTSP or other RTSP capable software: rtsp://192.168.1.10/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp user: admin password: blank http://ip/Login.htm Uses Quicktime and is a poor quality picture and slow Cannot change pass........
  • Centos/obfsproxy errors


    I never did get it working, it is too bad as obfsproxy should really be an option and integrated into the OpenVPN client and server or something similar: yum -y install python-pip python-devel No package python-pip available. #install the EPEL repo python-pip install obfsproxy python-pip install obfsproxy -bash: python-pip: command not found pip install obfsproxy &........
  • OpenVZ Install Guide Again / Quick Setup


    yum -y install wget wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ yum -y install vzkernel vzctl #enable ip_forward sed -i s/'net.ipv4.ip_forward = 0'/'net.ipv4.ip_forward = 1'/g /etc/sysctl.conf #all interfaces should not send redirects echo "net.ipv4.conf.default.send_redirects = 1" >> /etc/sysctl.conf echo "net.ipv4.co........
  • CPanel Link to all of the command line options


    CPanel says you can access 98% of the functions through CLI which experienced Unix/Linux admins prefer for simplicity and for scripting.  I've never found CPanel easy to use from the admin panel, it seems everything is hard to find and a simple task becomes a series of hunts. So for people like me here's the list: http://cpanel.net/system-administrators/command-line-scrip........
  • drbd 8.3 hard drive failure recovery example


    drbd 8.3 hard drive failure recovery drbdadm attach r0 DRBD module version: 8.3.10 userland version: 8.3.8 you should upgrade your drbd tools! 0: Failure: (119) No valid meta-data signature found. ==> Use 'drbdadm create-md res' to initialize meta-data area. ........
  • drbd won't sync 8.3.13 on OpenVZ kernel


    I used the matching 8.3.13 utilities and it didn't work but strangely the newer 8.3.16 which makes DRBD complain works just fine. GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by root@sighted, 2012-10-09 12:47:51  0: cs:SyncSource ro:Secondary/Primary ds:UpToDate/Inconsistent A r-----     ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:5236960   &am........
  • Howto Convert Xen Image to KVM


    #count=10000 makes an image of 10000MB make sure your image is at least the same as your existing dd if=/dev/zero of=yourimage.img bs=1M count=10000 # losetup -fv newimage.raw # fdisk -cu /dev/loop0 # kpartx -a /dev/loop0 # dd if= of=/dev/mapper/loop0p1 # e2fsck -f /dev/mapper/loop0p1 # resize2fs /dev/mapper/loop0p1 # a lot of guides tell you to edit /etc/fst........
  • mdadm: Cannot open /dev/sda1: Device or resource busy


    This was caused by some weird dmraid setup which kind of takes control of drives even if they're blank/unused. 1. Check the table. dmsetup table ddf1_44656c6c202020201000006010281f0b3f5195b77cf86172: 0 3905945600 linear 8:0 0 ddf1_44656c6c202020201000006010281f0b3f5195b77cf86172p3: 0 37124096 linear 253:0 284547072 ddf1_44656c6c202020201000006010281f0b3f5195b77cf86172p2: 0 283496448 linear 253:0 1050624 ddf1_44656c6c2020202010........
  • Dell Perci 6/i Firmware Upgrade Guide Tutorial


    One thing to remember is that you need MegaCli to do the flashing. You also need the correct file,I tried at least 2 different Perc 6 firmwares from Dell that kept getting rejected as corrupt by MegaCli(they were really the wrong version). I have an external PCI-E Dell 6 Perc/I butI chose images from the 'Integrated" on motherboard version as it was allI could find. They are different, and below is my first time finding success.........
  • Dell Perc 6/i cannot downgrade


    I flashed an LSI Logic firmware to it and it broke the BIOS (cannot do Ctrl+R) for booting purposes but allows other functionality to work normally. I tried downgrading to a Dell firmware for Perc 6i but it won't work, not even with MegaCli wget http://downloads.dell.com/FOLDER00416606M/1/SAS-RAID_Firmware_W83M2_LN32_6.3.1-0003_A14.BIN --2013-08-26 12:53:39-- http://downloads.dell.com/FOLDER00416606M/1/SAS-RAID_Firmware_W83M2_LN32_6.3.1-0003_A14.BIN Resolvi........
  • mdadm: /dev/sdb1 not large enough to join array solution


    mdadm --manage /dev/md1 --add /dev/sdb1 mdadm: metadata format 00.90 unknown, ignored. mdadm: metadata format 00.90 unknown, ignored. mdadm: metadata format 00.90 unknown, ignored. mdadm: /dev/sdb1 not large enough to join array md1's first primary member /dev/sda3 has 57394 cylinders while the /dev/sdb1 has 57393 (1 less cylinder) which is why it won't work. fdisk -l /dev/sda3 Disk /dev/sda3: 47........
  • Ubuntu 10 Nvidia Drivers Not Updated After Kernel Update Solution/How-To Manually Rebuild nvidia kernel modules for Ubuntu


    I dread updating the kernel and rebooting to find the Ubuntu graphics aren't working and you have to manually intervene. This is usually because Ubuntu for whatever reason didn't update the drivers you need (eg. the manually compiled Nvidia Kernel driver that MUST be recompiled for each and every kernel update unfortunately). The most common reason may be that "linux-source" hasn't been installed automatically on my system. I tried to manually reinstall the........
  • Linux Out of Memory OOM Object Killer Solution "Out of memory: kill process 1955 (sshd) score 81 or a child"


    I had a system running a 128MB live CD image with 2.8 gigs of available RAM and the OOM kernel killer went crazy when using dd for more than 8 minutes and kept killing everything. I've read that this is due to a low-memory issue and paging in the kernel and 32-bit systems with lots of RAM. I even enabled swapspace on my LiveCD and the issue happened 25 minutes into dd rather than 8 minutes, so what gives? Also no swap space was ever used! cat /proc/s........
  • MySQL Replication/Dual-Master vs Clustering


    Many people aren't aware but recently Dual-Master Replication setups have become increasingly popular. That's because you get similar features and benefits of having a full-blown cluster (difficult to setup and maintain and requires I believe 3 servers just as controllers). With a dual-master you just have a different off-set for the keys and you should be good, but of course there is the chance that at some point replication will halt because of an unexpected or unforseen error........
  • Ubuntu/Debian DRBD 8.0 Setup Guide


    I've only used it on Centos, soI thought I'd make a quick Debian guide: Install the DRBD Package apt-get install drbd8-utils Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libswfdec-0.8-0 Use 'apt-get autoremove' to remove them. The following........
  • DRBD WFConnection Problem/Solution


    This has stumped me a few times because I keep forgetting that Centos 5.5 comes with a default iptables configuration that ends up blocking DRBD traffic,I tried all the normal things and couldn't understand why I couldn't make my normal DRBD config work. So if you have WFConnection problems and have tried the normal "mailing list" fixes, check your firewall status first! Both Nodes Say the Following: version: 8.3.8 (api:88/prot........
  • jailkit for chroot ssh account security tutorial and fix for error


    This was done on Centos butI think it's easier on Debian machines, the paths that it is set to use are tailored towards Debian, so there is some fiddling that needs to be done on Centos. This is for chrooting ssh, but jailkit has other uses than just SSH jails but I won't cover them in this writeup. 1. Install jailkit yum install jailkit 2. Setup Jail Home mkdir /home/jail chown root:root /home/ja........
  • LUKS/cryptsetup Tutorial for Linux Hard Drive Partition Encryption


    This is based on Debian Linux but should apply equally to any *nix distro. Install LUKS/crypt-setup apt-get install cryptsetup Setup your LUKS Partition Of course change /dev/md2 with whatever partition you intend to use LUKS on. cryptsetup --verbose --verify-passphrase luksFormat /dev/md2 You'll be asked to verify your decryption password twice *DO NOT FORGET THIS PASSWORD AS IT IS NOT RECOVERABLE!........
  • Centos 5.5 RAID 1 boot issue


    I installed 5.5 with a 300GB RAID 1 partition (boot is also on this partition). It booted up fine the first few times until after I used a Live CD and accessed the array, and it became named /dev/md127 for some reason. Now whenI boot into CentOS I get a kernel panic and different errors, once I got "invalid superblock", even though the array is fine (it didn't happen again, probably because I was sure to dismount and stop the mdadm array properly). Here's what........
  • nginx - the ultimate load balancer


    You can find it for free at http://nginx.org/ I find nginx is simpler to setup than pound (it's not hard but I found it unintuitive and annoying), it seemed to make some basic setups overly complicated with the config file syntax. nginx on the other hand is perfectly suited in everyway, it is even simpler to setup and seems to be the most stable and most efficient any load balancer. I would go as far as to say that a good nginx setup is more relia........
  • Setup Static IP Address ONBOOT


    Setup Static IP Address ONBOOTAssuming you are using eth0 Note this will work for any version of CentOS and basically any version of Redhat Linux or Redhat based distribution. You would need to create a new file [code:1:02f8d34c30] /etc/sysconfig/network-scripts/ifcfg-eth0:0[/code:1:02f8d34c30] DEVICE=eth0:0 the ":0" at the end specifies alias 0 we could actually change this to ":99" or "........
  • InnoDB is a free installer for Windows based systems


    InnoSetup is something Ijust realized many commercial developers use for installation. Why? Because it's100% FREE, simple, and efficient to use. The maker has really done a great job and the installer basically works on all versions of Windows since 95. I'll keep this in mind the next time I code a Windows application since it's been years for me.........
  • Latest Articles

  • How high can a Xeon CPU get?
  • bash fix PATH environment variable "command not found" solution
  • Ubuntu Linux Mint Debian Redhat Youtube Cannot Play HD or 4K videos, dropped frames or high CPU usage with Nvidia or AMD Driver
  • hostapd example configuration for high speed AC on 5GHz using WPA2
  • hostapd how to enable and use WPS to connect wireless devices like printers
  • Dell Server Workstation iDRAC Dead after Firmware Update Solution R720, R320, R730
  • Cloned VM/Server/Computer in Linux won't boot and goes to initramfs busybox Solution
  • How To Add Windows 7 8 10 11 to GRUB Boot List Dual Booting
  • How to configure OpenDKIM on Linux with Postfix and setup bind zonefile
  • Debian Ubuntu 10/11/12 Linux how to get tftpd-hpa server setup tutorial
  • efibootmgr: option requires an argument -- 'd' efibootmgr version 15 grub-install.real: error: efibootmgr failed to register the boot entry: Operation not permitted.
  • Apache Error Won't start SSL Cert Issue Solution Unable to configure verify locations for client authentication SSL Library Error: 151441510 error:0906D066:PEM routines:PEM_read_bio:bad end line SSL Library Error: 185090057 error:0B084009:x509 certif
  • Linux Debian Mint Ubuntu Bridge br0 gets random IP
  • redis requirements
  • How to kill a docker swarm
  • docker swarm silly issues
  • isc-dhcp-server dhcpd how to get longer lease
  • nvidia cannot resume from sleep Comm: nvidia-sleep.sh Tainted: Linux Ubuntu Mint Debian
  • zfs and LUKS how to recover in Linux
  • [error] (28)No space left on device: Cannot create SSLMutex Apache Solution Linux CentOS Ubuntu Debian Mint