Configurar un servidor Team Fortress 2 en Arch Linux
Este tutorial explica cómo configurar un servidor Team Fortress 2 en Arch Linux. Supongo que ha iniciado sesión con una cuenta de usuario no root que tiene acceso a sudo
Arch Linux has a smaller, but still strong, following than more popular distributions. Its philosophy is quite different, with advantages and disadvantages.
Arch requires its users to be more do it yourself oriented. Arch does not have a GUI installation, but this guide will get a basic Arch installation running on your Vultr server. Arch does not configure everything for you by itself, but that lets you choose how to do it; which can be especially beneficial since there are multiple ways. Arch does not install a huge amount of packages, including a desktop environment; instead allowing you to choose what you want on your system, and leave off numerous packages that you don't use.
The Arch repositories strongly favor leaving packages as they are made by their original upstream developers. If you run into problems with a package on other distributions, upstream maintainers may often refer you to your distribution, since it often makes changes that could be responsible. That rarely happens on Arch, as changes made are usually limited to: those necessary to work with Arch, such as its file-system hierarchy; and major upstream bug fixes and security back ports that are temporarily used until the next upstream release is made that will include them. That said, some other distributions sometimes add features and bug fixes to packages that the distribution didn't bother sending upstream or that upstream developers didn't accept, and these extra patches aren't added in Arch packages, unless really necessary.
Arch operates as a "rolling release". There are no versions or release cycles for Arch as a whole. Trusted Arch package maintainers submit new upstream releases into Arch's repositories. Users periodically update all packages to the latest ones. Some users update daily, some weekly and some even less frequently. An Arch user gets the benefits of running the latest releases, instead of potentially months or years old versions on other distributions, but may also run into problems that upstream testing didn't catch before a new release was made.
Arch is considered a more advanced and technically demanding distribution than many others. Someone completely new to Linux can use Arch, but he or she must be prepared and eager to do a lot of learning. The Arch community is extremely helpful, but it is expected that a user will make a good effort searching for how to fix a problem, rather than immediately just asking others for help.
Although Arch is not a "Server Type" listed when deploying a new server on Vultr, you can easily boot an Arch ISO, and install your server yourself.
Arch releases a new ISO at the beginning of every month. If the most recent Arch ISO on Vultr is not from the current month, you can manually upload the newest one to Vultr and use that instead. When you use an Arch ISO to install to a hard drive, it gets the most recent versions of all packages from Arch's servers. The versions of packages on the Arch ISO are not what are installed to your server. So, unless there's a bug fix or feature not included on Vultr's most recent Arch ISO in its ISO Library, one that affects the installation process, you probably don't need to manually upload the newest one.
After choosing "Deploy New Server", under "Server Type", switch to the "ISO Library" tab, and select the most recent Arch Linux ISO.
To get the most recent ISO, visit https://www.archlinux.org/download/ and click on one of the HTTP direct download links. On the next page, copy the link to the ".iso
" file. Visit your Vultr ISO upload area at https://my.vultr.com/iso/. Click "Add ISO", paste in the link you just copied, and click "Upload". The page will automatically refresh showing its download progress, and after a few minutes, it will show the ISO is available. Choose "Deploy New Server", and under "Server Type", switch to the "Upload ISO" tab, and select the ISO.
After deploying your new server, click on it to bring up the "Server Information" page. (If you see a note saying your server may still be finishing installing, you can ignore this, as your server is likely booted off the ISO for you to proceed.) Click on the icon in the upper right that looks like a computer monitor, that shows "View Console" on hover.
Press ENTER on "Boot Arch Linux (x86_64)
", and in a moment you will be logged in as root. (You may need to resize the window to show the entire console.)
The ISO uses DHCP to automatically configure networking, which works properly with Vultr's setup. Verify this worked.
# ping -c 1 archlinux.org
Make sure the system clock is accurate.
# timedatectl set-ntp true
Packages on Arch's servers can be signed by newer encryption keys than are on the ISO, so update to the newest trusted keyset.
# pacman -Sy archlinux-keyring
View the block devices detected.
# lsblk
The ISO CD will likely be sr0
, and loop0
is being used to mount part of the ISO. This tutorial assumes you chose a standard Vultr server with a single hard drive, so also assumes your hard drive is vda
. This is because Vultr standard servers give a virtual hard drive using QEMU virtio_blk
for faster performance.
Partition the disk.
# fdisk /dev/vda
You need to decide now if you need a swap partition. If you're unsure, it might be useful to look ahead to the section titled "Create Swap Space".
Note: If you wanted to use a GPT instead of DOS partition table, you would need to create a 1MB BIOS boot partition for GRUB.
Press N followed by ENTER 5 times to create a single partition of maximum size. Press W followed by ENTER to write the partition table. Your system partition is /dev/vda1
.
Press N followed by ENTER 4 times. Next enter +<SIZE>
(for example: +512M
), then ENTER to create the swap partition. Press T, ENTER, then input 82
, and ENTER again to mark it as a swap partition. Press N followed by ENTER 5 times to create your system partition. Press W, then ENTER to write the partition table. Your system partition is /dev/vda2
.
Btrfs is based on copy-on-write. When changed data is written, it is not simply written to overwrite the original data as in other file-systems. Changed blocks are written elsewhere and only after a successful write will the "pointers" to these new blocks be updated. This increases fault tolerance, so if something goes wrong during a write, the original data isn't lost. It allows file-system provided snapshots. Behind the scenes, it maintains checksums on each block to automatically detect and sometimes silently correct corrupted data. Btrfs allows most file-system level modifications to be performed while it is mounted and in use, compared to most others that require they be offline. Btrfs has had some bumps while being developed, but as Arch will be running the most recent kernel, btrfs has been considered quite stable for quite some time now, with the exception of RAID levels 5 and 6 which are still being worked on.
# mkfs.btrfs --label arch <SYSTEM_PARTITION>
Ext4 doesn't have the latest file-system features, and doesn't perform the best, but has been around since 2008, and is based on ext3 which has been around since 2001. Its code base is fairly stable, so some would argue it is more stable than newer file-systems, but as others have matured over the years, this argument has become less relevant.
# mkfs.ext4 -L arch <SYSTEM_PARTITION>
XFS is designed around parallel IO, focusing on scalability. It provides better performance than ext4, and, depending on the situation, provides slightly better or slightly worse performance compared to btrfs. XFS does not use copy-on-write, and only maintains checksums on its metadata rather than the data itself.
# mkfs.xfs -L arch <SYSTEM_PARTITION>
Use the following command to mount the file-system:
# mount /dev/disk/by-label/arch /mnt
Swap space isn't strictly necessary. You are better off running with 2GB of memory and no swap space, than 1GB of memory and 1GB of swap space. Swap space is a crutch to get by with less actual memory than your system and all of its programs require. Running out of memory on Linux should be avoided, because the kernel will automatically attempt freeing up memory by killing processes.
If you want to run without swap space, you can skip the rest of this section.
If you want to run with swap space, you can use a swap partition or a swap file. A swap partition has the benefits of being untouched by a file-system, so it never gets fragmented, and never gets tied up if your file-system is having momentary problems. A swap file has the benefit of being able to easily be resized, or deleted and added when needed.
Note btrfs is only expected to support swap files in Linux 5.0+, expected some time early to mid 2019.
# mkswap /dev/vda1
# swapon /dev/vda1
# dd if=/dev/zero of=/mnt/swapfile bs=1M count=<SIZE IN MB> status=progress
# chmod 600 /mnt/swapfile
# mkswap /mnt/swapfile
# swapon /mnt/swapfile
Use this command:
# pacstrap /mnt base linux linux-firmware --noconfirm
linux-lts
, linux-mainline
or another kernel from this list for the linux package.btrfs-progs
package.This installed a minimal amount of packages that Arch assumes to be installed on every system, and leaving any of them off risks breaking things at your own risk. Note the ISO includes many more packages than are in the "base" group. The base group will only take about 1.4GB.
Note you may notice WARNING: Possibly missing firmware for module: aic94xx
and wd719x
. These may be ignored.
Automatically generate your /etc/fstab
file (automatically mounts file-systems).
# genfstab -L /mnt >> /mnt/etc/fstab
You can now change root into your new installation, which basically treats your new installation at /mnt/
as if it were at /
. While in the chroot environment, it will run programs installed on your hard drive rather than the ISO, as the ISO file-system is not visible within it.
# arch-chroot /mnt
Your system will internally keep track of time using UTC, but you can choose what time zone it should use when displaying the date and time. Determine which region to use.
# ls /usr/share/zoneinfo
Assuming you will use America
, determine which city to use.
# ls /usr/share/zoneinfo/America
Assuming you will use New_York
, choose that time zone.
# ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# hwclock --systohc
Choose a UTF-8 locale.
# sed 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' -i /etc/locale.gen
# locale-gen
# echo 'LANG=en_US.UTF-8' > /etc/locale.conf
The easiest way to configure networking on a Vultr server is through DHCP. Vultr's DHCP servers will still give you a public static IP address.
To see the networking devices detected.
# ip addr
The loopback device is labeled lo
. On Vultr servers, you will likely see the networking device as ens3
.
# cat <<EOF > /etc/systemd/network/ens3.network
> [Match]
> Name=ens3
>
> [Network]
> DHCP=ipv4
> EOF
Make DHCP automatically run at boot.
# systemctl enable systemd-networkd
Make DNS resolution automatically run at boot.
# systemctl enable systemd-resolved
Make /etc/resolv.conf
forward requests to systemd-resolved
.
# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Set the hostname for your server.
# echo '<YOUR_HOSTNAME>' > /etc/hostname
Using the hostname you chose, and the static IP address in place of <YOUR_STATIC_IP>
shown when you ran ip addr
, setup your hosts file.
$ cat <<EOF > /etc/hosts
> <YOUR_STATIC_IP> localhost
> ::1 localhost
> <YOUR_STATIC_IP> <YOUR_HOSTNAME>.localdomain <YOUR_HOSTNAME>
> EOF
Use the following command to set a password. You will be prompted to enter your new password twice.
# passwd
Install the grub package.
# pacman -S grub
Install it to the hard drive.
# grub-install --target=i386-pc /dev/vda
Note: The argument is the disk itself, NOT your system partition.
By default at boot, grub will wait for 5 seconds before choosing the default option. To disable this wait, use the following.
# sed 's/^GRUB_TIMEOUT=5$/GRUB_TIMEOUT=0/' -i /etc/default/grub
Note: If you still want access to the grub boot menu, you might want to set this to 1 second instead of 0.
By default, grub gives the kernel the quiet
option which systemd
also follows. Use the following to show startup and shutdown messages.
# sed 's/^GRUB_CMDLINE_LINUX_DEFAULT="quiet"$/GRUB_CMDLINE_LINUX_DEFAULT=""/' -i /etc/default/grub
Create the grub configuration.
# grub-mkconfig -o /boot/grub/grub.cfg
Exit the chroot environment.
# exit
Power off your server.
# systemctl poweroff
Go back into Vultr's "Server Information" page for your server. On the "Settings" tab, click on "Custom ISO", then "Remove ISO". Click on the "Server Restart" icon, then "View Console".
Login as root, with the password you chose earlier.
Install sudo
.
# pacman -S sudo
Allow members in group wheel
to use sudo
.
# cp /etc/sudoers /etc/sudoers.new
# sed 's/# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' -i /etc/sudoers.new
# visudo -c -f /etc/sudoers.new && mv /etc/sudoers.new /etc/sudoers
Create a user account.
# useradd --create-home --groups wheel <USERNAME>
Set the user's password.
# passwd <USERNAME>
Log out as root.
# exit
Log in as the newly created user.
The commands below are still required to be run as root, so are still prefixed by #
. The recommended way to run commands as root is to, as a regular user, prefix each of them with sudo
. When you run sudo
, the password it asks you for is your user password, not the root password.
For a lightweight time synchronization client with rough accuracy use the following.
# systemctl enable --now systemd-timesyncd
If you would prefer better accuracy.
# pacman -S ntp
# systemctl enable --now ntpd
Install a SSH server, so you can use SSH to connect to your Arch system instead of using Vultr's virtual console.
# pacman -S openssh
# sed 's/#Port 22/Port 22/' -i /etc/ssh/sshd_config
# systemctl enable --now sshd
At this point, you can close the virtual console, and connect with SSH. Note, by default sshd will not allow you to login as root.
Because Arch is a "rolling release", you can upgrade all packages you have installed whenever you'd like. Users may upgrade on their own schedule, daily, weekly and so on. If you upgrade often, not many packages will need to be upgraded at once, and any potential problems you may run into will be easier to pinpoint. It is important to upgrade all packages at once, as the following command will do. It's easy to imagine why upgrading something like "glibc" alone, without the programs that use it, would cause problems.
# pacman -Syu
After upgrading, it is important to look through the output for messages given to you. It may tell you there are things you need to do. For this reason, do NOT setup automatic upgrading.
Note any already running programs before an upgrade won't be the newer version until they're restarted. In that case, when something really foundational that can't just be restarted, like the linux kernel, glibc or systemd is updated, it is a good idea to reboot.
To show successful startup and shutdown messages, you need to have removed the quiet
kernel parameter above from your grub configuration. (If you didn't do so, you still can now with also re-creating the grub configuration.) Note these messages will only show through Vultr's virtual console, not on ssh sessions. Part way through the boot process, the system will switch into a KMS (kernel mode setting graphics mode), which will lose messages before then. You can change the switch into KMS to happen earlier, to retain all messages.
# sed 's/^MODULES=()$/MODULES=(cirrus)/' -i /etc/mkinitcpio.conf
# mkinitcpio -p linux
By default, after the system boots and a tty initializes, it clears the screen. Although that's aesthetically pleasing, it prevents you from simply looking at the messages during boot. You can turn off this behavior.
# mkdir /etc/systemd/system/[email protected]
Redirecting the output sudo cat
will not use root permissions, so this is a way around that. (You do not need to prefix the cat
command itself with sudo, so it is prefixed by $
)
$ cat <<EOF | sudo tee /etc/systemd/system/[email protected]/noclear.conf
> [Service]
> TTYVTDisallocate=no
> EOF
Este tutorial explica cómo configurar un servidor Team Fortress 2 en Arch Linux. Supongo que ha iniciado sesión con una cuenta de usuario no root que tiene acceso a sudo
Este tutorial explica cómo configurar un servidor Mumble (Murmur) en Arch Linux. Todo lo que se hace en este tutorial se hace como usuario root. Instalación un
Prerequisites A Vultr server running up to date Arch Linux (see this article.) Sudo access: Commands required to be ran as root are prefixed by #, and one
En Arch Linux, los repositorios oficiales son: core, extra y community. Estos paquetes ya están compilados y se instalan a través de pacman. Para th
Prerequisites A Vultr server running up to date Arch Linux (see this article.) Sudo access. Commands required to be ran as root are prefixed by #. Th
Este tutorial explica cómo configurar un servidor Counter-Strike: Global Offensive en Arch Linux. Este tutorial asume que ha iniciado sesión con un uso estándar
Prerequisites A Vultr server running up to date Arch Linux. See this guide for more information. Sudo access. Commands required to be run as root ar
Vultr le proporciona la increíble funcionalidad de permitirle usar su propia imagen personalizada además de sus excelentes plantillas, lo que le permite ejecutar
Prefacio Arch Linux es una distribución de propósito general conocida por su tecnología de punta y configuración flexible. Con las instantáneas de Btrfs, podemos tomar
Prerequisites A Vultr server running up to date Arch Linux (see this article) Sudo access: Commands required to be ran as root are prefixed by #, and one
Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access. Commands require
Prerequisites A Vultr server running up to date Arch Linux (see this article.) Sudo access. Commands required to be ran as root are prefixed by #, and one
Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access Commands required t
Este tutorial explica cómo configurar un servidor de Minecraft usando Spigot en Arch Linux. Este tutorial asume que usted es un usuario normal (no root) y tiene
Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access: Commands require
El paquete Devtools se creó originalmente para usuarios de confianza para crear correctamente paquetes para los repositorios oficiales. Sin embargo, puede ser utilizado por usuarios comunes
Si usa makepkg directamente, contamina un poco su sistema. El grupo de paquetes base-devel debe estar instalado. De esta manera, por defecto, las dependencias se necesitan solo
Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access: Commands require
Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición
ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.
Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+
Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.
Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información
13 Herramientas comerciales de extracción de datos de Big Data
Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.
A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.
Una mirada a 26 técnicas analíticas de Big Data: Parte 1
La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.