对于在Ubuntu(18.04)上挂载WindowsSever(2012)smb1感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于Ansible-使用NFS在WindowsServer20
对于在 Ubuntu (18.04) 上挂载 Windows Sever (2012) smb1感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于Ansible - 使用 NFS 在 Windows Server 2019 上挂载 Amazon EFS 文件系统:网络错误 53、Samba 4.11 发布,默认情况下禁用 SMB1、Smb1 协议,服务器消息块、SQL Sever 2012 不能正常工作的多个项目的逗号分隔的宝贵知识。
本文目录一览:- 在 Ubuntu (18.04) 上挂载 Windows Sever (2012) smb1
- Ansible - 使用 NFS 在 Windows Server 2019 上挂载 Amazon EFS 文件系统:网络错误 53
- Samba 4.11 发布,默认情况下禁用 SMB1
- Smb1 协议,服务器消息块
- SQL Sever 2012 不能正常工作的多个项目的逗号分隔
在 Ubuntu (18.04) 上挂载 Windows Sever (2012) smb1
如何解决在 Ubuntu (18.04) 上挂载 Windows Sever (2012) smb1
我正在尝试使用 /etc/fstab 挂载我们的 SMB 共享 Raid,但运气不佳。 (raid 是 Tiger Technology 的 raid,从 appx 2015 开始,运行我相信的 Windows Server 2012,我们无权访问 raid 的 windows 部分,即被 Tiger Tech 锁定。)
我可以使用 fstab 挂载较新的 QNAP smb 挂载和 Windows 7 挂载,没问题。
Tiger Tech 发送了这些说明,
sudo mount -t cifs -o rw,guest,vers=1.0 //10.0.0.50/Tmount /mnt/Tmount
结果是
mount error(13): Permission denied
参考 mount.cifs(8) 手册页(例如 man mount.cifs)
在 /etc/fstab 中使用“guest”参数尝试了类似的命令,结果相同
我还有一个有效的用户名和密码,用用户名、密码和域制作了一个 .smbcerdentials 文件。还是不行,但至少有一些进展。现在我使用“mount -a”没有收到任何错误。 但是当我转到 /mnt/Tmount 和“ls”时,我收到错误
ls: reading directory ''.'': Input/output error
并且日志没有给出错误,/var/log/syslog 中的最后一个日志条目是
CIFS: Attempting to mount
我们在不同的位置还有另外两个 Tiger Raid,在这些位置上运行着两台相同的 Ubuntu 18.04 机器(安装了 docker 的干净 Ubuntu 安装)。
在这里我可以使用 SMB 安装
//10.0.0.50/Tmount /mnt/Tmount cifs credentials=/home/user/.smbcredentials,uid=1000,dir_mode=0777 0 0
我可以在 Windows、Mac OS 和 Ubuntu 18.04 桌面上挂载有问题的挂载。 我也可以用
smblcient //10.0.0.50/Tmount -N
它可以工作,与“-U user pass”相同,我可以挂载、列出文件等
似乎我可以在任何地方安装这个坐骑,除了我需要的地方。 关于如何在启动期间自动挂载此 RAID 的任何提示?
谢谢!
编辑1: 我尝试了一个紧急解决方案,Tiger 提供了将raid 挂载到pc/mac 的软件。并给挂载一个驱动器号。 我共享了测试 Windows 7 机器上的两个文件夹,一个来自 C: 驱动器的 test 文件夹,以及另一个来自 T: 驱动器(raid mount)的文件夹
C: 上的临时文件夹工作正常,T: 驱动器上的文件夹出现同样的错误
ls: reading directory ''.'': Input/output error
但在 Windows 中,T: 驱动器的行为与任何其他驱动器一样。
编辑 2:经过进一步的试验,我注意到,而我得到
ls: reading directory ''.'': Input/output error
在尝试列出共享内容时,我可以使用 sudo mkdir,它可以工作。那么是什么停止了 ls 命令?
Ansible - 使用 NFS 在 Windows Server 2019 上挂载 Amazon EFS 文件系统:网络错误 53
如何解决Ansible - 使用 NFS 在 Windows Server 2019 上挂载 Amazon EFS 文件系统:网络错误 53
我正在尝试使用 NFS 在 Windows Server 2019 上挂载 AWS EFS 文件系统,并使用 Ansible 对其进行配置。
我已经能够在相同区域、VPC 和可用区的 Linux 实例上挂载相同的 AWS EFS 文件系统,这让我觉得 AWS EFS 部分没问题。
这是我必须在 Windows 实例上配置 NFS 的内容:
---
- name: Ensure NFS is installed.
win_feature:
name: "{{ nfs_package }}"
state: present
- name: Add registry key AnonymousgiD
win_regedit:
path: HKLM:\\SOFTWARE\\Microsoft\\ClientForNFS\\CurrentVersion\\Default
name: AnonymousgiD
value: 0
type: dword
- name: Add registry key AnonymousUID
win_regedit:
path: HKLM:\\SOFTWARE\\Microsoft\\ClientForNFS\\CurrentVersion\\Default
name: AnonymousUID
value: 0
type: dword
- name: copy BAT file
win_copy:
src: nfs_mount_script.bat
dest: C:\\nfs_mount_script.bat
- name: Create scheduled task which will mount the network drive
win_scheduled_task:
name: nfs_mount
description: Map NFS share so that it is visible for Ansible tasks
actions:
- path: C:\\nfs_mount_script.bat
triggers:
- type: boot
username: SYstem
run_level: highest
- name: Mount an NFS volume
win_command: C:\\nfs_mount_script.bat
这是nfs_mount_script.bat
:
mount -o anon fs-0123456789abcdef.efs.eu-central-1.amazonaws.com:/ J:
这是我的控制台输出中的错误:
amazon-ebs: TASK [foo.jenkins-node.windows : Ensure NFS is installed.] *******************[0m
amazon-ebs: Friday 28 May 2021 21:18:10 +0200 (0:00:00.023) 0:00:56.326 ************[0m
amazon-ebs: changed: [default][0m
amazon-ebs:[0m
amazon-ebs: TASK [foo.jenkins-node.windows : Add registry key AnonymousgiD] **************[0m
amazon-ebs: Friday 28 May 2021 21:19:23 +0200 (0:01:12.874) 0:02:09.201 ************[0m
amazon-ebs: changed: [default][0m
amazon-ebs:[0m
amazon-ebs: TASK [foo.jenkins-node.windows : Add registry key AnonymousUID] **************[0m
amazon-ebs: Friday 28 May 2021 21:19:25 +0200 (0:00:01.963) 0:02:11.164 ************[0m
amazon-ebs: ok: [default][0m
amazon-ebs:[0m
amazon-ebs: TASK [foo.jenkins-node.windows : copy BAT file] ******************************[0m
amazon-ebs: Friday 28 May 2021 21:19:27 +0200 (0:00:01.913) 0:02:13.077 ************[0m
amazon-ebs: changed: [default][0m
amazon-ebs:[0m
amazon-ebs: TASK [foo.jenkins-node.windows : Create scheduled task which will mount the network drive] ***[0m
amazon-ebs: Friday 28 May 2021 21:19:31 +0200 (0:00:03.667) 0:02:16.745 ************[0m
amazon-ebs: changed: [default][0m
amazon-ebs:[0m
amazon-ebs: TASK [foo.jenkins-node.windows : Mount an NFS volume] ************************[0m
amazon-ebs: Friday 28 May 2021 21:19:33 +0200 (0:00:02.482) 0:02:19.227 ************[0m
amazon-ebs: fatal: [default]: Failed! => changed=true[0m
amazon-ebs: cmd: C:\\nfs_mount_script.bat[0m
amazon-ebs: delta: ''0:00:47.121981''[0m
amazon-ebs: end: ''2021-05-28 07:20:22.253220''[0m
amazon-ebs: msg: non-zero return code[0m
amazon-ebs: rc: 1[0m
amazon-ebs: start: ''2021-05-28 07:19:35.131239''[0m
amazon-ebs: stderr: ''''[0m
amazon-ebs: stderr_lines: <omitted>[0m
amazon-ebs: stdout: |2-[0m
amazon-ebs:[0m
amazon-ebs: C:\\Users\\Administrator>mount -o anon fs-0123456789abcdef.efs.eu-central-1.amazonaws.com:/ J:[0m
amazon-ebs: Network Error - 53[0m
amazon-ebs:[0m
amazon-ebs: Type ''NET HELPMSG 53'' for more information.[0m
amazon-ebs: stdout_lines: <omitted>[0m
已经尝试过:
- 谷歌搜索
NET HELPMSG 53
- 不是很有帮助,否则我不会在这里问。 - 用
mount -o anon fs-0123456789abcdef.efs.eu-central-1.amazonaws.com:/ J:
替换mount -o anon \\\\fs-03614eb713a56f8c2.efs.eu-central-1.amazonaws.com\\ J:
- 两者都不起作用。
作为参考,这是适用于 Linux (Ubuntu) 实例的相应 Ansible 代码:
---
- name: Ensure NFS is installed.
package:
name: "{{ nfs_package }}"
state: present
- name: Create a mountable directory if it does not exist
file:
path: "{{ efs_mount_dir }}"
state: directory
owner: "{{ jenkins_user }}"
group: "{{ jenkins_user }}"
mode: ''0775''
- name: Mount an NFS volume
mount:
name: "{{ efs_mount_dir }}"
src: "{{ efs_file_system_id }}.efs.{{ aws_region }}.amazonaws.com:/"
fstype: nfs4
opts: nfsvers=4.1
state: mounted
我需要将哪些 Ansible 魔法咒语复制/粘贴到我的 YAML 文件中,以便 Windows Server 挂载 EFS 文件系统?
解决方法
Windows 实例不支持 Amazon EFS。
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/AmazonEFS.html
Samba 4.11 发布,默认情况下禁用 SMB1
Samba 是 Linux 和 Unix 程序的标准 Windows 互操作性套件。Samba 4.11 可以提供更好的 Windows、Linux 和其他平台的互操作性。Samba 4.11 中的更改非常多,其中主要亮点是具有很大的可伸缩性改进。
Samba 4.11 中的其他一些重大更改包括:
- 将默认的流程模型更改为 prefork
- 增强 Samba-Tool
- 连接和重新索引操作的性能改进
- 更好的 LDB 搜索性能和 CephFS 快照集成
- 改变了 AD 数据库存储在磁盘上的方式
另外,Samba 4.11 支持 Python 3 (代替 Python2),默认情况下禁用 SMB1 协议支持。还有,客户机 / 服务器最低协议版本已被设置为 SMB 2_02,这意味着不支持 SMB2 或 SMB3 的客户端不能够连接到 smbd,SMB1 未来也将被删除。Samba 4.11 仍与旧版本 Samba 的数据库兼容。
更多改进见发布说明:
https://www.samba.org/samba/history/samba-4.11.0.html
Smb1 协议,服务器消息块
如何解决Smb1 协议,服务器消息块
我分配给了一个 smb1 修复/重写项目。我们在 2003 年的一些客户端服务器/机器中有 smb1,这是非常危险的。所以我们计划升级到它的最新版本。我是 SMB 的新手,所以请提供任何文档/步骤,以便我能够修复 smb1。谢谢!
SQL Sever 2012 不能正常工作的多个项目的逗号分隔
如何解决SQL Sever 2012 不能正常工作的多个项目的逗号分隔
我使用的是 sql Server 2012 (v11.0.5058.0 - X64)。我想为多列执行逗号分隔。由于我的 sql Server 版本是 2012,我无法使用 /** * * VAT Number in WooCommerce Checkout */ add_action( ''woocommerce_before_order_notes'',''wpdesk_vat_field'' ); function wpdesk_vat_field( $checkout ) { echo ''<div id="wpdesk_vat_field"><h2>'' . __(''Nakup na podjetje'') . ''</h2>''; woocommerce_form_field( ''vat_number'',array( ''type'' => ''text'',''class'' => array( ''vat-number-field form-row-wide''),''label'' => __( ''V kolikor nakupujete kot podjetje,vnesite ID za DDV'' ),''placeholder'' => __( ''Vnesite ID za DDV'' ),),$checkout->get_value( ''vat_number'' )); echo ''</div>''; } add_action( ''woocommerce_checkout_update_order_Meta'',''wpdesk_checkout_vat_number_update_order_Meta'' ); /** * Save VAT Number in the order Meta */ function wpdesk_checkout_vat_number_update_order_Meta( $order_id ) { if ( ! empty( $_POST[''vat_number''] ) ) { update_post_Meta( $order_id,''_vat_number'',sanitize_text_field( $_POST[''vat_number''] ) ); } } add_action( ''woocommerce_admin_order_data_after_billing_address'',''wpdesk_vat_number_display_admin_order_Meta'',10,1 ); /** * display VAT Number in order edit screen */ function wpdesk_vat_number_display_admin_order_Meta( $order ) { echo ''<p><strong>'' . __( ''ID za DDV'',''woocommerce'' ) . '':</strong> '' . get_post_meta( $order->id,true ) . ''</p>''; } add_filter( ''woocommerce_email_order_Meta_keys'',''wpdesk_vat_number_display_email'' ); /** * VAT Number in emails */ function wpdesk_vat_number_display_email( $keys ) { $keys[''ID za DDV''] = ''_vat_number''; return $keys; }
或 string_agg
,所以我正在尝试使用 CTE 和 ListAgg
,这对我来说是新的。
输出说明:
假设如果一个 FOR XML PATH
包含多个 staff ID
那么它应该用逗号分隔各个 Cost_Center
当前表格:
Staff_ID
所需的输出:
Staff_No | Name | CostCenter | status |
---------+--------+----------------+----------+
1270 | WASI | 850110 - CPP | Active |
1345 | FAK | 124600 - CPP | Active |
1270 | WASI | 850870 - BKR | Active |
我试过这个代码:
Staff_No | Name | CostCenter | status |
---------+--------+------------------------------+----------+
1270 | WASI | 850110 - CPP,850870 - BKR | Active |
1345 | FAK | 124600 - CPP | Active |
我没有得到想要的输出。我哪里出错了?请帮帮我
解决方法
作为规则,WHERE
的 SELECT .. FOR XML ..
子句应该使子查询依赖于外部查询的 GROUP BY
子句中列出的完全相同的列。试试
WITH CTE_TableName AS (
SELECT a.Staff_No,a.Name,CONVERT(varchar(19),a.COST_CENTER_CODE) + '' - '' + b.COST_CENTER_DESC as CostCenter,CASE a.Active WHEN 1 THEN ''Active'' WHEN 2 THEN ''Inactive'' END AS status
from [FAV_VS_STAFF_M] a,[FAV_VS_COST_CENTER_M] b )
SELECT t0.Staff_No,t0.Name,t0.status,STUFF((
SELECT '','' + t2.CostCenter
FROM CTE_TableName t2
WHERE t2.Staff_No = t0.Staff_No
AND t2.Name = t0.Name AND t2.status = t0.status
ORDER BY t2.CostCenter
FOR XML PATH('''')),1,LEN('',''),'''') AS FieldBs
FROM CTE_TableName t0
GROUP BY t0.Staff_No,t0.status
ORDER BY Staff_No;
db<>fiddle
,如果您只想要不同的值,您需要在内部 DISTINCT
中使用 GROUP BY
或 SELECT
子句。有多种方法可以做到这一点,最简单的是:
STUFF((SELECT DISTINCT '','' + t2.CostCenter
FROM CTE_TableName t2
WHERE t2.Staff_No = t0.Staff_No
AND t2.Name = t0.Name AND t2.status = t0.status
ORDER BY 1
FOR XML PATH(''''),TYPE).value(''text()[1]'',''nvarchar(max)''),'''') AS FieldBs
注意添加了 TYPE
和 value(''text()[1]'',''nvarchar(max)'')
以确保 XML 正确转义。
正如@Serg 所指出的,您还需要正确关联连接 AND t2.Name = t0.Name AND t2.status = t0.status
另一种给这只猫剥皮的方法:
STUFF((SELECT DISTINCT '','' + t2.CostCenter
FROM CTE_TableName t2
WHERE t2.Staff_No = t0.Staff_No
AND t2.Name = t0.Name AND t2.status = t0.status
ORDER BY '','' + t2.CostCenter
FOR XML PATH(''''),'''') AS FieldBs
或者:
STUFF((SELECT '','' + t2.CostCenter
FROM CTE_TableName t2
WHERE t2.Staff_No = t0.Staff_No
AND t2.Name = t0.Name AND t2.status = t0.status
GROUP BY '','' + t2.CostCenter
ORDER BY '','''') AS FieldBs
有关为什么需要像这样指定 ORDER BY
,请参阅 this question。
今天的关于在 Ubuntu (18.04) 上挂载 Windows Sever (2012) smb1的分享已经结束,谢谢您的关注,如果想了解更多关于Ansible - 使用 NFS 在 Windows Server 2019 上挂载 Amazon EFS 文件系统:网络错误 53、Samba 4.11 发布,默认情况下禁用 SMB1、Smb1 协议,服务器消息块、SQL Sever 2012 不能正常工作的多个项目的逗号分隔的相关知识,请在本站进行查询。
本文标签: