ubuntu / Centos平时记录
※,平时记录(及问题排查)
- lsb_release -a // 查看系统版本
- Ubuntu系统的默认防火墙系统是ufw(参考:在Ubuntu 18.04系统中使用UFW设置防火墙),但是可以安装和使用Firewalld.
- ubuntu 20.04桌面版进入Rescue 模式(又叫Single User Mode)
- rescue mode会启动少量服务(service),而紧急模式(Mergency Mode)只是一个raw shell,什么服务都不启动
- 重启ubuntu系统,等待出现grub菜单(不出现的话开机过程中需要长按shift),选择ubuntu高级选项,选中菜单中的带有rescue mode的一个条目,按e编辑此条目grub参数,找到linux开头的一行,然后将 ro recovery nomodeset删除,在此行的最结尾添加:`rw single init=/bin/bash`。注意这里一个坑,一定是要在此行最结尾添加这行代码,否则启动不了(原因是init=后面的所有值在一起都会被当做路径)!
※,重装系统:
- 【最佳实践】 装系统的磁盘最好分成系统分区和数据分区,这样重装系统不会丢失数据分区的数据!
- ubuntu20.04 desktop镜像安装系统时,有个菜单选项叫safe graphics,用这个选项实验了下,进去后桌面的分辨率比正常的要低,其他没啥区别,可能是没加载显卡驱动之类的?
- 两个磁盘(SSD系统,HDD数据)的机器重装系统,选择卸载并重装,安装完成后HDD数据还在,SSD中的数据消失。以后可以将SSD也分成两个区,一个装系统,另一个用来为下一次重装系统做准备,这样原始的系统的数据也不会丢!
-
重装系统后,原来的磁盘/dev/sda上安装的lvm没有做任何操作,此时重新挂载时不能使用/dev/sda挂载,可以使用逻辑卷路径挂载
- mount /dev/sda1 /data1 //报错:未知的文件系统类型“LVM2_member”
mount /dev/vg0/lv0 data1
// 正常
※,系统安装过程(Dell PowerEdge R740, BIOS 2.12.2, ubuntu-20.0.4-live-server版本)
- iso镜像下载地址:点此。
- 安装过程中,可以ctl +z 或 F2命令 进入shell界面,可以进行一些操作,比如下面讲的磁盘分区,路由规则改写等
- ubuntu-20.04.4目前为止没有离线安装镜像,只有ubuntu-20.04.4-live-server-amd64.iso(多了个live),live代表安装过程中需要网络。
- 【坑】服务器双网卡,一个内网一个外网,网口1是默认启动网卡,插的是内网网线(连接到内网交换机上)。公司的内网环境下想连接外网是需要认证的,于是踩了一个坑,20.04-live-server版本安装过程中总是提示配置的http://mirrors.aliyun.com/ubuntu源无法连接!其实日志中已经提示了:does the network need authentication? 只是没有意识到是这个问题,习惯性的忽略了。还有一个现象是安装时ctrl+z进入shell中,使用wget镜像中的某个文件是可以下载下来的!【解决方法很简单】这个问题的本质原因是默认网卡是内网,也就是默认的路由是内网网卡的网关,只要把这个内网网卡的默认路由删除就可以了!当然拔掉内网网线也是可以的。
- 安装界面,按 e 可以编辑grub引导参数
- grub2:
- quiet 意思是内核启动时候简化提示信息
- splash 意思是启动的时候使用图形化的进度条代替init的字符输出过程
- nomodeset 先部加载显卡驱动,出现花屏问题可以采用此参数
- 安装过程中,ubuntu系统镜像本身的镜像源(http://cn.archive.ubuntu.com/ubuntu) 可以替换为阿里云(https://mirrors.aliyun.com/ubuntu/),http或https皆可。
- 【坑】实操错误复盘:将地址误写为 https://developer.aliyun.com/mirror/ubuntu-releases,结果安装过程就会报错,无法安装成功。
- 磁盘旧分区删除:服务器原来装的是centos7.9版本,因为内核版本(3.10)过低,k8s要求内核版本要在4.x。在升级内核和采用ubuntu之间选择了采用ubuntu Server
- 【坑】安装过程中又报错.无法清除以前的存储。于是只能自己手动清除。
- `fdisk /dev/sda` // 开始使用fdisk命令操作/dev/sda,数据无价,高危!fdisk命令在使用w之前都是保存在内存中的,按了w就保存在磁盘中了!
- 按·p·打印/dev/sda的分区别
- 按`d`删除一个分区
- 按·w·保存修改后的分区 // 慎重!
- 按·q·放弃修改退出
- 【坑】安装过程中又报错.无法清除以前的存储。于是只能自己手动清除。
- Linux下 机械硬盘HDD与固态硬盘SSD的区分
- `lsblk -o name,rota` // 注意name和rota之间不能用空格... rota 为0表示不旋转即固态盘,为1表示旋转即机械盘
- 磁盘分区规划:服务器有两块磁盘,2T的HDD(sda),1T的SSD(sdb)。初步规划:SSD用于安装系统,HDD用于保存数据. lsblk -f / fdisk -l / blkid
- SSD
- Filesystem Size Used Avail Use% Mounted on
- /dev/sdb2 2.0G 113M 1.7G 7% /boot # ext4 注意/boot最好不要xfs文件系统。
- /dev/sdb1 1.1G 5.3M 1.1G 1% /boot/efi # vfat
- /dev/sdb3 891G 17G 874G 2% / # xfs
- HDD: 采用LVM逻辑卷的方式,将整个HDD(sda)作为PV,将此PV组成VG(名称为ubuntu),然后将此VG的100%空间用作一个LV(名称为data),挂载在/data1目录下。
- Filesystem Size Used Avail Use% Mounted on
- /dev/mapper/ubuntu-data 2.2T 16G 2.2T 1% /data1 # xfs。lvm创建的逻辑卷默认名称是/dev/mapper/<vgname>-<lvname>
- 【注意】第一台机器安装系统时只创建了vg(名为vg0),没有创建lv,安装完成后手动创建了一个lv(名为lv0, 创建命令·lvcreate -l 100%FREE -n lv0 vg0·),然后用xfs文件系统格式化·mkfs.xfs /dev/vg0/lv0·,然后将此lv挂载到/data1目录下(`mount /dev/vg0/lv0 /data1/`)。
- /dev/mapper/vg0-lv0 2.2T 16G 2.2T 1% /data1
- 此时还需要注意,mount挂载只是临时挂载,重启系统的话就消失了,所以需要在/etc/fstab中添加永久挂载。仿照其他几台机器的格式,添加如下内容:
查看代码
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sdb3 during curtin installation /dev/disk/by-uuid/951f96ea-4b2c-4dad-8e8f-a7dd7ebf4c56 / xfs defaults 0 1 # /data1 was on /dev/vg0/lv0 during curtin installation # 下面是新增的lv挂载信息,uuid是vgUUID+lvUUID,但是要去除短横线。可以分别用vgdisplay和lvdisplay查看 /dev/disk/by-id/dm-uuid-LVM-22j8qcN8DXaayV4m10ru3J5pcj2HbkrlUWqiQSZiBI51eJVBFA6SC76CsKJjhI2L /data1 xfs defaults 0 1 # /boot was on /dev/sdb2 during curtin installation /dev/disk/by-uuid/64b944a6-4c74-4e67-a68b-59f4a50dbfb2 /boot xfs defaults 0 1 # /boot/efi was on /dev/sdb1 during curtin installation /dev/disk/by-uuid/3F19-160E /boot/efi vfat defaults 0 1 /swap.img none swap sw 0 0
- 添加后执行`sudo mount -a` 立即加载/etc/fstab中提到的磁盘。
- SSD
※,刚安装后:
- 初次登陆需设定root密码:·sudo passwd [root]·
- ssh 远程登录
- 刚安装完系统后默认情况下,使用 远程连接工具是无法以 root 用户登录的,需要设置一下配置文件·/etc/ssh/sshd_config·,添加一行`PermitRootLogin yes`,然后重启ssh服务`systemctl restart ssh`即可。
- `echo PermitRootLogin yes >>/etc/ssh/sshd_config`
- 刚安装完系统后默认情况下,使用 远程连接工具是无法以 root 用户登录的,需要设置一下配置文件·/etc/ssh/sshd_config·,添加一行`PermitRootLogin yes`,然后重启ssh服务`systemctl restart ssh`即可。
- =========网络 netplan / NetworkManager ================
- 静态IP配置:ubuntu 20.04使用netplan管理网络
- ·man netplan· 查看具体配置项及说明
- ·netplan apply· 生效
- 双网卡配置:默认是内网网卡,路由也是内网网卡的默认路由,内网网卡的环境下外网访问是受限制的(公司层面做了限制,需要认证才能上外网),比如apt install net-tools会报错,无法连接软件源。(但是奇怪:ping或wget(http)是可以的)。所以需要做如下配置:
- 将外网网卡(此网卡是直接电信接入,和家里的宽带一样没有限制)的路由设置成默认的,这样外网访问将不会受到任何限制。但是问题是:连接在内网上的其他机器无法和此服务器连接,比如我的机器ip:192.168.35.xxx无法和服务器192.168.67.xxx通过ssh远程连接, 包可以到达服务器,但是服务器不知道怎么回包,所以还需要配置一下服务器的路由表,添加192.168.0.0/24网段的路由,网关设置为内网网卡的网关192.168.67.254。
- ubuntu20.04LTS,/etc/netplan目录下的文件 ·00-installer-config.yaml·内容设置如下:(另一个文件是·01-network-manager-all.yaml·)
-
# This is the network config written by 'subiquity' network: ethernets: eno1: #这个是公司的内网网卡,插在了默认口上。如果网线交换一下位置,那么外网网卡将会是默认网卡。 dhcp4: false dhcp6: false addresses: [192.168.67.25/24] # 通过 man netplan查看文档可知,gateway4已经废弃了,推荐使用default route。另外在dhcp4为true时不添加gateway4也会产生一条默认路由 # 但是和gateway4产生的默认路由的metric不同。 # gateway4: 192.168.67.254 # gateway4字段设置此网卡的默认路由,也就是default路由。 routes: # 配置一条192.168.0.0/16的路由 - to: 192.168.0.0/16 via: 192.168.67.254 metric: 0 nameservers: addresses: [192.168.0.223, 192.168.0.222] eno2: #这个是外网网卡 dhcp4: true # dhcp4设置为true会产生一条metric为100的默认路由。如果不想让这个网卡产生这个默认路由可以使用dhcp4-overrides的use-routes属性 # 设置后此网卡便不会产生默认路由。由用户负责添加静态路由。 #dhcp4-overrides: #use-routes: false eno3: dhcp4: true eno4: dhcp4: true version: 2
- ubuntu20.04桌面版的网络管理:桌面版有两个管理网络的工具:NetworkManager 和 netplan,两者不能共存。当使用netplan管理时,NetworkManager不起作用。推荐使用NetworkManager。
- 案例:IT中心绑定一个IP给一个机器,但是使用netplan apply设置dhcp4自动获取的是另外一个IP,即使ip link set <ifname> down再up依然如此。然后使用NetworkManager自动获取,获取的就是IT中心绑定的IP。
- 桌面版右上角网络管理里,显示“未托管”。原因是之前修改了netplan的配置文件,使用了netplan来管理网络。解决方法:
- 方法一:未验证。将/etc/netplan/01-network-manager-all.yaml文件恢复为初始化的内容,即
[root@sungrow27 ~]$cat /etc/netplan/01-network-manager-all.yaml # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager
- 方法二:参考此文。
- vim /etc/NetworkManager/NetworkManager.conf,将managed改为true
[ifupdown]
managed=true - 查看NetworkManager的配置
·sudo NetworkManager --print-config·
里面有一项内容,显示NetworkManager管理的设备情况
[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:wwan
这个时候我的配置文件里是没有有线网卡的,只有无线设备
下面修改这个文件
sudo vim /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
添加except:type:ethernet 如下所示:
[keyfile]
unmanaged-devices=*,except:type:ethernet,except:type:wifi,except:type:wwan
保存后重启NetworkManager,搞定
- vim /etc/NetworkManager/NetworkManager.conf,将managed改为true
- 方法一:未验证。将/etc/netplan/01-network-manager-all.yaml文件恢复为初始化的内容,即
apt专题
- 配置源:
/etc/apt/sources.list
- 配置源:https://developer.aliyun.com/mirror/ubuntu
:%s/cn.archive.ubuntu.com/mirrors.aliyun.com/g
- 软件包:https://mirrors.aliyun.com/ubuntu/
- 查看已配置的仓库
apt-cache policy
//列出当前使用的仓库源列表cat /etc/apt/sources.list
- 配置源:https://developer.aliyun.com/mirror/ubuntu
- 包管理相关:(apt, dpkg等)apt 命令是 apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。如果想查看具体的参数(比如 -s / --simulate)还是需要`man apt-get`.
- apt一般用法参考此文.
apt-get update
//这个命令只是从配置源下载包的索引文件,不会对包做什么动作,所以可以放心使用apt -s install <package-name>
//-s
选项代表 模拟。它只是模拟执行,好让你知道在安装 <package> 时会发生什么。apt 也可用apt-get 替换。apt -s upgrade <package-name>
// 同上,模拟升级<package-name>时会发生什么
- apt查看某个包的所有版本:
- 官网包搜索
apt-cache madison <pkg-name>
apt show <package-name>
apt policy <pkg-name>
// orapt-cache policy <pkg_name>
apt-cache showpkg <package-name>
- 查看某个包是否已安装以及一些信息: 参考此文
- ---------------------apt-----------
apt list <pattern>
//Ubuntu 14.04及以上版本。列出符合pattern的所有包
apt list *mysql*
apt list --installed
// 列出所有已安装的包apt list *mysql* --installed
- ------------使用dpkg查询包信息(Ubuntu下用dpkg查询信息更好用一些,把dpkg当做Ubuntu下的 rpm 即可!)---------------
- 【★注意★】pkg-name是软件包的报名,deb-name是软件包文件的文件名,两者不一样!
dpkg -l <pattern>
//列出符合pattern的包,ii表示已安装,un表示未安装。dpkg -l *mysql*
//列出包含mysql关键字的包。注意一点,*mysql*会先展开,比如如果执行此命令的目录下含有mysqldump文件,那么这个命令实际最终就是 dpkg -l mysqldump! 所以需要在不含有mysql字样的目录下执行此pattern才能得到想要的效果。dpkg -l |grep mysql
dpkg -l|egrep mysql\|mariadb
dpkg -l |grep linux-image
dpkg-query -l <pkg-name>
// 类似dpkg -l命令。可以使用通配符! 找不到或者列表前面带有 un 字样的代表没有安装,列表前面带有 ii 字样的代表已安装。dpkg -s <pkg-name>
// -s即--status,报告某个包的状态。这个只能查看已安装包的信息dpkg --get-selections
// 查看系统中安装的所有包。配合grep好用!dpkg --get-selections |grep linux-image
dpkg --search <absolute-path>
// 查找某个特定文件属于哪个软件包。注意:必须使用绝对路径。dpkg -L <pkg-name>
// “-L”参数列出软件pkg-name安装后有哪些文件。or: 显示和特定某个软件包相关的所有文件的列表。- --------dpkg的其他命令---------
dpkg -i <deb-name1> <deb-name2>...
// 安装deb包,可以同时安装多个。dpkg -P <pkg-name1> <pkg-name2>...
// 卸载pkg-name1,pkg-name2...- -------deb包信息的查询:dpkg-deb 命令-------
dpkg-deb --help
dpkg-deb --info <deb-name>
//查询deb包的信息,包含包对应的软件的软件名,即卸载时指定的pkg-name。dpkg-deb -c <deb-name>
//查询deb包里包含哪些文件- ------ dpkg元数据文件--------------
vim /var/lib/dpkg/status
vim /var/lib/dpkg/info/squid3.list
- 查看某个命令属于哪个包:
dpkg -S $(which command_name)
- apt-file //一般用dpkg -S即可满足需求,不用单独安装apt-file
apt install apt-file
apt-file update
//时间较久apt-file search $(which command_name)
// 这里查询出来的结果很多,实际就是能正则匹配所给路径的所有软件包!
- ★,一个例子:ip命令属于iproute2包,但是用
dpkg -S $(which ip)
或apt-file search $(which ip)
查不出来,原因如下:which ip输出的是/usr/sbin/ip
但是这个不是真实的路径而是一个软连接,实际指向的是/usr/sbin/ip -> /bin/ip*
,所以需要使用dpkg -S /bin/ip
或apt-file search /bin/ip
来查询,如下:(base) root@server53:~# dpkg -S /bin/ip iproute2: /bin/ip (base) root@server53:~# apt-file search /bin/ip |grep /bin/ip$ iproute2: /bin/ip (base) root@server53:~#
- aptitude包管理系统: aptitude工具本质上是apt工具和 dpkg 的前端。 dpkg 是软件包管理系统工具,而aptitude则是完整的软件包管理系统。
aptitude versions <package-name>
aptitude show <package-name>
// 查看某个安装包的详细信息,包含是否已安装信息。aptitude show和aptitude search都可以查看某个包是否已安装。- ★
aptitude search <keyword> -F "%c %p %d %V"
// 这个命令可以查找包含关键词的所有包,当你不知道完整的软件包名称时,这非常有用,-F参数指定输出格式。- %c: 包的状态
- p:说明这个包可用(在软件仓库中),但还没安装,在本机上无一点痕迹
- i:说明这个包现在已经安装到了你的系统上
- c:意味着软件已删除,但是配置文件尚未从系统中删除
- v:意味着这个软件包是虚拟的
- %p:包名
- %d:包简介
- %V:包版本
- %c: 包的状态
-
用aptitude卸载软件
aptitude remove <package-name>
// 只删除软件包而不删除数据和配置文件。aptitude purge <package-name>
// 删除软件包和相关的数据和配置文件。- 要看软件包是否已删除,可以再用 aptitude 的 search 选项。如果在软件包名称的前面看到一个 c ,意味着软件已删除,但配置文件尚未从系统中清除;如果前面是个 p 的话,说明配置文件也已删除。
-
aptitude 仓库: aptitude 默认的软件仓库位置是在安装Linux发行版时设置的。具体位置存储在文件·/etc/apt/sources. list·中。Linux发行版的开发人员下了大工夫,以保证添加到软件仓库的包版本不会互相冲突。通常通过库来升级或安装软件包是最安全的。即使在其他地方有更新的版本,也应该等到该版本出现在你的Linux发行版仓库中的时候再安装。使用下面的结构来指定仓库源: ·deb (or deb-src) address distribution_name package_type_list·
- deb 或 deb-src 的值表明了软件包的类型。 deb 值说明这是一个已编译程序源,而 deb-src值则说明这是一个源代码的源
- address 条目是软件仓库的Web地址。
- distribution_name 条目是这个特定软件仓库的发行版版本的名称。
- package_type_list 条目可能并不止一个词,它还表明仓库里面有什么类型的包。你可以看到诸如main、restricted、universe和partner这样的值。
- apt一般用法参考此文.
ubuntu桌面版
※,安装
- ctl + alt +f2进入命令行模式, ctl +alt +f1进入桌面模式
-
开机花屏 首先参考此文: https://www.likecs.com/show-203876563.html ● 进入到选择ubuntu安装页面时,狂点e进入编辑页面,以免黑屏 ● Linux… quite splash --- 改为Linux… quite splash nomodeset 按F10正常安装 ● 安装完成重启依旧会花屏,重复步骤一 ● linux… vt_handoff 改为 linux… vt_handoff nomodeset 按F10正常进入系统 ● 在软件更新-->附件驱动-->nvidia显卡选择第一个驱动进行安装。 ● 重启后可正常进入系统。 https://blog.csdn.net/qq_45968493/article/details/121801853 https://blog.csdn.net/u012856866/article/details/119322683
※,桌面版刚安装后需要做的事:
- 息屏设置为:从不
- 设置root密码
- 设置网络
- 配置apt源:清华源OR阿里源
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse # deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse # deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable # deb-src [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable
- ubuntu20.04.4桌面版安装后没有ssh服务,需要先安装。
- 直接安装报错,需要先执行 `apt list|grep openssh`查到已安装的组件(openssh-client),
- 将其卸载(apt purge openssh-client),
- 然后 ·apt update· 然后再安装·apt install ssh· //13.1M
- 配置`/etc/ssh/sshd_config`, ----> PermitRootLogin yes
- systemctl restart ssh
- 本地无法使用root进行登录:参考此文。注意修改后无需reboot即可生效。可以直接使用如下脚本:
-
cat >> /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf <<EOF greeter-show-manual-login= true ## now line all-guest=false # new line, not necessary EOF sed -i '3s/auth/#auth/' /etc/pam.d/gdm-autologin sed -i '3s/auth/#auth/' /etc/pam.d/gdm-password sed -i '9s/mesg/#mesg/' /root/.profile cat >> /root/.profile <<EOF tty -s && mesg n || true mesg n || true EOF
-
- 本地登录时,桌面不显示root账号且不能输入用户名和密码,则修改以下文件:
-
[root@master33 GLM]$cat /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf [Seat:*] user-session=ubuntu autologin-user=root greeter-session=unity-greeter greeter-show-manual-login=true allow-guest=false
-
- 安装vmware tools
※,远程连接桌面版ubuntu
★,xrdp:
apt install xrdp
黑屏:vim /etc/xrdp/startwm.sh添加如下内容重启服务。如果还不行,可以ps -ef |grep xrdp看一下,将所有的xrdp进程杀掉,然后systemctl重新启动xrdp尝试下。向日葵黑屏可能原因和多个xrdp进程也有关。
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
# . $HOME/.profile #如果不行,添加此内容再试试
★,linux向日葵sunlogin:
Ubuntu20.04客户端下载及安装命令:点此查看官网说明
启动后是以systemctl服务的方式启动,名称为:systemctl status runsunloginclient.service
配置文件位置:/etc/sys_config.conf
,使用 此项目 中的代码可以解密。
root@h3c:~/tong# cat /etc/sys_config.conf
[base]
sunlogincode=7795-4337-1077-6313-8792 # 有这一行表示登录了,没这一行表示没有登录
encryptupgrade=+xobY0S3auFWDryr1fumCg==
encry_pwd=jLyh3pJLT0E= # 这里是加密后的密码
client_id=TlMa4QaudSPKNhROIVkYr0Z4cDk7u1iTfeGG8zkcHmyi/2Ewp3yX8w==
secret_id=vRmaHKck0JBrYv4zHx3pgEjp3L1j9cCWf5nkYJ2WKs0=
machine_id=2QsctlS9RSVNQWmiUeYCqkFusPmNbImc8cXcGFxGhH5qHlbtQ3C7Hw==
license=38b3-5092-dfa0-cb73
licensepsw=
fastcode=k248148974 # 这里是识别码,去除首字母
fastcodepsw=s4X0lKRaQJrQuKyLrIHPnaDAnb5mbjS4
sunloginserver=rc10-fc04.oray.com:443
access_token=
refresh_token=
【注意】:安装向日葵(或Todesk等类似的软件)之后,操作系统在隔一段时间后会陷入休眠(睡眠),导致无法ssh远程连接,也无法ping通。解决方案为:执行下面的命令
- systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
linux系统无法通过向日葵被远控解决方案:
- Ubuntu17.10以上
- https://service.oray.com/question/11969.html
- 这其实是由于系统默认采用了wayland作为显示服务器的缘故。修改为Xorg服务显示器即可。
- ubuntu20.04默认使用的就是Xorg,不要修改为wayland.
- 使用命令·echo $XDG_SESSION_TYPE·查看当前使用的是哪个显示服务器。
- 这其实是由于系统默认采用了wayland作为显示服务器的缘故。修改为Xorg服务显示器即可。
- 向日葵 设置-安全,将Ubuntu访问(无人值守)设置为无密码直接访问。
- 最近在使用向日葵时发现一个问题,Ubuntu端可以远程Win10端,但反之不可,除此之外,Android、IOS端远程Ubuntu端也是一直显示 “连接已断开”。解决完后特此整理下!!!
究其根源,问题出在linux显示管理器上。解决方法如下:
sudo apt-get update
sudo apt-get upgrade
sudo apt install lightdm
执行最后这一步会有一个默认显示管理器的选项,即:gdm3、lightdm,这个随你怎么选,因为两个可以通过下面方式进行切换,但要想解决上面的问题就要每次远程的时候选择lightdm,最后重启即可解决!!!
切换显示管理器类型:sudo dpkg-reconfigure lightdm 或者 sudo dpkg-reconfigure gdm3
值得一提的是,如果选择了lightdm,那么快捷键win+L将无法锁屏,当然用鼠标可以锁。
【自总结】这一步实际上只需要lightdm服务属于启动状态即可(ubuntu20.04上使用systemctl start lightdm.service来开启此服务),即使切换为gdm3实测也能用向日葵连上。但可能启动lightdm服务时可能会失败,此时需要使用`dpkg-reconfigure lightdm`命令先配置下lightdm。
- https://service.oray.com/question/11969.html
- CentOS:
- not met yet
向日葵或xrdp或todesk远程一直黑屏的问题:
- Ubuntu20.04
- 遇到的这种现象原因是 wayland和X11的问题(使用X11不会有问题,wayland有问题),可以在本地显示屏连接服务器,然后使用`echo $XDG_SESSION_TYPE`查看当前使用的是wayland还是X11. 如果是wayland,则可以编辑`/etc/gdm3/custom.conf`, 然后将·WaylandEnable=false·注释放开,然后重启gdm3服务:·systemctl restart gdm3.service·; 即可恢复X11。
- 用向日葵连接89.1,root用户无法操作,可以使用其他用户登录,可以正常操作。在89.1上执行了·systemctl restart gdm3.service·后,向日葵连接89.1时就会返回到登录界面,重新输入用户名和密码。
- 192.168.89.2无法连接todesk(类似黑屏),设置为
dpkg-reconfigure gdm3
选gdm3,然后systemctl stop lightdm,然后systemctl restart gdm3,之后就能连上了。过段时间又连不上了,然后再切换为lightdm又可以了。真是奇怪。另外:通过todesk连接89.2,分辨率只能是640x480,无法调节... - 192.168.89.1 使用todesk或向日葵连接后,屏幕被冻结,无法操作,设置为
dpkg-reconfigure lightdm
选lightdm,然后systemctl stop gdm3
,systemctl restart lightdm
之后就可以了。 - 192.168.89.53的todesk不停地断线,一会好一会坏。好像是配置root本地登录导致的。解决方法:重启gdm服务
systemctl restart gdm.service
,然后各种重启todesk。 - 如果没有gdm3或lightdm,todesk也无法连接(一直卡在连接界面,xshell那里会一直弹出xmanager安装提示),使用
apt install lightdm
(lightdm和gdm都是这个命令安装)安装即可。
centos7:
- 重启GNOME桌面服务:·systemctl restart gdm.service·
★,Todesk
Linux版安装:官网。包含安装、配置、卸载等。
todesk的配置文件位置: /opt/todesk/config/config.ini,里面有设备连接码
- 小技巧:可以把windows下的配置文件(安装目录下)中的加密密码复制到Linux的配置文件中,这样就可以知道加密后的密码是多少了。
clienti
即设备连接码。privatedata
是设备连接码的加密形式。tempauthpassex
是临时密码,默认没有这个字段,可以手动添加。临时密码也是加密的,可以将privatedata
的值作为tempauthpassex
的值,这样使用设备连接码的明文就可以作为临时密码了authpassex
是安全密码。也是加密的。
安装后,进程如下:
(base) [root@master33 ~]$ps -ef |grep -i todesk
root 1825 1 2 1月31 ? 1-04:48:42 /opt/todesk/bin/ToDesk_Service
root 1519683 1494507 0 10:27 pts/6 00:00:00 grep --color=auto -i todesk
root 2295074 2294220 0 3月17 ? 00:10:09 /opt/todesk/bin/ToDesk
(base) [root@server51 ~]# systemctl status todeskd.service
● todeskd.service - ToDesk Daemon Service
Loaded: loaded (/etc/systemd/system/todeskd.service; enabled; vendor preset: disabled)
Active: active (running) since 三 2024-04-03 14:31:44 CST; 6min ago
Process: 39442 ExecStop=/bin/kill -SIGINT $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 82603 (ToDesk_Service)
Tasks: 86
Memory: 180.4M
CGroup: /system.slice/todeskd.service
├─ 82603 /opt/todesk/bin/ToDesk_Service
└─106039 /opt/todesk/bin/ToDesk_Session --capAudio=false --blockInput=false --blackScreen=false --capCursor=false --capindex=0 --fps=1 --EncodeFormat=2 --EncodeType=...
4月 03 14:31:44 server51 systemd[1]: Started ToDesk Daemon Service.
命令行重启Todesk:·todesk` 或者·/opt/todesk/bin/ToDesk·,重启后只有ToDesk_Service这个进程,但是不影响使用!如果不行,再启动下·systemctl start todeskd.service·
todesk只能通过桌面版terminal打开,ssh的终端会报错:(ToDesk:526951): Gtk-WARNING **: 19:30:23.753: cannot open display:。可以先通过xrdp远程连上。
clash tun mode会影响todesk的启动,如无法正常启动,需关闭tun mode,安装todesk后再重新启动tun mode。
※,安装google-chrome
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- 安装:apt install ./google-chrome-stable_current_amd64.deb 或 dpkg -i google-chrome-stable_current_amd64.deb
- 启动:google-chrome
- 如果不能启动,可以尝试使用如下命令:·nohup chromium-browser --no-sandbox & > /dev/null·
- 卸载:dpkg -r google-chrome
※,ubuntu 20.04LTS 桌面版 移动无线网卡驱动安装以及发射wifi信号(设置wifi热点)
- 安装移动无线网卡驱动,参考此文 ,具体如下:
RTL8811是一款双频的wifi网卡,支持Linux操作系统,本次案例就是在Ubuntu20桌面版操作系统中安装RTL8811的网卡驱动。
一、支持的网卡
RTL8811AU、RTL8811CU、RTL8821AU、RTL8821CU
二、下载驱动
github:https://github.com/brektrou/rtl8821CU 直接下载zip源码即可
本站下载三、安装驱动
1、安装dkms
sudo su -i #切换到root用户 apt-get update #更新安装源 apt-get install -y dkms #安装dkms
2、安装驱动程序
unzip rtl8821CU-master.zip #解压上面下载的驱动 cd cd rtl8821CU-master ./dkms-install.sh #安装!
显示如下内容则代表安装成功,拔插网卡查看是否正常工作。
[root@167 rtl8821CU]$./dkms-install.sh About to run dkms install steps... Creating symlink /var/lib/dkms/rtl8821CU/5.4.1/source -> /usr/src/rtl8821CU-5.4.1 DKMS: add completed. Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area... 'make' KVER=5.15.0-41-generic........................................................ Signing module: - /var/lib/dkms/rtl8821CU/5.4.1/5.15.0-41-generic/x86_64/module/8821cu.ko Secure Boot not enabled on this system. cleaning build area... DKMS: build completed. 8821cu.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/5.15.0-41-generic/updates/dkms/ depmod... DKMS: install completed. Finished running dkms install steps.
安装完成后进行如下操作:
- cd /var/lib/dkms/rtl8821CU/5.4.1/5.15.0-41-generic/x86_64/module/
- install -p -m 644 8821cu.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
- 5.15.0-46-generic
- /sbin/depmod -a $(uname -r)
- 重启机器后,ip a 即可看到无线网卡,如wlx502b73140b1e
发射wifi信号,参考此文
- 命令行输入·nm-connection-editor·打开网络连接页面