1 引言
本专题主要介绍在Linux中如何安装软件,以及如何远程连接到Linux系统。
2 Linux安装软件的几种模式
2.1 源码安装
- 优点:开源,可以二次开发;编译安装,与系统适配性高,更加稳定;卸载方便。
- 缺点:安装步骤多,容易出错;编译时间长;报错时新手难以解决。
- 步骤:
- 准备源码包,通常是以.tar.gz等格式存在。
- 安装编译过程中需要的依赖环境。
- 编译安装,包括解压源码包、配置安装路径、编译安装等步骤。
- 设置权限和系统管理配置,如做软连接、设置系统控制等。
2.2 使用包管理器在线安装
使用包管理器如apt-get、yum、dnf等来从软件仓库中直接安装软件。这是大多数用户最常用的方法,因为它简单方便,而且可以自动处理依赖关系。
- Debian/Ubuntu 使用 apt (Advanced Package Tool):
更新软件包列表:sudo apt update
安装软件包:sudo apt install [package_name]
删除软件包:sudo apt remove [package_name]
备注:在Ubuntu系统中,使用管理员权限通常涉及到使用sudo命令。这是因为Ubuntu默认情况下不直接允许root用户(Linux系统的超级用户)登录,而是通过sudo命令来执行需要管理员权限的任务。
- Fedora/CentOS/RHEL 使用 dnf或yum命令:
更新软件包列表:sudo dnf check-update
或者sudo yum install package_name
安装软件包:sudo dnf install [package_name]
删除软件包:sudo dnf remove [package_name]
- Arch Linux 及其衍生版使用 pacman:
同步数据库并更新系统:sudo pacman -Syu
安装软件包:sudo pacman -S [package_name]
删除软件包:sudo pacman -R [package_name]
2.3 使用软件中心
许多Linux发行版提供了图形界面的软件中心,如Ubuntu的“Ubuntu Software”。
2.4 使用Snap或Flatpak:
Snap和Flatpak是两种流行的跨平台包管理系统。
sudo snap install package_name
或者
sudo flatpak install flathub com.package_name
3 Linux远程连接
3.1 Linux远程连接模式
1、SSH
SSH(Secure Shell):SSH是一种网络协议,用于在不安全的网络中安全地操作远程计算机。它是Linux系统中最常用的远程登录协议,几乎所有的Linux发行版都默认安装了SSH客户端和服务器。
SSH模式使用的最多。
2、Telnet
Telnet:Telnet是一种早期的远程登录协议,但由于它传输的数据未加密,因此存在安全风险。在现代系统中,Telnet已经被SSH所取代。
3、VNC
VNC(Virtual Network Computing):VNC允许你通过图形界面远程控制另一台计算机。它主要用于需要远程桌面访问的场景。
4、RDP
RDP(Remote Desktop Protocol):虽然RDP主要是Windows系统使用的远程桌面协议,但也有一些Linux系统支持RDP,可以通过它来进行远程桌面连接。
3.2 Linux使用SSH创建远程连接
要远程访问一台Linux机器,通常会使用SSH(Secure Shell)协议。以下是基本步骤:
1、确保目标远程服务器上已经安装并启用了SSH服务
参考视频:Linux (Ubuntu) 如何开启SSH远程登录_哔哩哔哩_bilibili
在大多数Linux发行版中,可以通过包管理器安装OpenSSH服务器。
Debian/Ubuntu:
sudo apt update
sudo apt upgrade
sudo apt install openssh-server
说明:
sudo apt update:更新软件包列表,检查可用的软件包更新
sudo apt upgrade:安装可用的软件包更新,这个步骤第一次执行时需要的时间比较长
sudo apt install openssh-server:安装openssh-server
apt update命令只会获得系统上所有包的最新信息,并不会下载或者安装任何一个包。而是apt upgrade命令来把这些包下载和升级到最新版本。第一次执行这两个命令需要较长的下载和更新时间。
中间需要确认的时候选择 y,安装完成
这里我没有执行sudo apt update和sudo apt upgrade,而是直接安装了openssh-server,节省时间。
3.3 让服务器上的ssh service运行起来
依次输入三行命令
sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh
说明:
systemctl(system control)简介
Systemctl的参数可以参考:
轻松学会 Linux 服务管理,使用 systemctl 命令一键搞定
sudo systemctl enable ssh:让SSH服务在系统启动时自动启动,这样以后就不用每次手工启动了
sudo systemctl start ssh:启用 Linux 系统中的SSH服务
sudo systemctl status ssh:验证SSH服务是否正在运行
注意:显示ssh状态后,如果无法继续输入shell命令,可以按q键退出查看状态。
3.4 配置服务器的防火墙
配置服务器的防火墙,允许22号端口通过,依次输入三行命令
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
说明:
ufw是指ubuntu firewall,即ubuntu自带的防火墙。因为我们现在是在配置服务器,必须确保网络安全,所以要启动网络防火墙。
sudo ufw allow ssh:让防火墙ufw允许ssh通过
sudo ufw enable:启动防火墙
sudo ufw status:查看防火墙状态
备注: ssh的默认端口号是22,所以从防火墙状态可以看出,ssh协议被允许通过22号端口和外部建立TCP连接。执行结果:
另外,如果有规则以前已经加入防火墙了,在执行 sudo ufw allow ssh这条命令时,系统提示会这条规则已经存在了:
3.5 检查你的电脑的IP地址
检查你的电脑的IP地址,然后就可以从其他机器远程登录,输入命令
ifconfig
说明:
Ifconfig:configure a network interface,配置网络信息
在输入这个命令的时候,如果提示没有这个命令可以安装命令包,输入
sudo apt install net-tools ----非必须
安装完命令包后,输入ifconfig就可以查看网络配置了。如果直接ifconfig可以执行,就不用重新安装命令包了。
从这一段信息可以看出,我的ubuntu的ip是172.16.169.129。注意:你的虚拟服务器的ip地址可能不一样!
3.6 在客户端使用SSH工具连接ubuntu服务器
从我的主系统 macOS Sonoma14.5中,使用SSH工具连接ubuntu服务器,这里先下载SSH的客户端软件Termius。下载地址:
https://www.jb51.net/softs/725153.html
安装完成后,打开Termius,在上方的框中输入:
使用
ssh user@ip -p port地址
的格式,可以远程访问服务器,例如,我使用 ssh danielshootersu@172.16.169.129 -p port
输入密码
成功登录
这样就可以远程输入Shell命令控制ubuntu服务器了。例如远程输入ls,pwd命令,以及查看桌面文件和在test.txt里添加文字
远程连接完成!!