Ubuntu Server搭建个人服务器

这篇具有很好参考价值的文章主要介绍了Ubuntu Server搭建个人服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ubuntu Server20.04.5 LTS

【参考资料】

Ubuntu官方地址:https://www.ubuntu.com/

Ubuntu论坛地址:https://ubuntuforums.org/

Ubuntu Wiki地址:https://wiki.ubuntu.com/

Ubuntu帮助地址:https://help.ubuntu.com/

Ubuntu邮件列表地址:https://discourse.ubuntu.com/t/mailing-lists/https://ubuntu.com/server/docs)

1.下载Ubuntu镜像

官网下载:https://releases.ubuntu.com/

国内镜像下载:

华为镜像:https://repo.huaweicloud.com/ubuntu-releases/

阿里镜像:http://old-releases.ubuntu.com/releases/

2.安装

官网安装教程:https://ubuntu.com/server/docs/install/step-by-step

博客:

http://t.csdn.cn/aDPUu

2.1 网络配置(静态IP配置)

  • 静态IP设置方法,点击ens33 然后选择ipv4、

  • 点击Manual 手动添加ip地址

    • subnet:192.168.x.xxx/24 (子网掩码)
    • address:192.168.x.xxx(静态IP地址)
    • Geteway:192.168.x.1(网关)
    • Name servers:(DNS服务器地址:)
    • search domains:
    华为云DNS    122.112.208.1	139.9.23.90
    			114.115.192.11	116.205.5.1
    			116.205.5.30	122.112.208.175
    

2.2 设置镜像源地址

国内镜像地址:

华为源:https://mirrors.huaweicloud.com/ubuntu/

阿里源 http://mirrors.aliyun.com/ubuntu/

网易163 http://mirrors.163.com/ubuntu/

2.3 磁盘分区

/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/home:用户的主目录
/srv:该目录存放一些服务启动之后需要提取的数据。
/usr:应用程序

/boot 	2G
/		其他
/bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

/selinux:
 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv:
 该目录存放一些服务启动之后需要提取的数据。

/sys:

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

该文件系统是内核设备树的一个直观反映。

当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

/usr:
 usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

/usr/bin:
系统用户使用的应用程序。

/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:
内核源代码默认的放置目录。

/var:
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

2.4 设置主机用户名与密码及服务器名称

2.5 安装 SSH服务

2.6 选择预置服务安装

mkdir /disk# 设置root密码
sudo passwd

# 添加用户
adduser -m 【用户名】
# 设置密码
passwd 【用户名】
#修改用户
usermod [参数] 【用户名】
#创建用户组
groupadd【参数】【用户组名】
#修改组
groupmod【参数】【用户组名】
# 删除用户组
groupdel 【用户组名】

#硬盘挂载
# 显示硬盘及所属分区情况
sudo fdisk -l
# 查看分区信息
df -h

sudo apt install net-tools

mkdir /disk
sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xd3891d8e.

Command (m for help): m

Help:

  DOS (MBR)
   a   toggle a bootable flag
   b   edit nested BSD disklabel
   c   toggle the dos compatibility flag

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table


Command (m for help):
# 分区 
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
# 扩展分区
Select (default p): e
Partition number (1-4, default 1): 
First sector (2048-1953525167, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525167, default 1953525167): 

Created a new partition 1 of type 'Extended' and of size 931.5 GiB.
#保存
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

#重新加载硬盘信息
partprobe

root@yuximing:/# fdisk -l
Disk /dev/loop0: 61.98 MiB, 64966656 bytes, 126888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop1: 46.98 MiB, 49242112 bytes, 96176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop2: 67.83 MiB, 71106560 bytes, 138880 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop3: 55.63 MiB, 58314752 bytes, 113896 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop4: 139.43 MiB, 146194432 bytes, 285536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 238.49 GiB, 256060514304 bytes, 500118192 sectors
Disk model: Phison SATA SSD 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6A4DC71F-0A25-485A-BFD2-20EA5848FB5B

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   2203647   2201600   1.1G EFI System
/dev/sda2  2203648   6397951   4194304     2G Linux filesystem
/dev/sda3  6397952 500115455 493717504 235.4G Linux filesystem


Disk /dev/sdb: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: ST1000LM035-1RK1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xd3891d8e

Device     Boot Start        End    Sectors   Size Id Type
/dev/sdb1        2048 1953525167 1953523120 931.5G  5 Extended

# 硬盘格式化
root@yuximing:/# sudo mkfs -t ext4 /dev/sdb
mke2fs 1.45.5 (07-Jan-2020)
Found a dos partition table in /dev/sdb
Proceed anyway? (y,N) y
Creating filesystem with 244190646 4k blocks and 61054976 inodes
Filesystem UUID: efaddfd7-3605-4cff-aa74-90afa84e6093
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848

Allocating group tables: done                            
Writing inode tables: done 
# 挂载硬盘分区 | Mount hard disk partition
# 显示硬盘挂载情况
root@yuximing:/# df -l
Filesystem     1K-blocks    Used Available Use% Mounted on
udev             3948852       0   3948852   0% /dev
tmpfs             798996    1700    797296   1% /run
/dev/sda3      241873372 6904184 222609868   4% /
tmpfs            3994964       0   3994964   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs            3994964       0   3994964   0% /sys/fs/cgroup
/dev/loop0         63488   63488         0 100% /snap/core20/1611
/dev/sda2        1992552  111124   1760188   6% /boot
/dev/sda1        1098632    6216   1092416   1% /boot/efi
/dev/loop2         69504   69504         0 100% /snap/lxd/22753
/dev/loop1         48128   48128         0 100% /snap/snapd/16292
tmpfs             798992       0    798992   0% /run/user/1000
/dev/loop3         56960   56960         0 100% /snap/core18/2721
/dev/loop4        142848  142848         0 100% /snap/docker/2746

root@yuximing:/# mount /dev/sdb /disk/disk1/
root@yuximing:/# df -l
Filesystem     1K-blocks    Used Available Use% Mounted on
udev             3948852       0   3948852   0% /dev
tmpfs             798996    1700    797296   1% /run
/dev/sda3      241873372 6904184 222609868   4% /
tmpfs            3994964       0   3994964   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs            3994964       0   3994964   0% /sys/fs/cgroup
/dev/loop0         63488   63488         0 100% /snap/core20/1611
/dev/sda2        1992552  111124   1760188   6% /boot
/dev/sda1        1098632    6216   1092416   1% /boot/efi
/dev/loop2         69504   69504         0 100% /snap/lxd/22753
/dev/loop1         48128   48128         0 100% /snap/snapd/16292
tmpfs             798992       0    798992   0% /run/user/1000
/dev/loop3         56960   56960         0 100% /snap/core18/2721
/dev/loop4        142848  142848         0 100% /snap/docker/2746
/dev/sdb       960303848      28 911449308   1% /disk/disk1

root@yuximing:/# blkid /dev/sdb 
/dev/sdb: UUID="efaddfd7-3605-4cff-aa74-90afa84e6093" TYPE="ext4"
# 配置硬盘在系统启动自动挂载
root@yuximing:/# vim /etc/fstab 
	UUID="efaddfd7-3605-4cff-aa74-90afa84e6093"  /disk/disk1 ext4 defaults 1 1
	
mount -a
# 查看分区情况
root@yuximing:/# lsblk -f
NAME   FSTYPE   LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINT
loop0  squashfs                                                  0   100% /snap/core20/1611
loop1  squashfs                                                  0   100% /snap/snapd/16292
loop2  squashfs                                                  0   100% /snap/lxd/22753
loop3  squashfs                                                  0   100% /snap/core18/2721
loop4  squashfs                                                  0   100% /snap/docker/2746
sda                                                                       
├─sda1 vfat           70C6-61A1                                 1G     1% /boot/efi
├─sda2 ext4           c26bb1bf-6abc-44bc-bb85-50cbb6caaa09    1.7G     6% /boot
└─sda3 ext4           0c2d162a-6c59-46d6-9143-2bf2e3d9979d  212.3G     3% /
sdb    ext4           efaddfd7-3605-4cff-aa74-90afa84e6093  869.2G     0% /disk/disk1

3.webmin

【官网】https://webmin.com/

https://blog.csdn.net/weixin_52802362/article/details/117112557

apt-get install webmin
# 访问github困难,下载通过xftp上传安装
wget https://github.com/webmin/webmin/releases/download/2.021/webmin_2.021_all.deb
dpkg --install webmin_2.021_all.deb
root@yuximing:/home/vector# dpkg --install webmin_2.021_all.deb 
Selecting previously unselected package webmin.
(Reading database ... 72234 files and directories currently installed.)
Preparing to unpack webmin_2.021_all.deb ...
Unpacking webmin (2.021) ...
dpkg: dependency problems prevent configuration of webmin:
 webmin depends on libnet-ssleay-perl; however:
  Package libnet-ssleay-perl is not installed.
 webmin depends on libauthen-pam-perl; however:
  Package libauthen-pam-perl is not installed.
 webmin depends on libio-pty-perl; however:
  Package libio-pty-perl is not installed.
 webmin depends on unzip; however:
  Package unzip is not installed.

dpkg: error processing package webmin (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 webmin

[依赖安装]
apt install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

apt --fix-broken install -y

dpkg --install webmin_2.021_all.deb 

root@yuximing:/home/vector# sudo ufw allow 10000/tcp
Rule added
Rule added (v6)
root@yuximing:/home/vector# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp (OpenSSH)           ALLOW IN    Anywhere                  
10000/tcp                  ALLOW IN    Anywhere                  
22/tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)             
10000/tcp (v6)             ALLOW IN    Anywhere (v6)  

Webmin默认安装到/usr/share/webmin
访问地址:ip:10000

配置:

4.ufw

https://blog.csdn.net/fd214333890/article/details/115410168

# 列举出你系统上所有的应用配置
sudo ufw app list

# 在启用 UFW 防火墙之前,你必须显式允许进来的 SSH 连接。否则,你将永远都无法连接到机器上
sudo ufw allow OpenSSH
#开启关闭ufw服务
systemctl start ufw
systemctl stop ufw
#禁用 启用ufw服务
systemctl disable ufw
systemctl enable ufw
# 开启关闭ufw
ufw enable
ufw disable

# 默认禁止
ufw default deny
# 默认允许
ufw default allow

# 状态
ufw status verbose

# 开端口
ufw allow port_number/protocol

5.samba

sudo apt-get update
sudo apt-get install samba
# 配置防火墙
sudo ufw allow Samba
# 创建用户 用配置密码, 密码用专门的smbpasswd命令进行设置
sudo useradd sbuser
sudo smbpasswd -a sbuser
#创建要共享的文件夹
$ sudo mkdir /disk
# 修改文件夹的所有者与上面新建的用户一致, 否则会导致没有权限进行访问
$ sudo chown sbuser /disk
# 配置samba
$ sudo vim /etc/samba/smb.conf

[home] #共享名,该共享标签,可随意取,该名字为在其他电脑上看到的共享名
    comment = home directories #该共享描述
    path = /disk  #共享路径
    public = yes   #指定该共享是否允许guest账户访问
    writable = yes #writable用来指定该共享路径是否可写
	valid users = 用户名   #设置访问用户
	valid users = @组名   #设置访问组
	read only = no       #读写
	browseable = yes #可以被所有用户浏览到资源名称,
	
# 重启samba服务
sudo systemctl restart smbd
# 查看samba服务状态
sudo systemctl status smbd

reboot

6.docker

https://hub.docker.com/

7.aria2

https://hub.docker.com/r/p3terx/aria2-pro

https://zhuanlan.zhihu.com/p/466573640

https://p3terx.com/archives/docker-aria2-pro.html

对以上映射的目录进行用户权限设置,aria2c 核心进程会以所设定的用户运行。当使用非 root 用户进行管理时非常重要,这关乎到安全性和文件是否能正常访问。你不应该错过这个细节,否则可能导致不必要的麻烦。

  • -e PUID=$UID - 用户映射。设置文件管理账户的UID(用户 ID)。忽略则默认为nobady用户,并权限最大化。
  • -e PGID=$GID - 用户组映射。设置文件管理账户的GID(用户组 ID)。忽略则默认为nogroup用户组,并权限最大化。

科普: 在常规的 Linux 发行版中$UID$GID这两个环境变量分别为当前登录账户的UIDGID值,所以通过 CLI 启动容器可以直接使用这两个变量。但需要注意可能有部分系统$GID没有被定义。

docker pull p3terx/aria2-pro

# 替换<TOKEN>字段(RPC密钥) VECTOR
docker run -d \
    --name aria2-pro \
    --restart unless-stopped \
    --log-opt max-size=1m \
    --network host \
    -e PUID=$UID \
    -e PGID=$GID \
    -e RPC_SECRET=VECTOR \
    -e RPC_PORT=6800 \
    -e LISTEN_PORT=6888 \
    -v /disk/disk1/aria2-config:/config \
    -v /disk/disk1/aria2-downloads:/downloads \
    p3terx/aria2-pro
    
    
    
docker run -d \
    --name ariang \
    --log-opt max-size=1m \
    --restart unless-stopped \
    -p 6880:6880 \
    p3terx/ariang
   

8.plex

https://ubunlog.com/zh-CN/plex介质服务器安装ubuntu-20-04/

https://linuxize.com/post/how-to-install-plex-media-server-on-ubuntu-20-04/

https://www.plex.tv/media-server-downloads/#plex-media-server

#[方式1] 使用.deb文件
# 下载
wget https://downloads.plex.tv/plex-media-s erver-new/1.32.0.6918-6f393eda1/debian/plexmediaserver_1.32.0.6918-6f393eda1_amd64.deb?_gl=1*16kkgdv*_ga*MTAyNzU4MzUzNi4xNjgxNTgxNTI5*_ga_G6FQWNSENB*MTY4MTU5MTA5OC4zLjEuMTY4MTU5MjMzMi4wLjAuMA..
# 安装
sudo dpkg -i 
# 检查程序状态
sudo systemctl status plexmediaserver.service

# 卸载
sudo apt remove plemediaserver

#[方式2]使用Plex存储库
# 从存储库导入GPG密钥
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
# 将存储库添加到系统
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

sudo apt update

sudo apt install plexmediaserver

sudo systemctl status plexmediaserver.service

	
sudo apt remove plexmediaserver

# 开放端口
sudo ufw allow proto tcp from any to any port 32400,3005,8324,32469 comment 'Plex Media Server TCP'

sudo ufw allow proto udp from any to any port 1900,5353,32410:32414 comment 'Plex Media Server UDP'

sudo ufw status
sudo ufw reload
# 访问地址	
http://direccion-ip:32400/web

9.emby

10.NextCloud

11.Kodi

官网:http://www.kodiplayer.cn/

11.1 Android电视安装Kodi

adb

打开电视的adb调试开关
  进入设置 > 系统 > 系统信息,遥控器依次按下“上”、“下”、“左”、“右”,即可看到页面中跳出adb开关,将ADB设为开启状态.

adb devices

adb connect ip:5555

adb shell

# 打开第三方应用安装权限
setprop persist.tcl.debug.installapk 1
setprop persist.tcl.installapk.enable 1

exit退出

adb install xxx.apk

11.2 Kodi安装Plex插件

安装Plex插件:http://www.kodiplayer.cn/plugins/2918.html

12.FFMpeg

https://blog.csdn.net/annjeff/article/details/105748428

报错问chatGPT

sudo aptitude install llibvpx-dev

./configure --prefix=/home/vector/FFmpeg --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-lzma --enable-zlib --enable-gmp --enable-libvorbis --enable-libvo-amrwbenc --enable-libspeex --enable-libxvid --enable-libaom --enable-avisynth --enable-libopenmpt --enable-libfdk-aac --enable-nonfree

12.1ubuntu20.04安装avisynth

To install Avisynth on Ubuntu 20.04, you can follow these steps:

Open a terminal window by pressing "Ctrl + Alt + T".

Update the package list and upgrade the system packages:

sql
Copy code
sudo apt update
sudo apt upgrade
Install the required dependencies for Avisynth:

Copy code
sudo apt install autoconf automake libtool libavformat-dev libavcodec-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libz-dev libbz2-dev liblzo2-dev liblzma-dev libfontconfig1-dev libfreetype6-dev libxml2-dev yasm nasm
Download the latest version of Avisynth from its official website: http://avisynth.nl/index.php/Main_Page

Extract the downloaded archive:

Copy code
tar -xf avisynth-x.y.z.tar.gz
Replace "x.y.z" with the actual version number of Avisynth.

Navigate to the extracted directory:

bash
Copy code
cd avisynth-x.y.z
Configure the build:

bash
Copy code
./autogen.sh
./configure
Compile and install Avisynth:

go
Copy code
make
sudo make install
Verify that Avisynth has been installed successfully:

css
Copy code
avs2yuv --version
This command should display the version number of Avisynth.

That's it! You have now installed Avisynth on Ubuntu 20.04.

ERROR: gnutls not found using pkg-config

This error message suggests that the GnuTLS library is not installed on your system or the pkg-config tool is unable to find it.

To fix this error, you can try the following steps:

  1. Install the GnuTLS library and its development headers. You can do this by running the following command:

    arduinoCopy code
    sudo apt-get install libgnutls28-dev
    
  2. After installing the GnuTLS library, run the following command to update the pkg-config database:

    Copy code
    sudo ldconfig
    
  3. If the above steps do not work, you can try setting the PKG_CONFIG_PATH environment variable to the directory containing the GnuTLS .pc file. For example, if the file is located in the "/usr/local/lib/pkgconfig" directory, you can set the PKG_CONFIG_PATH variable as follows:

    javascriptCopy code
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
    

    Alternatively, you can add the above line to your ~/.bashrc file so that the variable is set automatically every time you open a new terminal.

  4. After setting the PKG_CONFIG_PATH variable, try running the command again. If the error still persists, you can try reinstalling the GnuTLS library and its development headers.

I hope this helps you to resolve the error.

error

ffmpeg: error while loading shared libraries: libavdevice.so.60: cannot open shared object file: No such file or directory

This error message suggests that the ffmpeg program is unable to find the libavdevice.so.60 shared library file. This can happen if the library is missing or not installed on your system, or if the library path is not included in the library search path.

To fix this error, you can try the following steps:

  1. Check if the libavdevice.so.60 library is installed on your system. You can do this by running the following command:

    Copy code
    sudo updatedb && locate libavdevice.so.60
    

    If the library is not found, you may need to install it by installing the ffmpeg package or building ffmpeg from source.

  2. If the library is found, you can try adding its path to the library search path. You can do this by running the following command:

    bashCopy code
    export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
    

    Replace "/path/to/lib" with the directory containing the libavdevice.so.60 library file.

    Alternatively, you can add the above line to your ~/.bashrc file so that the variable is set automatically every time you open a new terminal.

  3. After setting the LD_LIBRARY_PATH variable, try running the ffmpeg command again. If the error still persists, you may need to check if the library path is correct or try reinstalling the ffmpeg package or rebuilding ffmpeg from source.

I hope this helps you to resolve the error.

sudo: updatedb: command not found

The "updatedb" command is a part of the "mlocate" package, which may not be installed on your system. You can install it using the following command:

arduinoCopy code
sudo apt-get install mlocate

After installing the package, you should be able to use the "updatedb" command.

更新/etc/profile配置

To update the /etc/profile configuration file, you can follow these steps:

  1. Open a terminal window and log in as the root user by running the following command:

    Copy code
    sudo su
    

    Enter your password if prompted.

  2. Open the /etc/profile file in a text editor. You can use any text editor of your choice, for example, nano or vim. Here, we will use nano:

    bashCopy code
    nano /etc/profile
    
  3. Make the necessary changes to the file. For example, you can add environment variables or update the system-wide PATH variable.

  4. Save the changes and exit the text editor. In nano, you can do this by pressing "Ctrl + X", then "Y", and then "Enter".

  5. To make the changes take effect, either log out and log back in, or run the following command:

    bashCopy code
    source /etc/profile
    

    This will reload the /etc/profile file and apply the changes.

That's it! You have now updated the /etc/profile configuration file.

13.jellyfin

可道云文章来源地址https://www.toymoban.com/news/detail-415452.html

更换镜像源

Ubuntu Server20.04

sudo vi /etc/apt/sources.list

deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

sudo apt update

sudo apt-get upgrade

到了这里,关于Ubuntu Server搭建个人服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 远程服务器虚拟显示器(Ubuntu 20.04 LTS)

    安装 ssh sever 并开启,确保虚拟显示器配置失败后,无法正常显示,仍可以通过ssh连接至服务器 查看 ssh 服务已经开启,并可以远程 ssh 连接至服务器 测试远程连接 打开配置文件 编辑配置文件 重启服务器 sudo apt-get --purge remove xserver-xorg-core-hwe-18.04 sudo apt-get --purge remove xserve

    2024年02月11日
    浏览(40)
  • ubuntu20.04部署ntp服务器ntpd(ntpdate )

    首先,在终端中更新你的包列表,然后安装NTP。输入下面的命令: 编辑NTP的配置文件,这里我们使用nano文本编辑器,但你也可以使用你喜欢的其他编辑器。 在此文件中,找到以\\\"pool\\\"开头的行,它们定义了NTP将与之同步的服务器。你可以保留默认值,或者根据需要添加/更改。

    2024年02月02日
    浏览(34)
  • Ubuntu20.04操作系统安装-裸机安装服务器版本

    下载Ubuntu系统 Ubuntu 官网下载 https://releases.ubuntu.com/focal/ 下载服务器版本镜像 准备启动U盘 下载UltraISO软件,选择 文件 - 打开,打开刚才下载的Ubuntu镜像 选择 启动 - 写入硬盘映象 插入一个U盘,选择插入的U盘刻录启动U盘,注意,此操作会格式化U盘的所有数据! 安装Ubuntu系统

    2024年02月05日
    浏览(37)
  • 将本地Django项目部署到服务器上(Ubuntu20.04)

    最近因为项目的需求开始正在搭建一个个人网站。在本地完成了项目后端的内容后需要部署到服务器上以供用户访问。因为后端使用的是Django框架,就在网上找了很多有关将Django项目部署到网站上的教程。由于本人在网络这块属于小白,原理了解甚少,在一边参照各种教程一

    2024年02月03日
    浏览(32)
  • 【服务器管理】Ubuntu20.04安装包管理工具module配置并且使用

    module 是一个专门管理环境变量的工具,全称是module environment,一般应用于软件或运行库等设备有多个版本,且需要分别配置这些环境变量。其官网为: https://modules.readthedocs.io/en/latest/index.html 通常,对于多版本的软件包,我们可以通过修改 ~/.bashrc 文件,通过修改 PATH 、 LD_LI

    2024年02月09日
    浏览(36)
  • Ubuntu20.04服务器开启路由转发让局域网内其他电脑通过该服务器连接外网

    背景 今天想让一台装有 Ubuntu20.04 系统的服务器在局域网中起到路由器的功能。 目标: 让局域网中所有的电脑都通过这台服务器连接外网。 服务器网卡 服务器的两个网卡: eth0 : 192.168.1.xxx/24 连接局域网 eth1 : 117.22.22.xxx/24 连接外网 基本配置 1、在服务器上开启内核路由转

    2024年02月11日
    浏览(43)
  • Ubuntu server搭建dhcp服务器

    安装 直接使用一下命令进行安装 以下就是安装好的图片  然后进入dhcp目录  进入后用ls查看当前目录存在哪些文件  使用如下进入dhcp.conf 红:设置ip域和子网掩码 绿:设置ip池范围 黄:子网掩码 紫:路由 蓝:广播地址 改好之后保存 (设置的IP必须跟该虚拟机在同一网段,

    2024年02月01日
    浏览(36)
  • Ubuntu20.04服务器使用教程(安装教程、常用命令、故障排查)持续更新中.....

    制作U盘启动盘,并安装系统 在MSDN i tell you下载Ubuntu20.04 Desktop 版本,并使用Rufus制作UEFI启动盘,参考UEFI安装Ubuntu 使用GPT+UEFI模式安装,记得更改主板选项Legacy to EFI support 为 enable 安装NVIDIA显卡驱动 先参考Ubuntu20.04下深度学习环境配置,配置apt-get换国内阿里源 参考Ubuntu18-22

    2024年02月04日
    浏览(38)
  • ubuntu 22.04搭建OpenVPN服务器

    为了公司与分公司之前的内部服务器和办公电脑之间能够相互访问,打算使用VPN,对于VPN,以前用得多的是PPTP; 但是PPTP相对于openvpn来说,没有openvpn安全,而且PPTP在linux下命令行支持不是很好,稳定性也不如openvpn。所以最后就选择openvpn来搭建VPN. 如上图所示,红线为VPN访问效

    2024年02月14日
    浏览(36)
  • Linux | Ubuntu20.04系统使用命令从移动硬盘/U盘拷贝文件到服务器上

    *确认自己移动硬盘、U盘的格式,本文为exfat格式 查看disk默认位置 查看最后的位置,我的显示为 Device, 位置为 /dev/sdb1 ,2048, (后面省略) *注意:此时无法直接查看硬盘内容 进入Linux系统主界面,如果是user的话,获取管理员权限 挂载移动硬盘/U盘 命令如下,其中/dev/sdb1为disk默

    2024年02月14日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包