keytool을 이용하여 키를 생성할 때에는 java가 설치 되어 있어야 합니다자바를 설치하고 path가 잡혀있지 않다면 path를 잡아 주고 작업을 하면 편합니다여러 가지 이유로 인하여 java path 를 잡을 수 없는 경우에는 절대경로를 이용하여 keytool을 실행해 주면 됩니다저의 경우는 D:\Java\jdk1.8.0_131에 자바를 설치 하였고 path는 잡지 않고 있습니다. 그런 경우 아래처럼 명령을 실행해서 keytool을 사용 합니다. path를 잡았다면 D:\Java\jdk1.8.0_131\bin\ 는 생략하면 됩니다.

 

D:\Java\jdk1.8.0_131\bin\keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android


keytool


C:\>D:\Java\jdk1.8.0_131\bin\keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

keytool 오류: java.lang.Exception: 키 저장소 파일이 존재하지 않음: C:\Users\user\.android\debug.keystore

java.lang.Exception: 키 저장소 파일이 존재하지 않음: C:\Users\user\.android\debug.keystore

        at sun.security.tools.keytool.Main.doCommands(Main.java:745)

        at sun.security.tools.keytool.Main.run(Main.java:343)

        at sun.security.tools.keytool.Main.main(Main.java:336)


[키 저장소 파일이 존재하지 않음] 이라는 오류가 발생하였군요이런 경우는 간단하게 생성을 할 수 있도록 [-genkey] d옵션을 추가해 줍니다.

D:\Java\jdk1.8.0_131\bin\keytool -genkey -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

 

만일 생성시 이름, 국가, ,시를 입력하도록 물어보면 그냥 엔터키를 눌러도 된다.


keytool


C:\>D:\Java\jdk1.8.0_131\bin\keytool -genkey -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

별칭 이름: androiddebugkey

생성 날짜: 2019. 11. 26

항목 유형: PrivateKeyEntry

인증서 체인 길이: 1

인증서[1]:

소유자: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

발행자: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

일련 번호: 6668f1e2

적합한 시작 날짜: Tue Nov 26 22:21:02 GMT+09:00 2019, 종료 날짜: Mon Feb 24 22:21:02 GMT+09:00 2020

인증서 지문:

         MD5: 80:3E: AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA

         SHA1: D4:06:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA         SHA256:45:7E:94:79:5E:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA

         서명 알고리즘 이름: SHA1withDSA

         버전: 3

 

확장:

 

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: B0 2C 9F AA AA AA AA AA AA AA AA AA AA AA AA AA.,.a.........a.

0010: AA 06 AA A2                                        ..<.

]

]


오류 없이 잘 생성이 되었습니다.


- copy coding -


작업 환경

eGovFramework Version : 3.8

Eclipse Version: Oxygen.3a Release (4.7.3a)

JDK Version : 1.8

 

오류 내용

전자정부프레임워크에서 Web Project 생성 하고 common component 설치 Run on Server 하는 경우 No bean named 'egovPopupManageIdGnrService' available 오류가 발생하는 경우가 있습니다.  


[log4j]2019-08-17 11:12:11,408  WARN [org.springframework.web.context.support.XmlWebApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'egovPopupManageService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'egovPopupManageIdGnrService' available

8 17, 2019 11:12:11 오전 org.apache.catalina.core.ContainerBase startInternal

심각: A child container failed during start

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/CopyCoding]] 


해결 방법

common component 자동 설치 하는 동안 파일이 제대로 설치가 되지 않아 발생하는 오류입니다이런 경우도 All in One Template 버전을 설치 하거나 소스를 다운받아 압축을 풀어 놓고 참조하면서 작업을 하면 쉽게 처리할 있습니다.

해결 방법은 간하게 파일을 복사 하면 됩니다

/src/main/resources/egovframework/spring/com/idgn/context-idgn-PopupManage.xml


eGovFramework egovPopupManageIdGnrService


전체 소스가 들어있는 프로젝트의 resources 하단 egovframework/spring/com/idgn 폴더에서 context-idgn-PopupManage.xml 파일을 복사하여 작업 중인 프로젝트에 붙여넣기를 하면 됩니다붙여넣기를 했으면 다시한번 Run on Server 실행해 봅니다.


eGovFramework egovPopupManageIdGnrService


오류 없이 로그인 화면까지 진행 됩니다.


- copy coding -

작업환경

Ubuntu Desktop : version 18.04 LTS

오류 내용: sudo 명령 안됨.

오류 로그 : xxx is not in the sudoers file. This incident will be reported.


ubuntu sudo error


sudo 명령으로 작업을 하려는데 xxx is not in the sudoers file. This incident will be reported. 메시지와 함께 안되는 경우가 있습니다.


Ubuntu, sudo, sudoers


사용을 하려면 /etc/sudoers 파일에 계정을 등록 해줘야 한다고 하는데 root 권한이 있어야 파일을 열고 등록을 할 수 있습니다.  root 권한이 있으면 걱정을 하지 않을 텐데 없으니 참 답답 합니다그런데 본인이 우분투를 설치 하였는데 root 비번을 잊어버린 경우도 있겠죠.  이런 경우에는 설치시 등록한 계정을 이용하면 됩니다.  설치시 등록한 계정으로 로그인을 하고


Ubuntu, sudo, sudoers


root의 비번을 변경하거나 


$ vi /etc/sudoers

파일을 열고 sudo를 사용할 계정을 등록해 줍니다.


Ubuntu, sudo, sudoers


readonly 파일이므로 일반적인 방법으로 저장이 안되기 때문에 w! 명령으로 강제 저장을 합니다이번에는 sudoers 파일에 신규로 등록한 계정으로 sudo를 사용하여 root 비밀번호를 변경해 보겠습니다.


Ubuntu, sudo, sudoers


이제 sudo 명령이 잘 작동 합니다.


- copy coding -

'Setting' 카테고리의 다른 글

Galuxy S8 개발자 옵션 설정  (0) 2019.09.13
ubuntu subversion 설치 eclipse 연동  (0) 2019.07.11
weblogic 12c war 배포  (0) 2019.07.06
Ubuntu vsftpd 설치  (0) 2019.06.30
Ubuntu에 WebLogic Server 12cR2 설치  (0) 2019.06.26


단일 응용 프로그램이 아닌 경우에는 환경 설정이 제일 어려운 일입니다.

동일한 방법으로 했는데 왜 난 안될까?

포기했다가 다시 설치하면 되는 경우도 있고

이것 저것 다 따라해서 뭐때문에 된건지 모를는 경우도 있고...

어째든 오류환경을 구성하고 테스트를 진행해 보았습니다.

Windows 10에서는 오류환경 구성이 잘 안되서 Windows 7을 기준으로 설명 합니다.

 

1. 오류 발생

 

jupyter notebook을 실행하고 tensorflow import해서 코딩을 하면


ModuleNotFoundError: No module named 'tensorflow'


오류가 발생 합니다.


tensorflow module not found error



2. 문제 해결

 

몇가지 작업들을 해보았는데 방법도 복잡하고 해결이 안되기도 했습니다.

해결된 방법만 소개를 합니다.

 

anaconda prompt를 관리자 권한으로 오픈 합니다.



tensorflow가 설치된 가상환경(저는 tensorflow로 했습니다.)으로 이동합니다.

>activate tensorflow

 

conda 커널을 설치 합니다.

>conda install nb_conda





설치가 완료 되었습니다.


 

3. 실행


콘다커널을 설치하고 나면 가상환경 이름으로 Jupyter Notebook(tensorflow)이 생성 됩니다.



새로 생성된 주피터 노트북을 이용하여 코딩을 진행 합니다.



모두들 좋은 결과 얻기를 바랍니다.


- copy coding -


123

+ Recent posts