Ubuntu – MySQL 서버 삭제 후 재 설치 방법

1. MySQL 서버 정지.

/etc/init.d/mysql stop

2. MySQL 삭제

apt-get remove dbconfig-mysql
apt-get purge mysql*
apt-get autoremove
apt-get autoclean

3. MySQL 데이터 디렉토리 삭제
rm -rfv /etc/mysql /var/lib/mysql

4. MySQL 서버 설치
apt-get upgrade
apt-get dist-upgrade
apt-get install mysql-server

시스템 스피커로 비프음 내기 (C++ / C#) 모든 윈도우 32/64비트 버전

윈도우 7 64Bit 이상부터는, 더 이상 시스템의 내장 스피커를 이용하여 비프음을 낼 수 없다고 한다. (윈도우 API에서 더 이상 지원하지 않음)

그러나 아래 링크와 같이 시스템에 직접 접근해서 가능하다.

링크 : https://www.codeproject.com/Tips/1022207/Make-Buzzer-Internal-Speaker-Sound-in-Windows-bit

링크 캡쳐 (원문의 링크가 없어져 더이상 보기 어려울 경우를 대비)

사용자 삽입 이미지

C#에서 외부프로그램 실행 및 종료

C#으로 짠 또다른 프로그램(other.exe)을 실행하기위해서

 

System.Diagnostics.Process proc = System.Diagnostics.Process.Start(“./other.exe”);

 

 

 

종료

 

public const int WM_SYSCOMMAND = 0x0112;

public const int SC_CLOSE = 0xF060;

 

[DllImport(“user32.dll”)]

public static extern int FindWindow(

    string lpClassName, // class name

    string lpWindowName // window name

);

 

[DllImport(“user32.dll”)]

public static extern int SendMessage(

    int hWnd, // handle to destination window

    uint Msg, // message

    int wParam, // first message parameter

    int lParam // second message parameter

);

 

 

1. FindWindows로 창핸들을 찾아온다

 

int iHandle=Win32.FindWindow(className ,txtWndNm.Text);

2. SendMessage로 클로즈메세지를 보낸다.

 

int j=Win32.SendMessage(iHandle, Win32.WM_SYSCOMMAND,Win32.SC_CLOSE, 0);

 

Process.Kill()을 했는데도 안죽은게 이상하긴 하지만 위와 같이 사용하시면 확실히 죽을겁니다.

또한 외부 프로그램에 Message를 던질수도 있습니다.

[C#] 관리자 권한으로 실행하기

관리자 권한이 없는 상태에서 시스템의 정보를 읽거나 쓰려고 할때 프로그램이 올바르게 작동하지 않습니다. 이럴때 프로그램이 실행되면서, 관리자 권한으로 상승시키는 것이 필요한데요. C#에서 이러한 내용에 대한 코드를 정리합니다. 모든 코드는 Program.cs에서 이루어집니다. 먼저 using 절에 다음과 같은 네임스페이스를 추가합니다.

using System.Security.Principal;
using System.Diagnostics; 

그리고 현재 관리자 권한 상태인지의 여부를 파악하는 함수를 추가합니다.

public static bool IsAdministrator()
{
    WindowsIdentity identity = WindowsIdentity.GetCurrent();
 
    if (null != identity)
    {
        WindowsPrincipal principal = new WindowsPrincipal(identity);
        return principal.IsInRole(WindowsBuiltInRole.Administrator);
    }
 
    return false;

Program.cs 파일의 Main 함수의 시작 부분에 다음의 코드를 추가하여 관리자 권한으로 실행되는지를 확인 한다.

            if (IsAdministrator() == false)
            {
                try
                {
                    ProcessStartInfo procInfo = new ProcessStartInfo();
                    procInfo.UseShellExecute = true;
                    procInfo.FileName = “IPSwitcher”;
                    procInfo.WorkingDirectory = Environment.CurrentDirectory;
                    procInfo.Verb = “runas”;
                    Process.Start(procInfo);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(“This Program need to Administrator Authority:” + ex.Message);
                }

                return;
            }

 

윈도우에서 TortoiseSVN 아이콘 오버레이가 표시되지 않는 문제 해결 방법

SVN 클라이언트중에 TortoiseSVN 만한 것이 없어, 잘 사용하고 있는데

언젠가 부터 윈도우 탐색기에 아이콘 표시가 나타나지 않는다..
아이콘이 안보이면 무척 불편해서..

확인해보니, Explorer에서 오버레이가 10개까지 지원되는데, Explorer Shell 에서 아이콘 오버레이 우선 순위가 밀려서 나타나지 않는것..

수정 방법

1. regedit 실행
2. 다음의 레지스트리 키위치로 이동 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 
3. 2번 키의 자식 폴더에 tortoiseXXXXX 앞에 공백을 추가하여 우선 순위를 올려준다.
4. 탐색기 다시 시작하거나 윈도 리부팅
사용자 삽입 이미지

WinSxS 폴더 정리 [Windows 8.1 / Server 2012R2]

원문 : https://msdn.microsoft.com/ko-kr/library/dn251565.aspx

WinSxS 폴더 정리

일반적인 질문 중 하나는 일부 디스크 공간을 다시 얻기 위해 WinSxS 폴더를 삭제할 수 있는가 하는 것입니다. 간단한 대답은 아니요입니다. 하지만 WinSxS 폴더 크기를 줄일 수 있는 방법이 있습니다. WinSxS 폴더에 대한 자세한 내용은 구성 요소 저장소 관리를 참조하세요. 이 항목에서는 실행 중인 Windows 8.1 버전에서 WinSxS 폴더 크기를 줄이는 다양한 방법에 대해 설명합니다.

Windows 8.1 및 Windows Server 2012 R2에서는 이 항목에 설명된 방법과 유사한 방법을 사용하여 WinSxS 크기를 자동으로 줄이지만 이러한 방법에는 최신 버전에서 다른 구성 요소로 대체된 구성 요소가 포함된 패키지를 제거하고 삭제하는 등의 내부 프로세스가 포함됩니다. 이전 버전의 일부 구성 요소는 필요한 경우 롤백할 수 있도록 일정 기간 동안 시스템에서 유지됩니다. 일정 기간 후에 이러한 구성 요소는 설치에서 제거됩니다.

오프라인 Windows 이미지에서 구성 요소 저장소 크기 줄이기에 설명된 대로 몇 가지 동일한 기술을 사용하여 Windows 이미지의 크기를 줄일 수도 있습니다.

Warning경고
WinSxS 폴더에서 파일을 삭제하거나 전체 WinSxS 폴더를 삭제하면 시스템이 심각하게 손상되어 PC가 부팅되지 않고 PC를 업데이트하지 못할 수 있습니다.

 

 

Windows 8.1 및 Windows Server 2012 R2에서는 패키지 삭제와 구성 요소 압축을 사용하여 WinSxS 폴더를 정리하는 구성 요소 저장소 정리를 시작하는 다양한 방법이 있습니다.

StartComponentCleanup 작업은 Windows 8에서 만들어지고 시스템이 사용되지 않을 때 자동으로 구성 요소를 정기적으로 정리합니다. 이 작업은 운영 체제에서 트리거할 때 자동으로 실행되도록 설정되어 있습니다. 자동으로 실행될 경우 이 작업은 이전 버전의 구성 요소를 제거하기 전에 업데이트된 구성 요소가 설치된 후 30일 이상 대기합니다.

이 작업을 실행하도록 선택하면 작업에 시간 제한 1시간이 제공되며 모든 파일이 완벽하게 정리되지 않을 수 있습니다.

  1. 작업 스케줄러가 열려 있지 않으면 작업 스케줄러를 시작합니다. 자세한 내용은 작업 스케줄러 시작을 참조하세요.

  2. 콘솔 트리를 확장하고 Task Scheduler Library\Microsoft\Windows\Servicing\StartComponentCleanup으로 이동합니다.

  3. 선택한 항목에서 실행을 클릭합니다.

note참고
StartComponentCleanup 작업을 명령줄에서 시작할 수도 있습니다.

 

schtasks.exe /Run /TN “\Microsoft\Windows\Servicing\StartComponentCleanup”

 

 

DISM(배포 이미지 서비스 및 관리)은 Windows 기능, 패키지, 드라이버 및 국가별 설정을 설치, 제거, 구성 및 업데이트하는 데 사용할 수 있는 명령줄 도구입니다. Dism.exe의 /Cleanup-Image 매개 변수는 고급 사용자에게 WinSxS 폴더 크기를 추가로 줄일 수 있는 더 많은 옵션을 제공합니다. 자세한 내용은 DISM 운영 체제 패키지 서비스 명령줄 옵션을 참조하세요.

  1. 실행 중인 Windows 8.1 버전에서 Dism.exe의 /StartComponentCleanup 매개 변수는 업데이트된 구성 요소의 이전 버전이 즉시 삭제되고(30일 유예 기간 없이) 시간 제한 1시간이 없다는 점을 제외하고 작업 스케줄러에서 StartComponentCleanup 작업을 실행한 것과 유사한 결과를 제공합니다.

    관리자 권한 명령 프롬프트에 다음과 같이 입력합니다.

    Dism.exe /online /Cleanup-Image /StartComponentCleanup
    
  1. 실행 중인 Windows 8.1 버전에서 /ResetBase 스위치를 DISM의 /StartComponentCleanup 매개 변수와 함께 사용하면 구성 요소 저장소에 있는 모든 구성 요소의 모든 교체된 버전이 제거됩니다.

    관리자 권한 명령 프롬프트에 다음과 같이 입력합니다.

    Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
    
    Warning경고
    이 명령이 완료된 후에는 일부 기존 서비스 팩 및 업데이트를 제거할 수 없습니다. 이로 인해 이후 서비스 팩 또는 업데이트의 제거가 차단되지 않습니다.

     

     

  1. 서비스 팩에 사용되는 공간 크기를 줄이려면 실행 중인 Windows 8.1 버전에서 Dism.exe의 /SPSuperseded 매개 변수를 사용하여 서비스 팩 제거에 필요한 모든 백업 구성 요소를 제거합니다. 서비스 팩은 특정 Windows 버전에 대한 누적 업데이트 모음입니다.

    관리자 권한 명령 프롬프트에 다음과 같이 입력합니다.

    Dism.exe /online /Cleanup-Image /SPSuperseded
    
    Warning경고
    이 명령이 완료된 후에는 서비스 팩을 제거할 수 없습니다.

     

     

디스크 정리를 사용하여 드라이브에서 필요 없는 파일 수를 줄이면 PC가 더 빨리 실행되도록 할 수 있습니다. 그러면 임시 파일 및 시스템 파일이 삭제되고, 휴지통이 비워지며, 더 이상 필요하지 않은 여러 가지 기타 항목들이 제거됩니다. 업데이트를 정리하는 옵션은 구성 요소 저장소 크기를 줄이는 데 도움이 됩니다.

  1. 시스템 파일을 삭제하려면 디스크 정리를 사용하여 파일 삭제에 제공된 단계를 실행합니다.

NOKIA Lumia 635 – 3G / LTE 설정 방법

지금구매한다면 루미아 520을 사는 것보다 LTE까지 사용가능한 루미아 635를 사시는 것이 좋을 것 같습니다.
루미아 635는 성능은 루미아 520과 많이 차이가 나지 않지만 CPU가 좋아지고 LTE까지 지원됩니다.
그리고 Windows 10으로도 업데이트 예정되어 있습니다.
지금 휴대폰용 Windows 10 Technical Preview는 공개되어 있으며
https://insider.windows.com/
먼저 Windows 10을 써 보고 싶으시면 위 링크를 통하여 Windows Insider를 설치 후 업데이트 하시면 됩니다.
써보시고 원치않으면 원복도 가능하니다.
http://windows.microsoft.com/ko-kr/windows/preview-backup-restore
그리고 언락하신 후에 APN 설정도 해 주셔야 됩니다…
SKT인 경우 아래 처럼 해 주시면 되요..
인터넷 APN
APN : lte.sktelecom.com  ( 3G : web.sktelecom.com )
MMS APN
APN : lte.sktelecom.com   ( 3G : web.sktelecom.com )
WAP 게이트웨이(URL) : lteoma.nate.com   ( 3G : NULL)
WAP 게이트웨이 포트 : 9093    ( 3G : NULL)
MMSC(URL) : http://omms.nate.com/oma_mms
MMSC 포트 : 9082
MMSC 프로토콜 : WAP 2.0
최대MMS 크기 : 450
IP 유형 : IPv4
SKT 3G만 쓰시는 분들은 통화는 상관없지만 데이터는 네트워크를 3G 만 활성화 해 주셔야 데이터가 끊기지 않고 사용이 가능합니다.
다이얼패드에서 ##3282# 을 누르시면 네트워크를 TEST하는 히든모드로 들어가실 수 있습니다.
여기에서 오른쪽 아래 … 을 누르신후??Setting 을 클릭하면 네트워크를 Auto 또는 Manual 로 설정 할 수 있도록 선택 창이 나옵니다.
이 창에서 Manual을 선택하시면 원하는 네트워크만 골라서 활성화를 하실 수 있습니다.
SKT 3G만 쓰시는 분들은 WCDMA 2100만 활성화 하게 되면 원할하게 데이터 접속이 됩니다.
SKT LTE도 APN은 동일하게 설정하시면 됩니다.
그리고 고폰 버젼은 액세스 포인트를 별도로 깔지 않아도 되는 것 같습니다.
기본으로도 바로 인터넷 공유가 가능합니다.
혹시나 하고 액세스 포인트를 깔아서 간편하게 APN을 설정하려고 했지만 지금 버젼은 적용이 않된다고 합니다.

리눅스 “umount : device is busy” 발생시 강제 umount 방법

페도라든 우분트든,.. 내가 사용하고 있는 리눅스 시스템에서, 분명히 사용중이 아닌 경우에도 
mount된 디렉토리를 umount 하고자 할 때,
특정 사용자 & 프로세스가 해당 디렉토리를 사용하고 있다며 

[root@linux ~]# umount /backup
umount: /backup: device is busy.        
(In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))


라고 
“device is busy” 메세지가 발생하며 umount 가 되지 않을 때가 있다. 

누가? 또는 어떤 프로세스가 해당 mount 영역을 사용하고 있는지 확인 하고 싶을때는

# fuser -cu /backup

이 경우 umount를 위해 해당 프로세스를 강제로 kill 하는 방법은 아래와 같다.

# fuser -ck 마운트디렉토리

ex) fuser -ck /backup

위 명령으로 프로세스를 kill 하고 umount를 재시도하면 정상적으로 mount가 해제 된다.