'분류 전체보기'에 해당되는 글 55건
- 2020.07.16 FileZilla FTP Server setting with PASSIVE Mode
- 2019.11.13 Virutal box에서 Ubuntu 16.04.5 LTS 를 구동시, apt update 되지 않음
- 2019.08.05 Remote Desktop in Ubuntu 18.04
- 2019.07.19 Visual Studio 2010 - manifest error code 31 1
- 2019.07.16 Subversion 에서 directory 이름을 바꿀 때,
- 2018.04.28 When gnu screen is used in serial console, adjust windows size
- 2018.04.01 validate ip address in bash
- 2017.04.24 Word를 사용할 때 첫 줄 들여쓰기 해제
- 2016.12.28 svn에서 git으로 이사가기
- 2016.06.27 Software coding style 일괄 변경하기
FileZilla FTP Server setting with PASSIVE Mode
1. Port 설정
1.1. Connection port: ex) 20000
1.2. Passive mode에서의 data port range 설정: ex) 30900~30999
2. Windows 에서의 Firewall 설정
Windows 방화벽 --> 방화벽에서 앱 허용 --> 설정 변경 (N) --> 다른 앱 허용 (R)
"찾아보기 (B)..." 에서 “FileZilla Server.exe” 선택
3. 서버가 Local에 있는 경우의 설정 추가
3.1. FileZilla Server 에서 공인 IP 설정. (ex) 공인IP 가 123.123.123.123 인 경우)
3.2. 공유기에서의 Port forwarding
3.2.1. connection port
3.2.2. data port
4. 기타: The difference of Active vs Passive mode 설명
참조: https://travelc.tistory.com/84
.끝.
Virutal box에서 Ubuntu 16.04.5 LTS 를 구동시, apt update 되지 않음
한 2년 만에 Ubuntu 16.04.5 LTS 를 구동하였다.
오래되어서, apt update 를 수행하였으나, 아래와 같이 오류가 발생한다....헐.
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-139-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
54 packages can be updated.
43 updates are security updates.
# apt update
Err:1 http://security.ubuntu.com/ubuntu xenial-security InRelease
Temporary failure resolving 'security.ubuntu.com'
Err:2 http://kr.archive.ubuntu.com/ubuntu xenial InRelease
Temporary failure resolving 'kr.archive.ubuntu.com'
Err:3 http://kr.archive.ubuntu.com/ubuntu xenial-updates InRelease
Temporary failure resolving 'kr.archive.ubuntu.com'
Err:4 http://kr.archive.ubuntu.com/ubuntu xenial-backports InRelease
Temporary failure resolving 'kr.archive.ubuntu.com'
Reading package lists... Done
Building dependency tree
Reading state information... Done
37 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: Failed to fetch http://kr.archive.ubuntu.com/ubuntu/dists/xenial/InRelease Temporary failure resolving 'kr.archive.ubuntu.com'
W: Failed to fetch http://kr.archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease Temporary failure resolving 'kr.archive.ubuntu.com'
W: Failed to fetch http://kr.archive.ubuntu.com/ubuntu/dists/xenial-backports/InRelease Temporary failure resolving 'kr.archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/xenial-security/InRelease Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
root@u64-16-bj:~# apt list --upgradable
Listing... Done
ghostscript/xenial-updates,xenial-security 9.26~dfsg+0-0ubuntu0.16.04.3 amd64 [upgradable from: 9.25~dfsg+1-0ubuntu0.16.04.3]
libcups2/xenial-updates,xenial-security 2.1.3-4ubuntu0.6 amd64 [upgradable from: 2.1.3-4ubuntu0.5]
libcupsimage2/xenial-updates,xenial-security 2.1.3-4ubuntu0.6 amd64 [upgradable from: 2.1.3-4ubuntu0.5]
libgs9/xenial-updates,xenial-security 9.26~dfsg+0-0ubuntu0.16.04.3 amd64 [upgradable from: 9.25~dfsg+1-0ubuntu0.16.04.3]
libgs9-common/xenial-updates,xenial-updates,xenial-security,xenial-security 9.26~dfsg+0-0ubuntu0.16.04.3 all [upgradable from: 9.25~dfsg+1-0ubuntu0.16.04.3]
libpam-systemd/xenial-updates,xenial-security 229-4ubuntu21.10 amd64 [upgradable from: 229-4ubuntu21.9]
libpoppler58/xenial-security 0.41.0-0ubuntu1.10 amd64 [upgradable from: 0.41.0-0ubuntu1.8]
libsmbclient/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
libssl1.0.0/xenial-updates,xenial-security 1.0.2g-1ubuntu4.14 amd64 [upgradable from: 1.0.2g-1ubuntu4.13]
libsystemd0/xenial-updates,xenial-security 229-4ubuntu21.10 amd64 [upgradable from: 229-4ubuntu21.9]
libudev1/xenial-updates,xenial-security 229-4ubuntu21.10 amd64 [upgradable from: 229-4ubuntu21.9]
bwbclient0/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
linux-generic/xenial-updates 4.4.0.140.146 amd64 [upgradable from: 4.4.0.139.145]
linux-headers-generic/xenial-updates 4.4.0.140.146 amd64 [upgradable from: 4.4.0.139.145]
linux-image-generic/xenial-updates 4.4.0.140.146 amd64 [upgradable from: 4.4.0.139.145]
linux-libc-dev/xenial-updates 4.4.0-140.166 amd64 [upgradable from: 4.4.0-139.165]
openjdk-8-jdk/xenial-updates,xenial-security 8u191-b12-0ubuntu0.16.04.1 amd64 [upgradable from: 8u181-b13-1ubuntu0.16.04.1]
openjdk-8-jdk-headless/xenial-updates,xenial-security 8u191-b12-0ubuntu0.16.04.1 amd64 [upgradable from: 8u181-b13-1ubuntu0.16.04.1]
openjdk-8-jre/xenial-updates,xenial-security 8u191-b12-0ubuntu0.16.04.1 amd64 [upgradable from: 8u181-b13-1ubuntu0.16.04.1]
openjdk-8-jre-headless/xenial-updates,xenial-security 8u191-b12-0ubuntu0.16.04.1 amd64 [upgradable from: 8u181-b13-1ubuntu0.16.04.1]
openssl/xenial-updates,xenial-security 1.0.2g-1ubuntu4.14 amd64 [upgradable from: 1.0.2g-1ubuntu4.13]
python-samba/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
python3-distupgrade/xenial-updates,xenial-updates 1:16.04.26 all [upgradable from: 1:16.04.25]
qemu-user-static/xenial-updates,xenial-security 1:2.5+dfsg-5ubuntu10.33 amd64 [upgradable from: 1:2.5+dfsg-5ubuntu10.32]
samba/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
samba-common/xenial-updates,xenial-updates,xenial-security,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 all [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
samba-common-bin/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
samba-dsdb-modules/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
samba-libs/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
samba-vfs-modules/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
smbclient/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-0ubuntu0.16.04.17]
sosreport/xenial-updates 3.6-1ubuntu0.16.04.2 amd64 [upgradable from: 3.5-1~ubuntu16.04.3]
systemd/xenial-updates,xenial-security 229-4ubuntu21.10 amd64 [upgradable from: 229-4ubuntu21.9]
systemd-sysv/xenial-updates,xenial-security 229-4ubuntu21.10 amd64 [upgradable from: 229-4ubuntu21.9]
ubuntu-release-upgrader-core/xenial-updates,xenial-updates 1:16.04.26 all [upgradable from: 1:16.04.25]
udev/xenial-updates,xenial-security 229-4ubuntu21.10 amd64 [upgradable from: 229-4ubuntu21.9]
winbind/xenial-updates,xenial-security 2:4.3.11+dfsg-0ubuntu0.16.04.18 amd64 [upgradable from: 2:4.3.11+dfsg-ubuntu0.16.04.17]
# apt update
Err:1 http://security.ubuntu.com/ubuntu xenial-security InRelease
Temporary failure resolving 'security.ubuntu.com'
Err:2 http://kr.archive.ubuntu.com/ubuntu xenial InRelease
Temporary failure resolving 'kr.archive.ubuntu.com'
Err:3 http://kr.archive.ubuntu.com/ubuntu xenial-updates InRelease
Temporary failure resolving 'kr.archive.ubuntu.com'
Err:4 http://kr.archive.ubuntu.com/ubuntu xenial-backports InRelease
Temporary failure resolving 'kr.archive.ubuntu.com'
Reading package lists... Done
Building dependency tree
Reading state information... Done
37 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: Failed to fetch http://kr.archive.ubuntu.com/ubuntu/dists/xenial/InRelease Temporary failure resolving 'kr.archive.ubuntu.com'
W: Failed to fetch http://kr.archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease Temporary failure resolving 'kr.archive.ubuntu.com'
W: Failed to fetch http://kr.archive.ubuntu.com/ubuntu/dists/xenial-backports/InRelease Temporary failure resolving 'kr.archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/xenial-security/InRelease Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
#
/etc/resolv.conf 화일을 바꾸어도 안되고, /etc/apt/sources.list 에서 주소를 바꾸어도 안되고,,,
결국은, 아래 사이트 에서 제시한 것 처럼,
$ vi /etc/network/interfaces
# The primary network interface
auto enp0s9
iface enp0s9 inet static
address 10.11.12.11
netmask 255.255.255.0
network 10.11.12.0
gateway 10.11.12.1
broadcast 10.11.12.255
dns-nameservers 8.8.8.8 8.8.4.4
적색 표시된 것 처럼, dns-nameservers 8.8.8.8 8.8.4.4 를 추가한 후에 정상적으로 진행된다.
gateway 설정은 덤,
즐 ubuntu 하시길,,,
출처: https://notpeelbean.tistory.com/entry/linux-Ubuntu-업데이트-서버-연결-에러-aptget-update-에러 [Storm Of Two Yellow Beans]
Remote Desktop in Ubuntu 18.04
* mate-desktop-environment 로 rdp 설정
sudo apt install xrdp
sudo apt install mate-core mate-desktop-environment mate-notification-daemon
sed -i.bak '/fi/a #xrdp multiple users configuration \n mate-session \n' /etc/xrdp/startwm.sh
cat /etc/xrdp/startwm.sh
# xrdp X session start script (c) 2015, 2017 mirabilos # published under The MirOS Licence if test -r /etc/profile; then . /etc/profile fi #xrdp multiple users configuration mate-session if test -r /etc/default/locale; then . /etc/default/locale test -z "${LANG+x}" || export LANG test -z "${LANGUAGE+x}" || export LANGUAGE test -z "${LC_ADDRESS+x}" || export LC_ADDRESS test -z "${LC_ALL+x}" || export LC_ALL test -z "${LC_COLLATE+x}" || export LC_COLLATE test -z "${LC_CTYPE+x}" || export LC_CTYPE test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT test -z "${LC_MESSAGES+x}" || export LC_MESSAGES test -z "${LC_MONETARY+x}" || export LC_MONETARY test -z "${LC_NAME+x}" || export LC_NAME test -z "${LC_NUMERIC+x}" || export LC_NUMERIC test -z "${LC_PAPER+x}" || export LC_PAPER test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE test -z "${LC_TIME+x}" || export LC_TIME test -z "${LOCPATH+x}" || export LOCPATH fi #xrdp multiple users configuration mate-session if test -r /etc/profile; then . /etc/profile fi #xrdp multiple users configuration mate-session test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession |
sudo apt install xserver-xorg-core xorgxrdp
cat /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 |
sudo apt-get install gnome-tweak-tool
sudo systemctl enable xrdp
> 이제 windows의 원격데스크탑으로 log in 하면
ID, password를 넣으면 끝.
* 참고로 ubuntu 설치하면 우선 작업하는 것들
apt update
apt upgrade
apt autoremove
apt install vim
apt install ssh
vi /etc/ssh/sshd_config
# Authentication: #LoginGraceTime 2m #PermitRootLogin prohibit-password PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 #PubkeyAuthentication yes |
Visual Studio 2010 - manifest error code 31
간만에 오래된 프로젝트를 정리해야 하는데, 오류 발생
실행화일은 만들어졌는데, mt.exe 에서 오류가 발생하였다. 오류를 자세하게 표시하도록 하면,
1>"S:\6.sw\local_svn\trunk\v1\-\-\-\-.vcxproj" 프로젝트의 "C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets" 파일에 있는 "Manifest: (대상 ID:72)" 대상("_Manifest" 대상이 종속됨): 1>조건이 잘못되어 "Delete" 작업을 건너뜁니다. (('$(BuildType)' != 'Build' or '$(ForceRebuild)' == 'true') and '$(EmbedManifestby)'=='LINK')이(가) (('Build' != 'Build' or '' == 'true') and 'MT'=='LINK')(으)로 확인되었습니다. 1>"Microsoft.Build.CppTasks.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 어셈블리에서 "Mt" 작업을 사용합니다. 1>"Mt" 작업(작업 ID:30) 1> 추적 명령:(작업 ID:30) 1> c:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\Tracker.exe /d C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\FileTracker.dll /i "S:\6.sw\local_svn\trunk\v1\-\-\-\Release" /r "C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO 10.0\VC\INCLUDE\MANIFEST\DPIAWARE.MANIFEST|S:\6.SW\LOCAL_SVN\TRUNK\V1\-\-\-\RELEASE\-.EXE.INTERMEDIATE.MANIFEST" /b MSBuildConsole_CancelEvent4fb8122f2e474f9fa82ed059c8d8e7d6 /c "c:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\mt.exe" /nologo /verbose /outputresource:"S:\6.sw\local_svn\trunk\v1\-\-\-\Release\-.exe;#1" /manifest Release\-.exe.intermediate.manifest "c:\Program Files\Microsoft Visual Studio 10.0\VC\Include\Manifest\dpiaware.manifest"(작업 ID:30) 1> (작업 ID:30) 1>mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "S:\6.sw\local_svn\trunk\v1\5i$0\58 \-\Release\-.exe". \$\ ,$ (작업 ID:30) 1> 명령이 종료되었습니다(코드: 31).(작업 ID:30) 1>"Mt" 작업을 실행했습니다. - 실패(작업 ID:30) 1>"-.vcxproj" 프로젝트에 "Manifest" 대상을 빌드했습니다. - 실패: (대상 ID:72) |
오류 상황과 관련된 온갖 인터넷을 모두 뒤져 보았지만,,,, 모두 실패하였으나,
바로 이것, 증분 링크 사용을 "예" 로 변경 한 후, 바로 다음과 같이,
다시 rebuild 한 후, OK
참 이상하죠?
어차피 무시될 설정인데....
여하튼 OK가 되니 이것으로 모든 프로젝트를 정리한다.
참, 폴더가 원격폴더 입니다. S: 라는 drive는 subst 명령을 사용하여 논리드라이브로 만든 것입니다.
> subst S: "\\vmware-host\Shared Folders\Dens"
Local drive에서는 발생하지 않더군요.
Subversion 에서 directory 이름을 바꿀 때,
폴더 명칭을 바꾸려고, tortoisesvn 에서의 rename 이나 svn mv 명령으로 하여도 오류가 발생하였다.
이를 해결하는 방법은 --parents 옵션을 사용하는 것이다.
> svn mv A B
svn: E720005: Can't move .....
>
> svn mv --parents A B
OK
간단하게 해결될 것을...
When gnu screen is used in serial console, adjust windows size
serial console을 사용할 때, screen에서 화면 크기 적용
터미널 에뮬레이터를 사용해서, 원격 접속해서 사용할 때, screen 프로그램을 사용하면 편리하다.
특히, serial console 을 사용할 때 screen을 사용한다면 더욱 더 큰 힘이 된다.
그런데, 에뮬레이터의 창의 크기를 바꾸었는데, screen에서 이를 인식하지 못하였다...난감.
ssh 나 telnet을 사용할 때는 자동으로 인식하였는데....
찾아보았는데,,, 이런 방법이 있다고 한다.
https://cafbit.com/post/terminal_window_size_detection_over/
대단하다. 어찌알고,,,,
마지막 문구에 힌트를 얻어서 한가지 더 시도해 보았다.... 정말 간단하게 해결되었다.
screen을 수행하기 전에 $ resize 명령을 수행하면 적용이 되었다.
root@linux ~$ resize
COLUMNS=160;LINES=52;export COLUMNS LINES;
root@linux ~$ screen
두개의 변수가 필요했나 보다...
난 여기까지 오는데, 무려 6개월 걸렸다.
다른 분들은 도움이 되시길..
validate ip address in bash
Linux의 bash shell script을 작성하는데, ip addresss를 입력받는 부분을 작성 중이다.
입력 받은 주소의 적합성을 검사하려고 하는데, 생각보다 간단하지 않았다.
최종 완성된 코드를 올리니, 참고하시라... (귀찮아서 설명을 하지 않음을 이해해 주세요)
#!/bin/bash function is_number() { local src=$1 local stat=1 tdst=`expr $src + 1` 2> /dev/null stat=$? return $stat } function validate_ip() { local lip=$1 local stat=255 local renumexp='^[0-9]+$' if [[ $lip != ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then OIFS=$IFS IFS='.' sip=($lip) IFS=$OIFS printf "0: %s\n" ${sip[0]} printf "1: %s\n" ${sip[1]} printf "2: %s\n" ${sip[2]} printf "3: %s\n" ${sip[3]} stat=0 vip=${sip[0]} if [ $stat -eq 0 ] ; then is_number $vip 2> /dev/null if [ $? -eq 0 ] ; then if [[ $vip -gt 255 ]] ; then stat=1 fi else # not number stat=11 fi fi vip=${sip[1]} if [ $stat -eq 0 ] ; then is_number $vip 2> /dev/null if [ $? -eq 0 ] ; then if [[ $vip -gt 255 ]] ; then stat=2 fi else # not number stat=12 fi fi vip=${sip[2]} if [ $stat -eq 0 ] ; then is_number $vip 2> /dev/null if [ $? -eq 0 ] ; then if [[ $vip -gt 255 ]] ; then stat=3 fi else # not number stat=13 fi fi vip=${sip[3]} if [ $stat -eq 0 ] ; then is_number $vip 2> /dev/null if [ $? -eq 0 ] ; then if [[ $vip -gt 255 ]] ; then stat=4 fi else # not number stat=14 fi fi fi return $stat } read ip if validate_ip $ip; then echo "success ($ip)" exit 0 else echo "fail ($ip)" exit 1 fi |
참고 사이트는
1. validate ip
https://unix.stackexchange.com/questions/111841/regular-expression-in-bash-to-validate-ip-address
https://stackoverflow.com/questions/13777387/check-for-ip-validity
2. check number
https://stackoverflow.com/questions/806906/how-do-i-test-if-a-variable-is-a-number-in-bash
https://www.unix.com/shell-programming-and-scripting/21668-how-check-whether-string-number-not.html
이다.
Word를 사용할 때 첫 줄 들여쓰기 해제
Microsoft Word를 사용할 때, 첫 줄 들여쓰기가 자동으로 되어 있어서,
줄이 바뀔 때 여간 불편하지 않다.
이를 없애려면,
이 항목을 체크 해제하면 된다.
이 화면은 화일-->옵션-->언어교정-->자동 고침 옵션(A)-->입력할 때 자동 서식
에서 찾을 수 있다.
컴을 새로 설치할 때 마다 매번 찾게된다.
즐거운 하루되시길.
svn에서 git으로 이사가기
주로 local svn 저장소를 만들어서 작업을 했었는데,
이참에 git으로 변경하고자 하는데.... 저장소를 clone해서 해야 연관성이 유지된다.
clone 할 때 local repository를 지정할 때,
file:///d/svn/crios
이런식으로 지정하면 된다.
이것 몰라서, 몇번 삽질함...
Software coding style 일괄 변경하기
소프트웨어를 보다 보면, 구조와 포맷 때문에 여간 성가신게 아니다.
구조를 일괄적으로 바꾸어주는 툴이 있다.
AStyle 이라는 프로그램이다.
나는
AStyle -A1 -r -t *
혹은
AStyle -A1 -t <filename>
이렇게 해서 소스를 본다.
한글도 깨지지 않아서 좋다.