reg add "HKLM\SOFTWARE\VMware, Inc.\VMware Blast\Config" /t REG_SZ /v EncoderBuildToPNG /d 1

 

Horizon에서 보다 좋은 화면 품질을 필요로 할 때 적용.

화질이 비약적으로 좋아지고 트래픽도 비약적으로 올라간다...-_-

반응형

 

$esxis = Import-Csv D:\esxi_address.csv
$pw = Read-Host -Prompt pw -AsSecureString
foreach($esxi in $esxis)
    {
        D:\Tool\SSH\putty.exe -ssh root@$esxi -pw $pw -m "C:\temp\temp.dat"
    }

SecureCRT 같은 멀티 세션 SSH 툴을 사면 아주 간단하게 모든 것이 해결되지만
그걸 살 돈이 없는 가난뱅이를 위한 스크립트이다.

사실 좀 저렴한 MobaXterm 같은 프로그램도 있고
아예 무료인 Super Putty 같은 프로그램도 있다. 

그런데 꼭 돈문제라기 보다는...

딱 내 자리에 앉아서 내 컴퓨터로 운영하는 직군은 
가진 툴로 쓰면 된다. 

그런데 필드 지원하는 장돌뱅이 입장에서는 고객사가 바뀌고 컴퓨터가 바뀌고
현장에 어떤 툴이 있을지 모를 뿐더러

내돈 내산 프로그램이라고 해서 고객사에서 쓸 수 있다는 보장도 없다.

그런 경우 윈도우에서 기본적으로 제공하는 cmdlet, powershell이 매우 도움이 된다. 

예전에 실무에서 쓰던 스크립트를 다 날려먹는 바람에
실제 테스트는 안해봐서 잘 돌아가는지는 모르겠다.
안되면 대충 좀 고쳐서 쓰면 될 듯.

temp.dat 쪽에 실행을 원하는 스크립트를 작성해두면 그걸 자동 로그인으로 실행해주는 건데

이 스크립트 없었으면 SSH 로그인 수백번 할 뻔...
물론 Target 서버의 패스워드가 동일하다는 전제 하에 사용가능한 스크립트고 
패스워드가 모두 다르다면 그건 또 다른 얘기기는 한데... 

 

반응형

서버 인증서에 대한 인증서 해지 검사 구성 (vmware.com)

 

서버 인증서에 대한 인증서 해지 검사 구성

각 연결 서버 인스턴스가 자체 인증서와 연결된 보안 서버의 인증서에 대한 인증서 해지 검사를 수행합니다. 또한 각 인스턴스가 vCenter 및 View Composer Server의 인증서에 대한 연결을 구성할 때마

docs.vmware.com

 

연결서버 인스턴스는 자체 인증서와 연결된 보안 서버의 인증서에 대한 인증서 해지 검사를 수행하는데...

디폴트 값은 루트 인증서를 제외한 체인의 모든 인증서를 검사한다. 

 

타사 인증 기관에서 서버 인증서를 가져왔을 때 공인인증서 도메인과 실제 접속 서버 도메인이 불일치하는 경우 

인증서 확인 불가 메시지가 발생하면서 장애로 이어지는 경우가 있다. 

 

그럴 경우 VMware Horizon Connection Server 의 레지스트리 편집기(Win + R - regedit)를 사용하여 레지스트리를 삽입하는 것으로 인증서 해지 검사 구성을 우회하는 것을 Workaround로 사용 가능하다. 

 

HKLM\Software\VMware, Inc.\VMware VDM\Security

CertificateRevocationCheckType = 1, REG_SZ(문자열)

 

1 인증서 해지 검사를 수행하지 않습니다.
2 서버 인증서만 검사합니다. 체인의 다른 인증서를 검사하지 않습니다.
3 체인의 모든 인증서를 검사합니다.
4 (기본) 루트 인증서를 제외한 모든 인증서를 검사합니다.

 

물론 VMware KB에 나오는 내용이지만

1년에 한두번 하는 작업이라 맨날 까먹어서 찾기가 빡센지라 

블로그에 셀프 박제...

 

레지스트리 변경 작업은 늘 신중하게!

반응형

고객사(남의 회사) 외근 나오면 내부망에 접속하기 위한 절차가 아주 까다롭기 때문에
 
주로 핫스팟을 사용해서 외부망만 접근하는데 
핫스팟을 켜면 핑이 열개 스무개씩 계속 빠져서 도저히 업무를 할 수가 없었다. 
 
그래서 꾸역꾸역 USB 테더링으로 사용하던 중에...
유선 테더링마저 쓸 수 없는 고객사 IDC에 출입할 일이 생겨 어쩔 수 없이 해결 방안을 다시 모색했다. 
 
1. 현상
 - 구글 DNS, 휴대용 라우터 게이트웨이 모두 핑이 동시에 빠짐.
 - 스마트폰, 태블릿에서는 모두 정상
 - 맥북 쪽이 문제라는 이야기
 
2. 진행
 - 뻔하게 매뉴얼에 나온 대로... 
 - 맥북 리부팅은 당연히 매일 함
 - 휴대용 USB 라우터기 때문에 이것도 매일 리부팅함
 - WPA / WPA2 혼합 인증 - WPA2 인증 모두 테스트해봤으나 증상 동일함
 -  IP 주소 추적 제한 옵션 변경해봤으나 동일함

 
3. 해결
뭘 해도 안되던 차에 MTU 변경에 관련된 외국 포럼 아티클을 발견했다. 
 
https://www.howtoisolve.com/fix-macbook-wifi-issues/

M2/M1 MacBook Wi-Fi Issues (Fixed - Sonoma, Ventura)

Without Wi-Fi nothing is possible on MacBook, and with slower Wi-Fi on mac, I get how annoyed are you, fix Wi-Fi issues on MacBook.

www.howtoisolve.com

 
설마 설마 하다가 지푸라기라도 잡는 심정으로 
기본값(1500)을 사용자화로 변경 후 1436으로 변경했다. 원문 글에는 1453으로 하라고 되어 있는데... 왜인지 모르게 내 맥은 1436이 최대치이길래 걍 최대치로 변경했더니...

그토록 빠져대던 핑이 한 개도 안빠진다... 
 
현업에서 서버 만지는 것도 아니고 개인용 노트북에서 MTU 변경할 일이 있을지는 몰랐네 허허 
 
GUI 상에서 변경한 내용이 와이파이 재접속시 날아가는 것 같아서 CLI 상에서 기본 MTU를 추가로 변경해주었다.
https://osxdaily.com/2013/01/14/set-mtu-size-from-the-command-line-of-mac-os-x/

Set MTU Size from the Command Line of Mac OS X

MTU stands for Maximum Transmission Unit, and a larger MTU size generally increases efficiency of a network connection because each packet carries more data, but sometimes the default MTU sizes (of…

osxdaily.com

terminal에서 ifconfig 명령어로 현재 사용하고 있는 네트워크 디바이스를 찾았다. 
무선랜 디바이스가 en0인걸 확인했으니...
networksetup -getMTU en0
를 입력하면 
Active MTU: 1436 (Current Setting: 1436)
현재 MTU 값이 나온다. 나는 이미 변경한 뒤에 확인한 바람에 1436으로 나오는데 변경하지 않았다면 1500으로 나오겠지..
 
그 상태에서 
networksetup -setMTU en0 1436
을 입력해서 MTU를 변경해주니 
무선랜 재시작 후에도 변경한 MTU 값으로 유지되는 걸로 보인다. 
 
IDC 들어가기 귀찮아서 투덜투덜했는데 
반년 동안 깊은 빡침을 참아가던 이슈가 이렇게 해결되는구만... 
 
주1 - 사용자 개인 네트워크 환경에 따라 전혀 무관할 수 있습니다. 
주2 - 터미널 작업은 신중하게

반응형

있는 공유기에 OpenWRT를 설치하는 삽질까지 감당하지는 못하겠고...

OpenWRT가 사전 인스톨되어 있는 공유기를 찾아보던 중

 

https://www.amazon.com/GL-iNet-GL-MT1300-Wireless-Pocket-Sized-Repeater/dp/B08MKZXGBY/ref=sr_1_1?crid=27Y14K9DBSJ4M&keywords=gl.inet+mt1300&qid=1655864572&sprefix=gl.inet+mt130%2Caps%2C240&sr=8-1 

 

 

Amazon.com

Enter the characters you see below Sorry, we just need to make sure you're not a robot. For best results, please make sure your browser is accepting cookies.

www.amazon.com

 

아마존에서 적당한 공유기를 찾았... 다고 생각했는데 

알고 보니 2-3만원 정도 더 지불하면 훨씬 좋은 공유기를 고를 수 있었지만

이미 주문한 거 어쩌겠나.

국내 주문이었으면 반품 후 새로 주문하기라도 했겠지만 해외배송 왔다갔다도 너무 귀찮았고 작고 귀여운 맛에 그냥 쓰기로 했다. 

 

내장 Storage가 128MB 였기 때문에 리눅스 패키지 몇 개 깔면 용량이 꽉 차서

Micro SD를 찾아서 꽂은 다음 패키지 설치 기본 영역인 /overlay에 마운트되어 있는 기본 Storage를 umount후 SD 카드를 ext4로 포맷하여 /overlay에 마운트해서 /overlay를 넓게 쓰는 작업을 우선 해주는데 이걸 Extroot라고 부르는 것 같다. 

 

https://openwrt.org/docs/guide-user/additional-software/extroot_configuration

 

Extroot configuration

Extroot configuration This article relies on the following: * Accessing OpenWrt CLI * Managing configurations * Managing packages * Managing services Introduction This guide describes how to configure OpenWrt to use a storage device (USB or SATA or SD card

openwrt.org

 

opkg update
opkg install block-mount kmod-fs-ext4 e2fsprogs fdisk
DEVICE="$(sed -n -e "/\s\/overlay\s.*$/s///p" /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${DEVICE}"
uci set fstab.rwm.target="/rwm"
uci commit fstab
block info
/dev/mtdblock2: UUID="9fd43c61-c3f2c38f-13440ce7-53f0d42d" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock3: MOUNT="/overlay" TYPE="jffs2"
/dev/sda1: UUID="fdacc9f1-0e0e-45ab-acee-9cb9cc8d7d49" VERSION="1.4" TYPE="ext4"
DEVICE="/dev/sda1"
mkfs.ext4 ${DEVICE}
eval $(block info ${DEVICE} | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab
mkdir -p /tmp/cproot
mount --bind /overlay /tmp/cproot
mount ${DEVICE} /mnt
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xf -	
umount /tmp/cproot /mnt
reboot

매뉴얼대로 하니 한번에 성공했는데,

중간에 (아마도) IP 설정을 변경하면서 뭐가 틀어진건지 Luci GUI가 먹통(정확히는 ID/PW 인증 실패로 로그인 불가) 현상이 발생하여 초기화를 한 뒤부터 삽질의 연속이 시작되었다. 

 

https://old.reddit.com/r/openwrt/comments/duvyxh/cant_log_in_through_chrome_since_update/f7c98vd/

 

Can't log in through Chrome since update

Please remove the index/modul cache from `luci` into the directories `/tmp/luci-*` connect to your brick via `ssh`...

old.reddit.com

 

Please remove the index/modul cache from luci into the directories /tmp/luci-*

connect to your brick via ssh [root@192.168.1.1](mailto:root@192.168.1.1)

control the existent of directory via ls -lias /tmp/luci*

If exists this directories then remove it

/etc/init.d/uhttpd stop
rm -fr /tmp/luci-*
/etc/init.d/uhttpd start

Now you should be connect to your brick luci via Webbrowser without errors:

http://192.168.1.1/cgi-bin/luci/admin
https://192.168.1.1/cgi-bin/luci/admin

열심히 구글링을 해서 luci의 캐시도 지워보고

 

https://hamy.io/post/0016/how-to-properly-remove-luci-from-openwrt/

 

How to properly remove LuCi from OpenWrt | Hamy - The IT Guy

In this post, we're going to discuss the proper ways of removing LuCi web interface from OpenWrt firmwares for good.

hamy.io

opkg --autoremove remove luci

 

LuCi 자체를 지워보기도 하고... 

 

별짓을 다했는데 결국 공유기 초기화 후 매뉴얼대로 다시 설정을 하니 마운트가 되기는 했다. 

그런데 이번에는 SD카드가 /overlay 영역에 마운트됐다가 리부팅하니 떨어져 나가는 증상 발생. 

 

뒤져보니 /etc/fstab에 이전 SD카드의 UUID가 박혀있어서 현재 UUID로 수정하니 리부팅해도 정상적으로 마운트가 확인되었고...

 

/overlay 영역도 32GB가 정상적으로 인식되었다. 

 

https://www.nemonein.xyz/2020/07/4014/

 

Openwrt : Extroot; 외부 드라이브를 root 화. – 바깥 세상으로

 

www.nemonein.xyz

 

한글로 써주신 분도 계신데... 영문이어도 초보자들에게는 오피셜 매뉴얼이 좀 쉽지 않나 싶다. 

하지만 덕분에

opkg update를 매번 리부팅 때마다 새로 입력해야 했던 이유가 /var/opkg-lists 가 메모리에 저장돼서 생기는 현상임을 알게됐다..

 

vi /etc/opkg.conf 로 수정시 디스크에 저장할 수 있음.

원래 값 : lists_dir ext /var/opkg-lists
바꿀 값 : lists_dir ext /usr/lib/opkg/lists
 
LuCi 설치 - 정상 동작까지 확인.
반응형

'Computer > Linux' 카테고리의 다른 글

Synology NAS - Goolgle Photo 백업 설정기  (1) 2023.09.26

업무상 Windows 가상머신을 대량으로 배포하게 되는데

그러다 보면 별의별 기상천외한 이슈를 만나게 된다.

 

그 중에 하나가 Windows IP 가 자동으로 DHCP로 전환되는 현상이다. 

 

네트워크쟁이가 아니라, 일목요연하게 설명하기는 어렵지만...

네트워크 상에서는 Gratuitous ARP(이하 GARP)가 동작하는데 

이 GARP는 자기를 타겟으로 해서 ARP요청을 보낸다. 

 

목적은 IP 충돌 감지(자신의 IP를 타겟으로 해서 요청을 보냈는데 다른 놈이 응답하면 아 이놈이구나... 하고 충돌을 감지)

및 ARP 갱신인데

이 부분은 전문가의 도움을...

www.netmanias.com/ko/post/blog/5402/arp-ethernet-ip-ip-routing-network-protocol/arp-and-garp-gratuitous-arp

 

ARP와 GARP(Gratuitous ARP)

IPoE(IP over Ethernet) 환경에서(현재 우리 모두가 사용하고 있는 환경이죠... L3 = IP, L2 = Ethernet) 상대방 호스트(PC/서버) 혹은 라우터의 MAC 주소를 알기 위해, 해당 노드(호스트/라우터)의 IP 주소를 타

www.netmanias.com

 

모 사이트에서 이게 대량으로 발생해서 한참을 헤매다가 겨우 해결을 했었는데

막상 얼마전에 또 다른 사이트에서 발생하니 기억만 가물하고 도저히 찾을 수가 없더란...

사용하던 노트 어플이 바뀌고 계정이 바뀌고 해서 결국 블로그에 적어두는게 현재까지는 최고인 것 같아 다시 써둔다. 

 

community.spiceworks.com/topic/446922-static-ip-devices-receiving-169-address-after-reboot

 

Static IP devices receiving 169 address after reboot

Hello community, I've got a pretty strange 'ghost in the system' here lately.  I originally thought this was happening only to my Vmware VMs, but turns out even statically assigned workstations are seeing the issue. If a server/workstation/device has a st

community.spiceworks.com

Gratuitous Arp Problem: Resolved

Root Cause: Upgraded IOS on all 3750x Cisco Switch Stacks because of known bug to cause intermittent switch reboots.

1. Upgraded to IOS Version 15.2(1)E1

2.   IOS 15.2(1)E1 Introduced new code into the switch configuration

-IP DEVICE TRACKING

IP DEVICE TRACKING: Windows Vista/2008/7 client probes for a tentative IP address at the same 
time the switch is probing for device status. This is usually triggered by rebooting which results in a duplicate ip address. To prevent the duplicate ip address on the network the windows system assigns an apipa address to the client adapter. (ie. 169.254.*.*)

Workaround: Disable gratuitous ARP on the Windows device.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
Set ArpRetryCount (32-bit DWORD) to 0

Solution: Configure the switch in order to send a non-RFC compliant ARP Probe to source the probe from the Switch Virtual Interface (SVI) in the VLAN where the PC resides.

ip device tracking probe use-svi

This configuration currently does not trigger the duplicate address detection error message in Microsoft Windows. The caveat to this method is that an SVI must exist on every switch in every VLAN where Microsoft Windows clients who run DHCP reside. This method is difficult to scale, so Cisco recommends that you use the IP device-tracking probe delay as the primary method. SVI is not currently available on the 6500 Series Switch platform. This command was implemented in Version 12.2(55)SE on 2900, 3500, and 3700 Series Switch platforms, and in Version 15.1(1)SG on the 4500 Series Switch platform.

 

위 사이트에서 제시하는 것은 Cisco IOS 업그레이드인데, 

스위치 IOS 업데이트를 좋아하는 사이트는... 아마 없을거다. 

얼마나 크리티컬하게 터질지 모르기 때문에, 

이 경우에는 OS에서 변경하는 것이 나 역시 맞다고 보고. 

 

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /t DWORD /v ArpRetryCount /d 0

Local Machine 레지스트리라서 그나마 다행이랄까...

 

2021년 2월 현재 APIPA IP로 빠지는 현상과는 조금 다르게 

아예 어댑터 자체가 DHCP로 변경되는 현상이 터져서 

찾아보는 중인데 위 이슈와 동일한 건인지 아닌지에 대해서는 확인 진행중이다. 

 

환경 :

vSphere 6.7, VxRail

vCenter 6.7

ESXi 6.7

VMware Horizon 7.12

VMware 상의 인프라에서 발생한 내용이지만, 

물리PC에서도 동일하게 일어나는 현상으로 추정. 

 

 

참고 1: kb.vmware.com/s/article/1028373

참고 2: community.spiceworks.com/topic/446922-static-ip-devices-receiving-169-address-after-reboot

 

Static IP devices receiving 169 address after reboot

Hello community, I've got a pretty strange 'ghost in the system' here lately.  I originally thought this was happening only to my Vmware VMs, but turns out even statically assigned workstations are seeing the issue. If a server/workstation/device has a st

community.spiceworks.com

참고 3: www.netmanias.com/ko/post/blog/5402/arp-ethernet-ip-ip-routing-network-protocol/arp-and-garp-gratuitous-arp

 

ARP와 GARP(Gratuitous ARP)

IPoE(IP over Ethernet) 환경에서(현재 우리 모두가 사용하고 있는 환경이죠... L3 = IP, L2 = Ethernet) 상대방 호스트(PC/서버) 혹은 라우터의 MAC 주소를 알기 위해, 해당 노드(호스트/라우터)의 IP 주소를 타

www.netmanias.com

참고 4: kb.vmware.com/s/article/2012646

반응형

https://angrysysops.com/2021/11/04/the-list-of-vsphere-services/

 

The list of VMware vCenter server services:

vCenter Server 7.x services: vmware-vmon VMware Service Lifecycle Managervmonapi VMware Service Lifecycle Manager APIvmafdd VMware Authentication Frameworkvmdird VMware Director…

angrysysops.com

 


vCenter Server 7.x services:

vmware-vmon  VMware Service Lifecycle Manager

vmonapi  VMware Service Lifecycle Manager API

vmafdd  VMware Authentication Framework

vmdird  VMware Directory Service

vmcad  VMware Certificate Service

lookupsvc  VMware Lookup Service

vmware-sca  VMware Service Control Agent

vmware-stsd  VMware Security Token Service

vmware-rhttpproxy  VMware HTTP Reverse Proxy

vmware-envoy  VMware Envoy Proxy

vmware-netdumper  VMware vSphere ESXi Dump Collector

vmware-vapi-endpoint  VMware vAPI Endpoint

vmware-vpxd-svcs  VMware vCenter-Services

vmware-perfcharts  VMware Performance Charts

applmgmt  VMware Appliance Management Service

vmware-statsmonitor  VMware Appliance Monitoring Service

vmware-cis-license  VMware License Service

vmware-vpostgres  VMware Postgres

vmware-postgres-archiver  VMware Postgres Archiver

vmware-vdtc  VMware vSphere Distrubuted Tracing Collector

vmware-vpxd  VMware vCenter Server

vmware-eam  VMware ESX Agent Manager

vmware-vsm  VMware vService Manager

vmware-sps  VMware vSphere Profile-Driven Storage Service

pschealth  VMware Platform Services Controller Health Monitor

vmware-rbd-watchdog  VMware vSphere Auto Deploy Waiter

vmware-content-library  VMware Content Library Service

vmware-imagebuilder  VMware Image Builder Manager

lwsmd  Likewise Service Manager

vmcam  VMware vSphere Authentication Proxy

vmware-vcha  VMware vCenter High Availability

vmware-updatemgr  VMware Update Manager

vmware-vsan-health  VMware VSAN Health Service

vsphere-ui  VMware vSphere Client

vmware-hvc  VMware Hybrid VC Service

vmware-trustmanagement  VMware Trust Management Service

vmware-certificatemanagement  VMware Certificate Management Service

vmware-certificateauthority  VMware Certificate Authority Service

vmware-pod  VMware Patching and Host Management Service

vlcm  VMware vCenter Lifecycle API

vmware-analytics  VMware Analytics Service

vmware-topologysvc  VMware Topology Service

vmware-infraprofile  VMware Infraprofile Service

wcp  Workload Control Plane

vtsdb  VMware vTsdb Service

vstats  VMware vStats Service

observability  VMware VCSA Observability Service

observability-vapi  VMware VCSA Observability VAPI Service

 

vCenter Server Appliance Services:

applmgmt VMware Appliance Management Service

vmware-cis-license VMware License Service

vmware-cm VMware Component Manager

vmware-eam VMware ESX Agent Manager

vmware-sts-idmd VMware Identity Management Service

vmware-invsvc VMware Inventory Service

vmware-mbcs VMware Message Bus Configuration Service

vmware-netdumper VMware vSphere ESXi Dump Collector

vmware-perfcharts VMware Performance Charts

vmware-rbd-watchdog VMware vSphere Auto Deploy Waiter

vmware-rhttpproxy VMware HTTP Reverse Proxy

vmware-sca VMware Service Control Agent

vmware-sps VMware vSphere Profile-Driven Storage Service

vmware-stsd VMware Security Token Service

vmware-syslog VMware Common Logging Service

vmware-syslog-health VMware Syslog Health Service

vmware-vapi-endpoint VMware vAPI Endpoint

vmware-vdcs VMware Content Library Service

vmafdd VMware Authentication Framework

vmcad VMware Certificate Service

vmdird VMware Directory Service

vmware-vpostgres VMware Postgres

vmware-vpx-workflow VMware vCenter Workflow Manager

vmware-vpxd VMware vCenter Server

vmware-vsm VMware vService Manager

vsphere-client vSphere Web Client

vmware-vws VMware System and Hardware Health Manager

vmware-vsan-health VMware vSAN Health Service

반응형

https://kb.vmware.com/s/article/2006292



vdmadmin -N -domains -exclude -domain <domain.co.kr> -remove



고객사에 새로 설치한 Horizon Connection Server Admin console 로그인 페이지에

도메인이 2개로 보이는 현상 발생. 



아마도 AD에서 같은 포레스트 안에 있는 도메인 2개를 모두 당겨온 듯 했다. 



Console GUI와 ADSI 편집기를 뒤져봤으나 거기서는 못찾았고..

vdmadmin으로 제외 가능... 한데 

이런건 UI로 해줘도 괜찮을텐데 싶은 아쉬움. 



Note: You can also set the HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VDM\RecursiveDomainEnum registry key that controls recursive domain enumeration to false. This disables recursive domain searching.
 If you are adding a domain to the Include list, ensure it is not present in Exclude list and Search list. If it is present, please remove it from both Exclude list and Search list.



이 노트를 봐서는 레지스트리 설정으로도 가능할 것 같기는 한데... vdmadmin으로 깔끔하게 끝나서 굳이 레지스트리로는 테스트하지 않았음. 

반응형

Windows의 시작버튼을 눌렀을 때 나오는 단축키 레이아웃이 7시절에는 편집 배포가 참 편했었는데

자꾸 뭐가 늘어나서 점점 흉악하게 바뀌고 있다.

 

이제는 파일로 관리를 해야하니 원..

그나마 편하게 하는 방법은 

마스터 이미지에서 레이아웃 만든 다음 Export - Import 하는 정도...

 

https://winpeguy.wordpress.com/2015/10/30/win10-start-customization-with-layoutmodification-xml/

 

Win10: Start Customization with LayoutModification.xml

So I have made a first pass at configuring the Start (Bar? Window? Screen?).  Once thing to note is that while I made the proper configuration in my LayoutModification.xml with Internet Explorer, f…

winpeguy.wordpress.com

 

 

Export-StartLayout -Path C:\Windows\OSConfig\LayoutModification.xml

 

Import-StartLayout -LayoutPath C:\Windows\OSConfig\LayoutModification.xml -MountPath $env:SystemDrive\

 

Or you could just copy your LayoutModification.xml to C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml using the method of your choice.  Changes will affect new User Profiles created after making the change.

 

안타깝게도 작업표시줄은 Export가 안되는 것 같다.. https://docs.microsoft.com/en-us/windows/configuration/configure-windows-10-taskbar

 

Configure Windows 10 taskbar (Windows 10) - Configure Windows

Administrators can pin additional apps to the taskbar and remove default pinned apps from the taskbar by adding a section to a layout modification XML file.

docs.microsoft.com

 

<?xml version="1.0" encoding="utf-8"?>
<LayoutModificationTemplate
    xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"
    xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
    xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
    xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout"
    Version="1">
  <CustomTaskbarLayoutCollection>
    <defaultlayout:TaskbarLayout>
      <taskbar:TaskbarPinList>
        <taskbar:UWA AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
        <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk" />
      </taskbar:TaskbarPinList>
    </defaultlayout:TaskbarLayout>
 </CustomTaskbarLayoutCollection>
</LayoutModificationTemplate>

 

이 귀찮은 xml로 App ID나 경로를 다 쳐서 꾸역꾸역 xml에 합쳐야하나보다.. -_-

일해라 MS...

반응형

Synology DS920+를 구매하여 사진 백업 용으로 아주 잘 사용 중이나...

 

결국 하드디스크라는 게 물리적으로 움직이는 장치인지라

아무리 RAID5라고 해도 HDD 1개 터지고 리빌딩 전에 또 안터진다는 보장이 없다. 

 

그렇다고 백업용 NAS를 또 구입하기도 그렇고...

이러한 이유로 무려 원본 백업 무제한을 지원하는 Google Pixel 폰 1세대를 중고로 구입하게 되었다. 

 

금방 할 줄 알았더만 꽤 긴 시간이...

 

가장 먼저 손쉬운 접근을 위하여 픽셀 폰을 SSH 서버로 만들어야 한다. 

안드로이드 어플로도 많기는 한데... 원래도 termux를 사용하기도 했고 그나마 제일 편해보여서 termux 설치하고 시작. 

 

 termux-setup-storage 로 스토리지 셋업하고 

termux-change-repo로 리포지토리를 잡아주면 되는데... 이 간단한 것부터 막히기 시작해서 험난한 길이 시작되었다-_-

 

pkg install openssh 설치가 안돼서 레딧을 엄청 뒤지다가 겨우 해결. 

openssh 설치 후 sshd 실행하면 ssh 서버 접속 가능. 

 

그리고 나서 시놀로지에 ssh로 접속해서 시놀로지 - 픽셀로 scp 스크립트 복제를 돌리려고 하니...

연결이 안됨... ㅋㅋㅋㅋㅋㅋ

 

한참 삽질을 했는데 알고 보니 termux openssh 접속 포트는 22가 아닌 8022. 

방화벽 패키지를 열심히 찾았는데 허탈... ㅋㅋㅋㅋㅋㅋ

 

1차 백업

그리고 나서 scp로 일괄 복사를 시작했으나...

아주 커다란 문제가 2개 있었다.

 

우선 scp로 폴더 하나 잡아서 복사를 때리면 

타겟 쪽에도 소스와 동일한 트리 구조의 폴더들이 주렁주렁 생기고

구글 포토에서 사진이 들어있는 폴더를 감지하면 그걸 수작업으로 일일이 동기화 하겠다고 눌러줘야 하는 아주 귀찮은 일이 기다리고 있었다...

 

결국 1차 백업 분량은 전부 수작업으로 진행.

 

거기다 더 짜증났던 게 여태까지는 시놀로지 Photos UI로 돌려서 몰랐는데 

시놀로지 포토가 썸네일 jpg를 대중소 사이즈로 주렁주렁 생성하고 있었고 그 파일까지 전부 복제를 걸어버리는 바람에

이 작은 파일들이 구글 포토 백업 대기열에 오픈런으로 줄을 서서 복제 속도가 어마어마하게 느려졌다...

 

구글 포토 어플리케이션의 백업 완료된 파일 일괄 삭제 기능으로 지우기는 했다만

속도가 엄청나게 느렸다. 

 

2차 백업 시도 후 실패

그래서 하위 폴더 파일을 찾아주는 find 명령어와 scp를 조합해서 넘기려는 구상을 했는데...

이번에는 자격 증명이 문제였다. 

아까는 자격 증명을 한번만 넣으면 됐는데 find로 파일을 하나씩 넘기는 구조다 보니 

파일 하나 넘어갈 때마다 패스워드를 입력해야 하는.. 현실적으로 불가능한 스크립트였고

Key 인증 방식으로 변경해야 했다. 

 

그런데 이눔의 시놀로지 서버는 ssh-copy-id 명령어가 없었고... 

공개키를 scp로 픽셀에 밀어넣고 그 키를 픽셀의 ~/.ssh/authorized_keys에 등록해줘야 했다...

그래서 하는 김에 파일명에 Syno 어쩌고가 포함되어 있는 썸네일 파일은 복사하지 않고 건너뛰는 스크립트를 chatGPT로 뽑아냈다.

 

 

find . -type f ! -iname "*syno*" -print0 | while IFS= read -r -d '' file; do
    if scp -v -r -P 8022 "$file" Account@IP:/data/data/com.termux/files/home/storage/downloads/"${file##*/}"; then
        echo "File '$file' copied successfully."
    else
        echo "Failed to copy '$file'."
    fi
done

파워쉘이 지원됐으면 훨씬 빨리 했을텐데 리눅스 바보라 너무 오래 걸림...

 

처음에 하고 싶었던 건 시놀로지 나스에서 한 장 가져와서 구글 포토 업로드 완료되면 삭제하는 걸

스크립트로 완전 자동화 하는 거였지만...

 

개발자도 아닌 주제에 거기까지는 도저히 실력이 안돼서 포기하고 중간에 방법을 좀 틀었는데 

이 정도면 그럭저럭 만족한다. 

추가로 오늘 알게된 사실이 구글 픽셀을 통한 업로드가 하루에 15GB 밖에 안된다고 해서

자동화 스크립트를 저기다 대입하면 또 예외 처리도 엄청나게 들어가야 할 것 같기도 하고...

 

단점이라고 한다면

가장 먼저 일일 업로드 제한 15GB일 것이고

두번째로는 픽셀 발열이 어마무시해서 쿨러 없이 쓸 생각은 안하는게 좋다는 것...

 

그래서 첫날은 내가 쓰던 탁상용 USB 선풍기를 틀어주다가 

120mm 쿨러를 하나 사서 틀어주고 있다. 

이제 발열은 해소.

 

2TB니까 엄청나게 오래 걸리겠지... 만 그래도 생각보다는 빠르게 스크립트 완성해서 다행 ㅎㅎ 

반응형

'Computer > Linux' 카테고리의 다른 글

OpenWRT - Extroot 설정 + opkg update 수정  (2) 2023.10.11

+ Recent posts