Ubuntu安装、卸载软件

卸载宝塔面板(BT-Panel)

下载宝塔官方卸载脚本

卸载脚本
1
wget http://download.bt.cn/install/bt-uninstall.sh

执行卸载脚本

执行
1
sh bt-uninstall.sh

执行过程

执行过程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
lilbai@ecs-205380: wget http://download.bt.cn/install/bt-uninstall.sh
--2022-09-08 11:22:59-- http://download.bt.cn/install/bt-uninstall.sh
Resolving download.bt.cn (download.bt.cn)... 116.10.184.219, 240e:a5:4200:89::256
Connecting to download.bt.cn (download.bt.cn)|116.10.184.219|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3586 (3.5K) [application/octet-stream]
Saving to: ‘bt-uninstall.sh’

bt-uninstall.sh 100%[=======================================>] 3.50K --.-KB/s in 0s

2022-09-08 11:22:59 (601 MB/s) - ‘bt-uninstall.sh’ saved [3586/3586]


lilbai@ecs-205380: sh bt-uninstall.sh
1) 卸载宝塔
2) 卸载宝塔及运行环境(可能影响站点、数据库及其他数据)
*请检查安全类软件是否关闭,否正可能导致无法正常卸载
=================================================
请选择你要进行的操作(1-2 默认:1): 2
[ ok ] Stopping mysqld (via systemctl): mysqld.service.
mysqld clean
Stopping Pure-FTPd... done
pure-ftpd clean
Gracefully shutting down php-fpm . done
php-fpm-56 clean
phpmyadmin clean
清除面板运行环境完毕
Stopping Bt-Tasks... done
Stopping Bt-Panel... done
宝塔面板已卸载成功
bt-panel uninstall success

Ubuntu安装Nginx

apt-get方式安装

安装命令(在root用户下)

1
apt-get install nginx

不是root用户

1
sudo apt-get install nginx

查看Nginx版本

查看Nginx版本
1
2
lilbai@ecs-205380: nginx -v
lilbai@ecs-205380: nginx version: nginx/1.14.0 (Ubuntu)

启动nginx

1
service nginx start

nginx安装位置

文件存放的位置:

  • /usr/sbin/nginx:主程序
  • /etc/nginx:存放配置文件
  • /etc/ssl:放置SSL模块
  • /usr/share/nginx:存放静态文件
  • /var/log/nginx:存放日志

Ubuntu卸载Nginx

卸载-purge包括配置文件

1
sudo apt-get --purge remove nginx

自动移除全部不使用的软件包

移除不使用的软件包
1
sudo apt-get autoremove

罗列出与Nginx相关的软件

列出相关软件
1
2
3
root@ecs-205380: dpkg --get-selections|grep nginx
bt-nginx120 install
libnginx-mod-http-geoip install

删除与Nginx相关的软件

删除软件
1
2
sudo apt-get --purge remove bt-nginx120
sudo apt-get --purge remove libnginx-mod-http-geoip

查找和Nginx相关的文件

从根目录下开始查找nginx相关的文件,会出现非常多的文件,我们需要把它全部删除

查找相关文件
1
2
3
4
5
6
7
8
9
10
lilbai@ecs-205380:~$ sudo find -name nginx*
/var/cache/apt/archives/nginx-common_1.14.0-0ubuntu1.10_all.deb
/var/cache/apt/archives/nginx-core_1.14.0-0ubuntu1.10_amd64.deb
/var/cache/apt/archives/nginx_1.14.0-0ubuntu1.10_all.deb
/var/lib/docker/overlay2/9f2c539adb211f7101389182c40cbd9e6f3c8d1128c9f5cf1459fe44f0b85080/diff/var/cache/nginx
/var/lib/docker/overlay2/9f2c539adb211f7101389182c40cbd9e6f3c8d1128c9f5cf1459fe44f0b85080/diff/var/lib/dpkg/info/nginx-module-geoip.list
/var/lib/docker/overlay2/9f2c539adb211f7101389182c40cbd9e6f3c8d1128c9f5cf1459fe44f0b85080/diff/var/lib/dpkg/info/nginx-module-geoip.md5sums
/var/lib/docker/overlay2/9f2c539adb211f7101389182c40cbd9e6f3c8d1128c9f5cf1459fe44f0b85080/diff/var/lib/dpkg/info/nginx-module-njs.md5sums
/var/lib/docker/overlay2/9f2c539adb211f7101389182c40cbd9e6f3c8d1128c9f5cf1459fe44f0b/var/lib/docker/overlay2/9f2c539adb211f7101389182c40cbd9e6f3c8d1128c9f5cf1459fe44f0b85080/diff/etc/logrotate.d/nginx
........

删除和Nginx相关的文件

有些文件前面的路径是一样的,可以使用*来匹配路径相同的文件,可以稍微让步骤稍微少一点

删除nginx相关的文件
1
2
3
sudo rm -rf file
# 比如 删除前面三列 * 号匹配后面的路径
sudo rm -rf /var/cache/apt/archives/nginx*

安装vsftpd

1
2
yum install -y vsftpd # 或者
apt install vsftpd

出现下图类似就说明成功了

配置vsftpd

我的系统是Ubuntu 18.04

vsftp配置文件在/etc/vsftpd.conf

这是我的配置,你也可以直接复制进去你的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 禁止匿名用户登录
anonymous_enable=NO
# 允许系统用户登录
local_enable=YES
# 启用可以修改文件的 FTP 命令
write_enable=YES
# 本地用户创建文件的 umask 值
local_umask=022
# 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
# 开启日记功能
xferlog_enable=YES
# 使用标准的20端口来连接ftp
connect_from_port_20=YES
# 使用标准日志格式
xferlog_std_format=YES
# 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
# chroot_list_enable=YES
# 指定限制的用户文件
# chroot_list_file=/etc/vsftpd/chroot_list
# ftp服务器将处于独立启动模式
listen=YES
# 设置一个本地用户登录后进入到的目录
local_root=/var/ftp/text
# 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下
pam_service_name=vsftpd
# ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
userlist_enable=YES
# 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。
userlist_deny=NO

指定FTP登录到的文件夹

意思就是打开在电脑打开FTP的时候文件夹

这里我选择在/var下面新建ftp文件夹,ftp登录的时候就是进入text这个文件夹

完整路径是/var/ftp/text

1
2
>>> cd /var
>>> mkdir -p ftp/text # —p 的意思是可以创建递归文件夹

mkdir ftp 是创建单个文件夹

mkdir - p ftp/text 是可以创建文件夹的子文件夹,也就是递归目录

添加指定用户登录

1
2
3
>>> useradd -g lilbai ftpuser # 这里我创建的是lilbai518
>>> passwd ftpuser
>>> # 输入密码,输入密码时是不显示的。重复输入两次

1
2
cd /var # 进入var文件夹
ls -l # 查看文件夹的属性

根据上图,看到ftp的所属用户和所属组是root,我们需要改成ftpuser

1
2
3
>>> chown -R ftpuser ftp
>>> ls -l # 再次查看ftp属性,此时看到已经是所属ftpuser用户了
>>> service vsftpd restart # 重启vsftpd服务

设置端口

FTP默认是使用21端口的,当然你也可以设置别的端口,这样在vsftpd.conf配置文件改一下端口就好了。一般添加端口前先去检查一下这个端口有没有被别的程序占用。

进入root用户,添加21端口,我的防火墙是ufw,如果你的防火墙是iptablesFirewalldTCP wrappers等,根据你的防火墙开启21端口。开启防火墙看一下防火墙的运行状态。

下面我的有几个重复的21端口,是因为我重复开启了两次。正常的话只有两个21端口,一个是IPv4端口,一个是IPv6的端口,

测试FTP

1
2
3
4
5
>>> ftp 192.168.253.235
>>> ftpuser
>>> # 输入密码
<<< 230 Login successful. # 看到这句话说明成功了
<<< Login failed. # 看懂这句话说明失败了,根据失败原因去查一下

过程遇到错误集合

Linux怎么查看IP地址

1
ifconfig # 查看IP地址指令,在win电脑是ipcinfig,就是p改为f而已

我的IP地址是 192.168.253.135inet表示IPv4inet6表示IPv6

AUTHENTICATING FOR org.freedesktop.systemd1.manage-units

1
2
3
4
5
6
7
8
9
>>> systemctl start vsftpd.service
<<< ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
启动“vsftpd.service”需要认证。
Multiple identities can be used for authentication:
1. python,,, (python) #这两个是我的Linux系统用户
2. judge
Choose identity to authenticate as (1-2): 1
Password: # 但是输入密码重新打开,还是出现一样的错误,我直接用进入root用户打开就成功了
>>> su

没有权限,直接进入root最高权限就可以执行了

没有出现tcp 21端口

在查看21端口时没有出现端口,说明在配置vsftpd.conf的文件出错了,需要去改一下

FTP service启动失败

1
2
3
4
5
6
7
8
9
10
11
12
● vsftpd.service - vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2022-06-07 17:22:12 CST; 2s ago
Process: 38535 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, status=2)
Process: 38524 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
Main PID: 38535 (code=exited, status=2)

Jun 07 17:22:12 ubuntu systemd[1]: Starting vsftpd FTP server...
Jun 07 17:22:12 ubuntu systemd[1]: Started vsftpd FTP server.
Jun 07 17:22:12 ubuntu systemd[1]: vsftpd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jun 07 17:22:12 ubuntu systemd[1]: vsftpd.service: Failed with result 'exit-code'.

500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list

根据报错内容说无法读取这个文件,输入exit退出,在命令行中有时候进入什么操作中不知道怎么退出,试试Ctrl+Cexit,可能会有奇效

那我们就去vsftpd.conf改一下,让他不要读取这个文件就好

把以下几个配置都注释掉就好,在语句前加个 #

500-OOPS
1
2
3
4
5
6
7
8
9
10
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

# ----变成以下的样子
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

Login failed

1
2
3
4
5
6
Name (192.168.253.135:python): tt # 左边显示的python是我Linux系统的一个用户,tt也是我的用户
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/tt
Login failed.
421 Service not available, remote server has closed connection

表示登录失败,可能是你这个账号没有权限登录,我用python这个用户登录ftp成功了

下图表示vsftpd.service开启成功了