프로그래밍 QnA + 설치 및 활용 QnA

wallash의 이미지

CentOS 7.9에서 사용중인 ssh를 CentOS 6버전대로 낮출수 있을까요??

안녕하세요

현재 서버는 CentOS7.9를 사용하고 있는데요
접속 터미널의 OS 버전에 따라서 사용하는 툴의 GUI상에서 로딩 속도? 차이가 많이 납니다.
CentOS 6 버전으로 접속하면 빠르고 7버전 이상으로 접속을 하면 랙이 많이 생기는데요.

그래서 혹시 ssh나 x11의 버전의 차이인가 싶어서 일단 ssh의 버전을
CentOS 6에서 사용되는 버전으로 다운그레이드 하고 싶은데요...
제가 초짜다 보니 생각보다 쉽지 않네요...ㅠㅠ

일단 커널이 달라서 잘 안되는 건가 싶기도 하고...
이게 가능한 건가요??

고수분들의 조언을 좀 부탁드려봅니다..

화정큐삼@Google의 이미지

커널 5 buildroot 에서 커널 6로 변경후 UEFI 콘솔출력이 안됩니다.

기존 커널5를 깃 워크플로우를 통해 unbuntu-lastest 만 지정해서 최종 커널버전인 5.15.26 를 사용중이였으나
필요에 의해 사용자 정의 커널버전을 지정해서 6.4.16 버전을 빌드해야할 필요성이 생겼습니다.

커널5 에서는 잘 동작하던 grub.cfg 가
커널6 에서는 화면이 동작하지 않아서 아래 라인에서 vga=791 옵션을 제거했습니다.

https://github.com/PeterSuh-Q3/grub/blob/main/boot/grub/grub.cfg#L66

linux /bzImage-friend loglevel=3 waitusb=5 vga=791 net.ifnames=0 biosdevname=0

vga=791 옵션을 제거하면 USB 레거시 부트에서는 640x480 의 해상도로만 콘솔이 출력됩니다.

그리고, UEFI 에서는 아예 출력이 불가능한데요.

lalupo20의 이미지

1년만에 qt 다시 잡아서 질문 드립니다..

일단 연습으로 이번에도 mp3 앱을 만들고 있는데요.

외장메모리 읽기 쓰기 권한을 얻어야 되는거 같아서 아래와 같은 함수를 사용했습니다.

tngkr2019의 이미지

공유 메모리(shared memory)를 사용한 프로세스간 통신 관련해 질문 드립니다.

유닉스 운영체제에서 공유 메모리를 사용해 프로세스간 통신을 구현하던 도중 몇 날 며칠을 고민해도 도저히 해결이 안되는 문제가 있어 이렇게 질문 드리게 되었습니다.
현재 유닉스 환경에서 하나의 서버 프로세스와 두개의 클라이언트 프로세스(편의상 클라이언트1, 클라이언트2라고 하겠습니다)가 존재하고 서버 프로세스는 두 번의 fork() 함수 호출을 통해 두 개의 자식 프로세스(편의상 자식 프로세스1, 자식 프로세스2라고 하겠습니다)를 생성합니다.
자식 프로세스 1은 클라이언트1과 공유 메모리를 통해 통신하고, 자식 프로세스 2는 클라이언트2와 공유 메모리를 통해 통신하며 이 두 개의 공유 메모리는 서로 다른 키값을 지정하여 <자식 프로세스1, 클라이언트1>과 <자식 프로세스2, 클라이언트2>는 서로 다른 공유 메모리를 통해 통신하는 상황입니다. 더불어 클라이언트와 자식 프로세스 간에 공유 메모리의 접근을 동기화하기 위해 서로 다른 이름의 Named 세마포어 2개를 사용하고 있습니다.

rlatjddus234의 이미지

makefile 질문이요!

제가 학교 과제때문에 makefile을 이용해서 컴파일을 해야하는데 윈도우에서 vcpkg로 pdcurses를 설치하여 curses.h를 이용해 프로그래밍을 진행 중이었습니다

근데 makefile에서 링크를 아무리 제가 vcpkg/package/pdcurses/lib 에 정확히 라이브러리를 연결한거 같은데 자꾸 undefined reference가 발생하네요 vcpkg로 설치한 라이브러리는 혹시 위치가 다른가요??

익명 사용자의 이미지

iptables ssh 공격 질문입니다.

$IPTABLES -N blacklist
$IPTABLES -N ssh
$IPTABLES -A INPUT -m state --state NEW -p tcp --dport 22 -j ssh
$IPTABLES -A blacklist -m recent --set --name blacklist
$IPTABLES -A blacklist -j REJECT
$IPTABLES -A ssh -m recent --update --seconds 600 --hitcount 1 --name blacklist -j REJECT
$IPTABLES -A ssh -m recent --set --name ssh
$IPTABLES -A ssh -m recent --update --seconds 20 --hitcount 5 --name ssh -j blacklist
$IPTABLES -A ssh -j ACCEPT

위 명령은 ssh 공격을 막기 위해서 인터넷에서 확인해서 넣은 iptable 구문입니다.

trymp의 이미지

구조체에 padding 안 붙여도 되지 않나요?


구조체에 padding 붙이는 이유가(네트워크 제외) 메모리 접근횟수를 줄이기 위한 것으로 알고 있는데

연속된 경우, 컴파일러가 어차피 기본적으로 align 을 해주기때문에 개발자가 padding 맴버를

구조체에 추가하지 않아도 되지 않나요?

평소에 생각하지 않다가 문든 생각이 들어 질무드립니다.

hemosu의 이미지

vim lookbehind \@<= 에서 이해하기 어려운 코드가 있어요

빔의 정규식에서 \@<=는 펄의 (?<=)과 거의 같습니다.
아래는 \@<=의 용법을 보여주는 테스트코드 가운데 하나인데요.
call search('\(<\_[xy]\+\)\@3<=start') 의 \@3<=start에서 3이 왜 들어간 건지 모르겠습니다.

lalupo20의 이미지

usb에 리눅스 설치하기 질문드립니다.

현재 128g짜리 usb에 데비안12를 설치했습니다.

usb를 끼면 실행할 os를 선택하는 화면이 나오구요

usb를 빼면 grub> 요 프롬프트?가 뜹니다. exit 입력해주면 윈도우로 부팅되구요.

현재 이런 상황인데

오늘 사무실 와서 다른 놋북에 usb 연결해보니 그럽메뉴 안뜨고 그냥 윈도우로 부팅되네요.

바이오스 설정에서 부팅 우선순위 바꾸는 화면에서 해당 usb가 안잡히구요.

무엇이 문제라 다른 피씨에서 부팅이 안되는지 알 수 있을까요?

developerTUNA의 이미지

하나의 static library를 여러번 사용하는 경우

안녕하세요.

하나의 Base 라이브러리를 서로 다른 라이브러리에서 정적으로 링크해서 사용중입니다.
문제는 이러한 라이브러리들이 뭉쳤을때, 각자의 라이브러리 내의 Base 라이브러리를 참조하는 것이 아니라, 링크 순서에 따라서 참조하는 라이브러리가 다릅니다.
원하는 건 자기자신의 Base 라이브러리를 참조하고 싶은데, 어떻게 해야될지 잘 모르겠습니다.
검색어라도 알면 찾아볼텐데 검색어도 잘 모르겠습니다.

설명이 어려워서 이미지를 첨부합니다.

현재 함수 호출

MidFunc에서 main에서 포함한 BaseFunc를 호출해버린다...

원하는 함수 호출

MidFunc에서는 자신의 BaseFunc를 호출하고,
main 에서는 자신의 BaseFunc를 호출한다.

간단 테스트 코드입니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기