欢迎光临
我们一直在努力

Linux技巧

如何在 Ubuntu 上安装 Wine 来运行 Windows 软件

阅读(436)评论(0)

当 Windows 用户开始使用 Linux 时,他们面临的主要问题是某些软件不可用。 但是在像 Wine 这样的兼容层的帮助下,您可以轻松地在 Linux 上使用 Windows 应用程序。在本文中,将带您一起讨论 Wine 是什么以及如何在 Ubuntu 系统上安装它。

什么是 Wine?

当 Linux 首次发布时,它不支持为其他操作系统本地开发的应用程序。 快进到现在,Linux 用户可以使用 Wine(Linux 的开源兼容层)轻松地在他们的系统上运行 Windows 应用程序。 您甚至可以使用 Wine 在 Linux 上使用 Microsoft Excel。

Wine(最初是 Wine Is Not an Emulator 的首字母缩写)支持 Windows 软件和应用程序。 Wine 的开发彻底改变了 Linux 用户的游戏。 还开发了类似的兼容层,例如 Proton 和 CrossOver,以允许用户充分利用他们的 Linux 系统。

如何在 Ubuntu 上安装 Wine

在 Ubuntu 上安装 Wine 有多种方式。 您可以使用 Ubuntu 的官方包管理器 (Apt) 下载该包,从官方 WineHQ 存储库中获取该包,或使用应用程序管理器安装它。

用 Apt 安装 Wine

在使用 Apt 安装 Wine 之前,您需要检查您是否拥有 x86 版本或 x64 版本。 这很重要,因为这两种口味的包装不同。

要检查操作系统的风格,请打开终端并输入:

1
lscpu

在输出中查找 Architecture 标签。 如果显示 x86_32,则您的计算机正在运行 x86 风格的 Ubuntu,如果是 x86_64,则您的计算机上安装了 Ubuntu x64。

现在您知道必须安装哪个软件包,请使用 Apt 软件包管理器从官方 Ubuntu 存储库中获取软件包。

1、按 Ctrl + Alt + T 启动终端
2、使用 Apt 安装 Wine 包。 x86 风格的包名是 wine32 和 wine64 for x64

1
2
sudo apt-get wine32
sudo apt-get wine64

3、出现安装提示时输入y/yes

安装完成后,通过在终端中输入 wine –version 来检查 Wine 是否正确安装在您的计算机上。 您将在屏幕上看到输出。

1
wine-5.0 (Ubuntu 3.0-1ubuntu1)

从 WineHQ 存储库下载 Wine

WineHQ 存储库是 Wine 包的官方存储库。

1、输入命令以在您的机器上启用 32 位支持

1
sudo dpkg --add-architecture i386

2、将 WineHQ 签名密钥添加到您的系统

1
wget -qO- https://dl.winehq.org/wine-builds/Release.key | sudo apt-key add -

3、运行以下命令从 Wine 存储库导入密钥

1
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv F987672F

4、使用 add-apt-repository 将官方 Wine 存储库添加到您系统的存储库列表中

1
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

5、使用 Apt 更新系统的软件包列表

1
sudo apt-get update

6、在 Ubuntu 上下载稳定版的 Wine

1
sudo apt-get install --install-recommends winehq-stable

7、在询问安装提示时输入 y/yes

通过在终端中输入 wine –version 来检查您的系统上是否安装了最新版本的 Wine。

在 Linux 上运行 Windows 应用程序

仅仅为了运行几个游戏或应用程序而不得不使用虚拟机或双引导 Windows 和 Linux 的日子已经一去不复返了。 借助 Wine 和 Proton 等开源兼容层,用户现在可以在其 Linux 系统上享受 Windows 应用程序的好处。

同样,您也可以使用适用于 Linux 的 Windows 子系统在 Windows 上安装 Linux。 WSL 中对多个发行版的支持清楚地表明,微软现在正在关注开源项目。

Linux下使用TCP封装器来加强网络服务安全

阅读(431)评论(0)

在这篇文章中,我们将会讲述什么是 TCP 封装器(TCP wrappers)以及如何在一台 Linux 服务器上配置他们来限制网络服务的权限。在开始之前,我们必须澄清 TCP 封装器并不能消除对于正确配置防火墙的需要。

Linux下使用TCP封装器来加强网络服务安全

就这一点而言,你可以把这个工具看作是一个基于主机的访问控制列表,而且并不能作为你的系统的终极安全措施。通过使用一个防火墙和 TCP 封装器,而不是只偏爱其中的一个,你将会确保你的服务不会被出现单点故障。

正确理解 hosts.allow 和 hosts.deny 文件

当一个网络请求到达你的主机的时候,TCP 封装器会使用 hosts.allow 和 hosts.deny (按照这样的顺序)来决定客户端是否应该被允许使用一个提供的服务。.
在默认情况下,这些文件内容是空的,或者被注释掉,或者根本不存在。所以,任何请求都会被允许通过 TCP 过滤器而且你的系统被置于依靠防火墙来提供所有的保护。因为这并不是我们想要的。由于在一开始我们就介绍过的原因,清确保下面两个文件都存在:

# ls -l /etc/hosts.allow /etc/hosts.deny

两个文件的编写语法规则是一样的:

<services> : <clients> [: <option1> : <option2> : ...]

在文件中,
1. services 指当前规则对应的服务,是一个逗号分割的列表。
2. clients 指被规则影响的主机名或者 IP 地址,逗号分割的。下面的通配符也可以接受:

1).ALL 表示所有事物,应用于clients和services。

2).LOCAL 表示匹配在正式域名中没有完全限定主机名(FQDN)的机器,例如 localhost。

3).KNOWN 表示主机名,主机地址,或者用户是已知的(即可以通过 DNS 或其它服务解析到)。

4).UNKNOWN 和 KNOWN 相反。

5).PARANOID 如果进行反向 DNS 查找彼此返回了不同的地址,那么连接就会被断开(首先根据 IP 去解析主机名,然后根据主机名去获得 IP 地址)。

3. 最后,一个冒号分割的动作列表表示了当一个规则被触发的时候会采取什么操作。

你应该记住 /etc/hosts.allow 文件中允许一个服务接入的规则要优先于 /etc/hosts.deny 中的规则。另外还有,如果两个规则应用于同一个服务,只有第一个规则会被纳入考虑。不幸的是,不是所有的网络服务都支持 TCP 过滤器,为了查看一个给定的服务是否支持他们,可以执行以下命令:

# ldd /path/to/binary | grep libwrap

如果以上命令执行以后得到了以下结果,那么它就可以支持 TCP 过滤器,sshd 和 vsftpd 作为例子,输出如下所示。
Linux下使用TCP封装器来加强网络服务安全

如何使用 TCP 过滤器来限制服务的权限

当你编辑 /etc/hosts.allow 和 /etc/hosts.deny 的时候,确保你在最后一个非空行后面通过回车键来添加一个新的行。
为了使得 SSH 和 FTP 服务只允许 localhost 和 192.168.0.102 并且拒绝所有其他用户,在 /etc/hosts.deny 添加如下内容:

sshd,vsftpd : ALL 
ALL : ALL

而且在 /etc/hosts.allow 文件中添加如下内容:

sshd,vsftpd : 192.168.0.102,LOCAL

这些更改会立刻生效并且不需要重新启动。
在下图中你会看到,在最后一行中删掉 LOCAL 后,FTP 服务器会对于 localhost 不可用。在我们添加了通配符以后,服务又变得可用了。
Linux下使用TCP封装器来加强网络服务安全
为了允许所有服务对于主机名中含有 example.com 都可用,在 hosts.allow 中添加如下一行:

ALL : .example.com

而为了禁止 10.0.1.0/24 的机器访问 vsftpd 服务,在 hosts.deny 文件中添加如下一行:

vsftpd : 10.0.1.

在最后的两个例子中,注意到客户端列表每行开头和结尾的点。这是用来表示 “所有名字或者 IP 中含有那个字符串的主机或客户端”

vps(linux)搭建一个漂亮美观的实时监控服务

阅读(424)评论(0)

随着迷恋上各种服务自建,买了几台vps,配置都很低,动不动就出问题,等到使用的时候才发现服务坏掉了,我意识到一个监控服务是必须的。

在我的职业生涯中,linux监控服务使用过监控宝,后来是nagios,zabbix

但是这两个东西的界面都非常简陋,甚至有些丑。

直到一个群友给我推荐了Prometheus+Grafana

Grafana是什么

Grafana是一跨平台的开源的可视化分析工具,目前网络架构和应用分析中最流行的时序数据展示工具,主要用于 大规模指标数据的可视化展示。 快速灵活、易用性强的客户端图表,丰富的仪表盘插件,让复杂的数据更加直观。

简单来说,grafana是一个界面,数据通过api接口读取展示

这里用的数据源是Prometheus,当然,其他的监控工具也可以使用grafana作为界面使用,但是相对来说prometheus占用资源更少

Prometheus 是什么

现在最常见的 Docker、Mesos、Kubernetes 容器管理系统中,通常会搭配 Prometheus 进行监控。

Prometheus [prəˈmiθju:s] 普罗米修斯 Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供 HTTP 接口就可以接入监控系统,不需要任何 SDK 或者其他的集成过程。这样做非常适合虚拟化环境比如 VM 或者 Docker 。

输出被监控组件信息的 HTTP 接口被叫做 exporter。

目前互联网公司常用的组件大部分都有 exporter 可以直接使用,比如 Varnish、Haproxy、Nginx、MySQL、Linux 系统信息 (包括磁盘、内存、CPU、网络等等),具体支持的源看:https://github.com/prometheus。

exporter ([ekˈspɔ:tə(r)] 出口商)对比主流的监控工具的操作界面:nagios 监控界面:

zabbix 监控界面

通过上面的界面,我们可以看出来 Grafana+Prometheus 展示界面更美观 1.1.2 Prometheus 架构图解普罗米修斯(Prometheus)及其一些生态系统组件的整体架构:

搭建过程

主服务器安装Prometheus+Grafana

操作系统:Centos7.6

安装Prometheus

Prometheus 项目主页:https://github.com/prometheus/prometheus/

根据自己的操作系统选择合适的包

# 查看操作系统版本
cat /etc/os-release 

#NAME="CentOS Linux"
#VERSION="7 (Core)"

yum update
yum install wget

# 下载prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.40.2/prometheus-2.40.2.linux-amd64.tar.gz
tar zxf prometheus-2.40.2.linux-amd64.tar.gz -C /opt
mv /opt/prometheus-2.40.2.linux-amd64 /opt/prometheus

配置开机启动

vim /usr/lib/systemd/system/prometheus.service
# content #
[Unit]
Description=prometheus service
 
[Service]
User=root
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data
 
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
 
[Install]
WantedBy=multi-user.target

启动服务

systemctl daemon-reload
systemctl enable prometheus --now
systemctl status prometheus

开启防火墙端口9090

# 如果防火墙未开启就不用打开端口了#
firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload

浏览器里访问 http://ip:9090

安装Grafana

设置官方源

vim /etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

如果是国内服务器最好是设置中文源

vim /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm
repo_gpgcheck=0
enabled=1
gpgcheck=0

安装

yum makecache -y
yum install grafana -y
systemctl daemon-reload
systemctl enable grafana-server --now
systemctl status grafana-server

开启防火墙端口3000

# 如果防火墙未开启就不用打开端口了#
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload

浏览器里访问 http://ip:3000

默认用户名密码都是admin,初次登录会要求修改默认的登录密码:

Grafana
Grafana

添加Prometheus数据源

点击主界面的“Add your first data source”并选择Prometheus:

Prometheus+Grafana

Dashboards页面选择“Prometheus 2.0 Stats”进行Import:

Settings页面填写普罗米修斯地址并保存:

切换到我们刚才添加的“Prometheus 2.0 Stats”即可看到整个监控页面:

安装配置 node_exporter

这是被监控端需要安装的,因为主服务器本身也要监控,所以也要安装

项目主页:https://github.com/prometheus/node_exporter

wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
tar xf node_exporter-1.4.0.linux-amd64.tar.gz -C /opt/

mv /opt/node_exporter-1.4.0.linux-amd64/ /opt/node_exporter

创建 node_exporter 系统服务启动文件

vim /usr/lib/systemd/system/node_exporter.service

#Prometheus Node Exporter Upstart script
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=root
ExecStart=/opt/node_exporter/node_exporter

[Install]
WantedBy=default.target

启动node_exporter

systemctl daemon-reload
systemctl enable node_exporter --now
systemctl status node_exporter
# 服务启动后可以用 http://localhost:9100/metrics 
# 如果防火墙未开启就不用打开端口了#
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload

浏览器里访问 http://ip:9100/metrics 测试 node_exporter 是否获取到节点的监控指标。

Prometheus配置文件添加监控项:

vim /opt/prometheus/prometheus.yml

# 务必注意格式,多少个空格就是多少个空格,不然会报错。

  - job_name: 'linux-master'
    static_configs:
    - targets: ['localhost:9100']
      labels:
        instance: linux-master

重启prometheus

systemctl reload prometheus.service

回到Grafana的主界面,grafana导入画好的dashboard:

下载json文件:https://picture-bed-iuskye.oss-cn-beijing.aliyuncs.com/prometheus/node-exporter_rev5.json

其他的exporter:

https://cloud.tencent.com/document/product/1416/56041

 

修改名字,选择我们前文创建好的数据源,点击导入即可:

下面这个提示是grafana缺少相关显示需要用到的插件piechart,grafana的默认插件目录是/var/lib/grafana/plugins,可以将下载好的插件解压到这个目录,重启grafana即可

安装插件

grafana-cli plugins install grafana-piechart-panel
grafana-cli plugins install digiapulssi-breadcrumb-panel
grafana-cli plugins install grafana-polystat-panel
 
systemctl restart grafana-server

查看已安装插件:

/usr/sbin/grafana-cli plugins ls
installed plugins:
grafana-piechart-panel @ 1.3.3

再刷新grafana页面,即可看到我们刚才设置好的node监控:

被监控主机:

其他被监控vps只需要安装node_exporter

打开防火墙,允许服务器访问Prometheus 端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="Pro主机的ip" port protocol="tcp" port="9090" accept"
firewall-cmd --reload

去grafana添加数据源

同上

vps常用脚本大全

阅读(420)评论(0)

以下脚本均来自网络收集,包括但不限于别人分享,网上分享等路径,可以放心使用。如果脚本已失效请在下方评论告知!

自动草稿

准备工作

在测试的过程中,出现命令不充在,一般情况下你首先要安装wget和curl

Centos安装命令

yum install wget -y

Debian/ubuntu安装命令

apt-get install wget -y

提示证书问题可以使用以下命令

1、BBR 锐速一键安装
#脚本1
wget -N "https://github.000060000.xyz/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
#脚本2(进入网址查看)
https://github.com/Meilinhost/LotServer_Vicer

2、DD系统脚本一脚本DD各种linux脚本

来至萌伽大佬

wget --no-check-certificate -O AutoReinstall.sh https://git.io/AutoReinstall.sh && bash AutoReinstall.sh
#来自互联网

3、Besttrace4Linux路由测试脚本(链路可视化)

wget http://cdn.ipip.net/17mon/besttrace4linux.zip
#解压
unzip besttrace4linux.zip
#授权
chmod +x besttrace
#使用
./besttrace -q 1 这里是目标IP
#如果是64位系统则直接besttrace替换besttrace32
4、TCP回程路由测试
wget -qO- git.io/autobesttrace | bash

5、柠檬脚本可测试配置、IO、CPU、内存、路由

curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast

6、专业测硬盘脚本测IO和网速(可直接测IPv6的网速,国外节点)

wget -qO- bench.sh | bash
#测试VPS基础信息,以及下载速度,来自秋水逸冰

7、SuperBench可测试配置、IO、网速等

wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash
8、Superspeed测速脚本三网测速,可单独测试
bash <(curl -Lso- https://raw.githubusercontent.com/opear2008/superspeed/master/superspeed.sh)
bash <(curl -Lso- https://git.io/J1SEh)

9、UnixBench测试脚本(UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试Linux系统主机的性能。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。)

wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

10、独服测试硬件脚本

11、superbenchpro

可测试配置、IO、跑分、网速

bash &lt;(wget --no-check-certificate -O- https://dl.233.mba/sh/superbenchpro.sh)

12、路由测试

柠檬脚本可以直接测试路由,以下脚本可以直接测试三网路由,每个网络有三个节点

14、存检测脚本

FunctionClub大佬作品,本程序检测的可分配内存指的是用户使用时最大能占用的内存量。特点:检测VPS真实可分配内存,适用于检测VPS超售情况

#CentOS / RHEL
yum install wget -y
yum groupinstall "Development Tools" -y
wget https://raw.githubusercontent.com/FunctionClub/Memtester/master/memtester.cpp
gcc -l stdc++ memtester.cpp
./a.out
#Ubuntu / Debian
apt-get update
apt-get install wget build-essential -y
wget https://raw.githubusercontent.com/FunctionClub/Memtester/master/memtester.cpp
gcc -l stdc++ memtester.cpp
./a.out

CentOS 8停止维护后我们怎么来进行修复yum故障问题?

阅读(416)评论(0)

自从2021年底CentOS 8停止了维护后yum就无法正常使用了,虽然CentOS 8的稳定性是毋庸置疑的,甚至客户也没有要求没有更新CentOS 8,但很明显这是不科学的,今天自己搭建了一个蜜网系统,想着将自己代运维的服务器都加入进来,需要用到yum进行一些更新就顺手修复了这个故障,趁着几个服务器都在yum update中……,就顺手做个笔记记录下来,因为站长发现网上大部分的教程都是瞎扯淡。

自动草稿

第一个故障:yum error: rpmdb: BDB0113
就是运行yum后,出现BDB0113等一系列的错误,如下图:自动草稿

 

这个应该是需要重新构建rpm数据库了,具体命令如下:

cd /var/lib/rpm
rm -rf __db*
rpm –rebuilddb

自动草稿

第二个故障:Failed to download metadata for repo ‘appstream’
这个错误主要就是CentOS 8默认的源已经失效造成的,我们只需要删除旧的默认源,替换成阿里云的CentOS 8镜像源即可。

进入yum的repos目录
cd /etc/yum.repos.d/

修改所有的CentOS文件内容
sed -i ‘s/mirrorlist/#mirrorlist/g’ /etc/yum.repos.d/CentOS-*

sed -i ‘s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g’ /etc/yum.repos.d/CentOS-*

更新yum源为阿里镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

yum clean all

yum makecache

好了,到这里就修复好了yum的故障了,实测有效的哦!

Linux/Windows/Mac上如何刷新DNS缓存?

阅读(414)评论(0)

一般我们在更换DNS源或配置了HOSTS后,刷新DNS缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试,但是不同的系统如Windows、Mac OS和Linux上的方法是不一样的。

 

自动草稿

如果是 Win 系统:
1.在附件中找到 cmd 或Win+R快捷键并输入cmd运行;
2.在打开的命令行窗口,输入 ipconfig /flushdns;

如果是Linux系统,刷新 DNS 缓存需要重起 nscd daemon:

1.要重起 nscd daemon,在命令行窗口(terminal)输入 /etc/rc.d/init.d/nscd restart

2.命令执行完毕,你的DNS缓存就被刷新了。

如果是比较新的Linux版本,你可能需要使用下面的命令:/etc/init.d/nscd restart或systemctrl restart nscd

如果是mac OS系统:
1.在命令行窗口(terminal)输入 lookupd -flushcache或type dscacheutil -flushcache

最新的 OS X Mountain Lion or Lion 上刷新DNS应该是:sudo killall -HUP mDNSResponder。

Linux 中使用 sFTP 上传或下载文件与文件夹

阅读(413)评论(0)

sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似。 然而,sFTP 比 FTP 更安全;它通过加密 SSH 传输处理所有操作。

它可以配置使用几个有用的 SSH 功能,如公钥认证和压缩。 它连接并登录到指定的远程机器,然后切换到交互式命令模式,在该模式下用户可以执行各种命令。

在本文中,我们将向你展示如何使用 sFTP 上传/下载整个目录(包括其子目录和子文件)。

如何在 Linux 中使用 sFTP 传输文件/文件夹

默认情况下,SFTP 协议采用和 SSH 传输协议一样的方式建立到远程服务器的安全连接。虽然,用户验证使用类似于 SSH 默认设置的密码方式,但是,建议创建和使用 SSH 无密码登录,以简化和更安全地连接到远程主机。

要连接到远程 sftp 服务器,如下建立一个安全 SSH 连接并创建 SFTP 会话:

$ sftp tecmint@192.168.56.10

登录到远程主机后,你可以如下运行交互式的 sFTP 命令:

sftp> ls            #list directory 
sftp> pwd           #print working directory on remote host
sftp> lpwd          #print working directory on local host
sftp> mkdir uploads     #create a new directory

Linux 中使用 sFTP 上传或下载文件与文件夹

如何使用 sFTP 上传文件夹

要将整个目录上传到远程 Linux 主机中,请使用put命令。但是,如果目录名称不存在于远程主机上的工作目录中,你将收到错误,如下面的屏幕截图所示。

因此,首先在远程主机上创建一个具有相同名称的目录,然后从本地主机上传它,-r参数允许拷贝子目录和子文件:

sftp> put -r  Tecmint.com-articles
sftp> mkdir Tecmint.com-articles
sftp> put -r Tecmint.com-articles

Linux 中使用 sFTP 上传或下载文件与文件夹
要保留修改时间、访问时间以及被传输的文件的模式,请使用-p标志。

sftp> put -pr Tecmint.com-articles
如何使用 sFTP 下载文件夹

要从远程 Linux 主机下载整个 fstools-0.0 文件夹到本机中,如下所示使用 get 命令带上-r标志:

sftp> get -r fstools-0.0

Linux 中使用 sFTP 上传或下载文件与文件夹

使用 sFTP 下载目录

如果文件夹已经下载完成了,接着查看本机的工作目录。

要退出 sFTP shell,输入:

sftp> bye或者sftp> exit

请注意,为了防止用户访问远程主机上的整个文件系统,出于安全原因,你可以使用 chroot Jail将 sFTP 用户限制到其主目录中。

就是这样了!在本文中,我们向你展示了如何使用 sFTP 上传/下载整个目录。

Linux 中如何自动批量创建用户

阅读(412)评论(0)

 Linux 系统管理员,你有时必须向系统添加新的用户帐户。为此,经常使用 adduser 命令。当涉及到多个用户的创建时,adduser 命令可能会变得相当无聊和耗时。这篇短文旨在为 Linux 系统管理员提供一种简单而无人值守的方式来批量创建用户。newusers 命令将帮助你通过从预填文件中获取信息来创建多个用户。

 

要求

访问 Linux 计算机的特权。

约定

#- 给定命令需要以 root 用户权限运行或者使用sudo命令

$- 给定命令以常规权限用户运行

如何进行
创建一个包含用户名的文件

首先,你需要创建一个包含用户名列表的文件。

$ vi users-list.txt

在文件中,一个用户一行,下面是样式:

Username:Password:User ID:Group ID:User Info:Home Directory:Default Shell
Username:Password:User ID:Group ID:User Info:Home Directory:Default Shell
Username:Password:User ID:Group ID:User Info:Home Directory:Default Shell
...
创建用户

在创建了包含用户信息的文件后,使用 newusers命令创建用户。

# newusers users-list.txt
检查用户账户

最后你可以确认用户已经正确创建了,在/etc/passwd 文件中查看它们:

# tail /etc/passwd

Linux 中如何自动批量创建用户

Linux 系统是运行在虚拟机上还是物理机上

阅读(409)评论(0)

除了本机开发以外,我们平时使用 Linux 大部分是通过 ssh 连接到远程服务器上的,比如系统部署、运维等工作。

Linux 系统是运行在虚拟机上还是物理机上

在当前虚拟化非常成熟的环境下,我们所部署的大部分系统都是运行在虚拟机中的。但是也有部分是在物理机上。那么,怎样区分我们的系统是运行在虚拟机上,还是物理机上呢?

下面我们来详细讨论下这个问题。

有几个命令可以用来区分系统运行环境是在虚拟机还是物理机。

1,使用 dmidecode 命令

区分虚拟机和物理机,最简单的方法是使用 dmidecode 命令。如下所示:

sudo dmidecode -s system-manufacturer

如果是物理机,你会看到机器制造商的名称,比如 Dell,Lenovo 等;

如果是虚拟机,你会看到一些类似于 QEMU, innotek Gmbh(for VirtualBox)等的输出信息。

dmidecode 命令用于查看计算机的 DMI 信息,该信息以人类可读的方式输出。

DMI 是桌面管理界面(Desktop Management Interface)的缩写,是几乎所有系统制造商都遵守的标准。DMI 框架用于管理和跟踪桌面、笔记本电脑或服务器计算机中的组件。

由于有了 DMI,我们可以获得有关系统硬件、系统制造商和设备序列号的信息,而使用 dmidecode(DMI Decode)命令,可以获取这些信息。另外,使用 -s system-manufacturer 也可获取制造商的详细信息。

如果系统环境是物理机,那么可以看到制造商的信息,比如:

$ sudo dmidecode -s system-manufacturer
Dell Inc.

相反,如果是虚拟机,可以将虚拟机的信息打印出来,如下所示:

$ dmidecode -s system-manufacturer
QEMU

这个命令用起来比较便捷。关于 dmidecode 命令的详细信息,大家也可以查看 man 手册。

如果想要查看 Linux 版本的信息,可以使用 uname 命令。因为 dmidecode 命令查看的是硬件信息,对于软件信息来说不适用。

2,使用 virt-what

区分虚拟机和物理机的另外一个方法是使用 virt-what

基本上,可以将其理解为是一个 shell 脚本,可以作为命令安装在大多数 Linux 发行版中。安装命令如下:

sudo apt install virt-what

如果系统运行在一个物理机上,virt-what 命令将不会返回任何结果;相反,如果是运行在虚拟机上,将会输出虚拟机的一些信息,如下所示:

$ virt-what 
kvm

以上就是本次分享全部内容,欢迎讨论。

Linux Mint 21.1现已可供下载

阅读(408)评论(0)

Linux Mint更新基于Ubuntu 22.04 LT,包括一系列用户界面调整、bug修复和性能改进。对于那些尝试过的人来说,与Linux Mint 21.1测试版这个月早些时候发布的(是的,如果你使用那个beta版你可以升级到这个最终版本)。

嗯,Linux Mint 21.1默认情况下附带了Cinnamon 5.6桌面环境。这个版本的Cinnamon提供了一些新特性,包括默认启用的一个 新的角栏applet。使用角栏,你可以点击底部面板的最末端隐藏所有窗口,并立即显示桌面。

您可以在角条设置(可以从Mint小程序UI访问,也可以右键单击角条以及选择”偏好”)。在那里你也可以找到效果模糊和不透明度控制,让你创建你想要的效果。

Linux Mint 21.1现已可供下载
The Corner Bar in action on Linux Mint 21.1 

由于Linux Mint 21.1从底部面板中删除了”show desktop”小程序(作为新的角条重新实现功能)面板顺序略有变化:薄荷菜单保留在底部面板的最左侧,但现在后跟一个分隔符,然后是尼莫以及火狐:

Linux Mint 21.1现已可供下载

Linux Mint 21.1在默认情况下不再放置”主页”或”垃圾桶”或桌面的图标。您可以从桌面图标设置,如果你错过了他们。
谈到图标,Linux Mint 21.1提供了新的文件夹图标。这是立即注意到长期用户打开Nemo文件管理器。Mint现在使用亮黄色的文件夹图标,底部有一条蓝色的对角线,而不是一片柔和的绿色。“桌面”图标现在反映了Cinnamon的默认布局。

Linux Mint 21.1现已可供下载
New default folder icons (and they’re not green – shock)

Linux Mint 21.1使用’aqua’作为默认的颜色强调。与发行版同义的(相当标志性的)绿色已经退休了,Mint认为它不需要到处使用绿色来提醒人们他们正在使用Linux Mint –他们已经意识到了!
还有一个风格化的新鼠标光标主题;还有一些流行的Linux图标集,包括Ubuntu的Yaru、长期流行的Papirus和KDE的Breeze都是预装的–尽管Mint-Y主题仍然是默认的图标集。
在其他地方,Linux Mint 21给出了它的司机经理以及软件来源工具的一些新功能,包括运行司机经理在用户模式(即,而不需要根密码),并离线工作。此更新还引入了一个ISO验证工具,可通过右键单击中的ISO映像进行访问尼莫。
Flatpak更新现在与其他更新一起安装在更新管理器,以及软件经理UI已经过优化,当软件是Flatpak或系统包时,用户界面更加明显。一条捷径显示器设置现在出现在桌面的右键单击上下文菜单中。

Download Linux Mint 21.1

下载Linux Mint 21.1

一旦Linux Mint 21.1正式发布,你可以从Linux Mint网站下载它,或者提前从官方的 Linux Mint下载镜像(英国的镜像已经有了)。

登录

忘记密码 ?