2021년 9월 8일 수요일

dmesg 사람이 보기 쉽게

CentOS6 dmesg 에 찍히는 시간이 uptime 이후 시간이여서 알아보기 힘들다 아래와 같이 uptime - 현재시간 구해서 보면 편하다


 dmesg_human () {

    $(type -P dmesg) "$@" | perl -w -e 'use strict;

        my ($uptime) = do { local @ARGV="/proc/uptime";<>}; ($uptime) = ($uptime =~ /^(\d+)\./);

        foreach my $line (<>) {

            printf( ($line=~/^\[\s*(\d+)\.\d+\](.+)/) ? ( "[%s]%s\n", scalar localtime(time - $uptime + $1), $2 ) : $line )

        }'

}


CentOS7 에서는 간단히 -T 옵션을 사용할 수 있다.

dmesg -T

2021년 8월 15일 일요일

OneDrive version 삭제

꽁자 5TB OenDrive 파일 버전 관리로 인해 용량이 줄어들때 일일히 버전 파일을 삭제 하기란 매우 힘든일이다.

PowerShell  에서 아래와 같이 한다.

SharePoint Online Client Components SDK 를 먼저 설치한다.

https://www.microsoft.com/en-us/download/details.aspx?id=42038


아래와 같이 PowerShell 스크립트를 실행하면 모든 버전 파일이 for loop 을 돌면서 삭제된다.

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

   

#Config Parameters

$SiteURL= "https://yoursharepont-my.sharepoint.com/personal/yourid_domain_com/"

$LibraryName="Documents"


#Setup Credentials to connect

$Cred = Get-Credential

$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)

  

    #Setup the context

    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)

    $Ctx.Credentials = $Cred

  

    #Get the web and Library

    $Web=$Ctx.Web

    $List=$web.Lists.GetByTitle($LibraryName)

   

    $Query = New-Object Microsoft.SharePoint.Client.CamlQuery

    $Query.ViewXml="<View Scope='RecursiveAll'><Query><Where><Eq><FieldRef Name='FSObjType'/><Value Type='Integer'>0</Value></Eq></Where></Query></View>"

    $ListItems = $List.GetItems($Query)

    $Ctx.Load($ListItems)

    $Ctx.ExecuteQuery() 

    

    #Loop through each file in the library

    Foreach($Item in $ListItems)

    {      

    Start-Sleep -s 1

        #Get all versions of the file

        $Ctx.Load($Item.File)       

        $Ctx.Load($Item.File.Versions)

        $Ctx.ExecuteQuery()

        Write-host "Processing Item:" $Item.file.Name

  

        #Delete all versions of the file

#        If($Item.File.Versions.count -gt 0)

#        {

            $Item.File.Versions.DeleteAll()

            $Ctx.ExecuteQuery()

            Write-host -f Green "All Versions deleted on "$Item.file.Name

Start-Sleep -s 3

#        }

    }   


Windows11 Update 후 windowsdefender 를 열려면 새 앱이 필요합니다.

PowerShell 관리자 모드로 창을 연후

Get-AppxPackage Microsoft.SecHealthUI -AllUsers | Reset-AppxPackage

이러면 다시 windowsdefender 데시보드 가 열림

2021년 3월 2일 화요일

Asuswrt Merlin dnsmasq 를 이용하여 시간대별 youtube lol 차단

우선 /jffs/scripts 를 사용할수 있게 config에서 설정

Support for these scripts stored under /jffs/scripts/ must be enabled, under Administration -> System on the webui:


아래 등록 스크립트 작성
cat /jffs/scripts/add.sh
#!/bin/sh
echo "address=/youtube.com/127.0.0.1"  > /jffs/configs/dnsmasq.conf.add
echo "address=/prod.kr.lol.riotgames.com/127.0.0.1" >> /jffs/configs/dnsmasq.conf.add
service restart_dnsmasq


아래 삭제 스크립트 작성

cat /jffs/scripts/del.sh

#!/bin/sh

echo "" > /jffs/configs/dnsmasq.conf.add
service restart_dnsmasq

실행 권한 주기
chmod 755  /jffs/scripts/add.sh
chmod 755  /jffs/scripts/del.sh

크론탭에 등록하기
예제는 24:00 에 차단 07:00 에 차단해제

cru a add_dnsmasq "0 0 * * * /jffs/scripts/add.sh"
cru a del_dnsmasq "0 7 * * * /jffs/scripts/del.sh"

참고 
크론탭 등록 방법
https://www.cyberciti.biz/faq/how-to-add-cron-job-on-asuswrt-merlin-wifi-router/
커스텀 dnsmasq 사용 방법
https://github.com/RMerl/asuswrt-merlin.ng/wiki/Custom-domains-with-dnsmasq


2021년 1월 17일 일요일

android app 에서 32bit , 64bit 선택 설치

 2019 년 8월 1일부터 Google Play에 게시되는 앱은 64bit 아키텍처를 지원해야 합니다.

그런데 64bit app 에서 일부 불안정하여 32bit app 을 필요로 할때가 있습니다.

디폴트로 아키텍처가 64bit면 64bit 모드로만 설치가 됩니다.

아래와 같이 adb를 --abi 옵션을 이용하여 선택적으로 설치가 가능합니다.

지원되는 abi 자세한 설명에 대해선 아래 사이트를 참조 합니다.

https://developer.android.com/ndk/guides/abis?hl=ko


아래는 인텔 아키텍처 32bit 전용으로 설치할 경우 입니다. 

32bit 인텔 아키텍처는 x86 입니다. 

adb install --abi x86 example.apk

4652 KB/s (35631753 bytes in 7.479s)

        pkg: /data/local/tmp/example.apk

Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

위와같이 32bit 를 지원하지 않는 app 경우에 INSTALL_FAILED_NO_MATCHING_ABIS 에러가 납니다. 

adb install --abi x86 example.apk

4012 KB/s (83017609 bytes in 20.207s)

        pkg: /data/local/tmp/example.apk

Failure [INSTALL_FAILED_ALREADY_EXISTS]

이미 앱이 설치가 되어있는 경우에 위와 같이 INSTALL_FAILED_ALREADY_EXISTS 설치가 미리 되었다는 에러가 나는데 그럴땐 재설치 옵션 -r 를 사용합니다.

adb install -r --abi x86 example.apk

4330 KB/s (83017609 bytes in 18.720s)

        pkg: /data/local/tmp/example.apk

Success


2021년 1월 7일 목요일

2021년 1월 6일 수요일

Linux 커널 업그레이드후 vmware 모듈 문제

 Linux 커널 업그레이드 후 vmware 재실행시 모듈이 설치 되지 않았다고 다시 나온다 새 커널 버전에 맞게 모듈을 재 빌드 해야 하며 아래 명령어로 재빌드한다

vmware-modconfig --console --install-all

2020년 7월 28일 화요일

윈도우 한영 전환 레지스트리 모음

101Key_Type3


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver KOR"="KBD101C.DLL"
"OverrideKeyboardIdentifier"="PCAT_101CKEY"
"OverrideKeyboardType"=dword:00000008
"OverrideKeyboardSubtype"=dword:00000005
"LayerDriver JPN"="kbd101.dll"


Shift + Space 전환

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"PollingIterations"=dword:00002ee0
"PollingIterationsMaximum"=dword:00002ee0
"ResendIterations"=dword:00000003
"LayerDriver JPN"="kbd101.dll"
"LayerDriver KOR"="kbd101c.dll"
"OverrideKeyboardType"=dword:00000008
"OverrideKeyboardSubtype"=dword:00000005
"OverrideKeyboardIdentifier"="kbd101c.dll"
"KeyboardFailedReset"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,\
                   00,00,00,00,\ 
                   03,00,00,00,\
                   72,00,38,E0,\ 
                   71,00,1D,E0,\
                   00,00,00,00


2020년 4월 13일 월요일

rclone systemd 방식으로 마운트


https://forum.rclone.org/t/rclone-auto-mount/6353/14 에서 참고 했습니다.

# vi /etc/systemd/system/rclonemount.service

[Unit]
Description=RClone Service
After=network-online.target
Wants=network-online.target


[Service]
Type=notify
ExecStart=/usr/bin/rclone mount --allow-other --vfs-read-chunk-size 16M --buffer-size 2G onedrive: /mnt/onedrive
ExecStop=/bin/fusermount -uz /mnt/onedrive
Restart=on-abort
User=users
Group=users

[Install]
WantedBy=default.target


# systemctl daemon-reload
# systemctl enable rclonemount
# systemctl start rclonemount

2020년 4월 4일 토요일

vmware guest 에서 ubuntu / debian 계열 사운드 소리가 작을때

vmware guest 에서 ubuntu / debian 계열 사운드 소리가 작을때

vmware 에서 내장사운드로 Ensoniq AudioPCI  계열로 잡히는데 소리가 매우 작습니다.
Windows 계열은 정상적으로 소리가 나네요

AlsaMixer 를 이용해서 PCM 부분 볼륨을 방향키로 이동해서 높혀주면됩니다.
나올때는 ESC 키 입니다.

명령어는 alsamixer 입니다.


2020년 3월 15일 일요일

ubuntu 데스크탑을 Windows 원격 데스크톱 으로 접속하기

sudo apt install xrdp

그렇지만 Windows 원격 데스크톱으로 로그온 하면
"색상 프로파일을 만들려면 인증이 필요합니다"
메시지가 무한 반복된다.


아래와 같이 권한을 넣어준후 xrdp 데몬 재시작 하면 해결됨

vi /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes


ubuntu server 데스크탑 환경 및 한글화

한글화를 위해 우선 로케일 설정
sudo apt install language-pack-ko
sudo locale-gen ko_KR.UTF-8

아래명령에서 ko_KR.UTF-8 설치후 선택
sudo dpkg-reconfigure locales

기본 명령 및 메시지까지 한글로 나오게 합
sudo update-locale LANG=ko_KR.UTF-8 LC_MESSAGES=ko_KR.UTF-8

또는 
vi /etc/default/locale
LANG="ko_KR.UTF-8"
LC_MESSAGES=ko_KR.UTF-8
LANGUAGE="ko:en"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"


이후 데스크탑 패키지 설치
sudo apt install ubuntu-desktop
sudo apt install ubuntu-gnome-desktop

데스크탑 로그온 후 부족한 한글 메시지 관련 패키지 추가 설치

2020년 3월 13일 금요일

vmware 에 guest 로 설치된 mac OS 해상도 조절

vmware workstation 이나 esxi 에 guest 로 mac OS를 설치 후 해상도 조절이 안되는 경우가 있습니다. vmware tools 를 설치하고 나서도 되지 않는데요
아래와 같은 명령어로 값을 수정후 재부팅 하면 해상도 조절이 자유롭게 됩니다.

 sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool false

com.apple.windowserver.plist 파일에 편집기로 해당값인 DisplayResolutionEnabled 값을 true => false 로도 수정가능하나
바이너리 타입이므로 텍스트 편집기론 수정 불가능합니다.

plist 전용 편집기도 있긴하지만 대부분 유료로 팔고 있어서 위와 같이 명령어로 설정하면 됩니다.