'Linux'에 해당되는 글 5건
- 2022.02.15 i.mx8 yocto linux 에서 MAC 주소를 설정하는 방법 1 (uboot)
- 2018.04.28 When gnu screen is used in serial console, adjust windows size
- 2018.04.01 validate ip address in bash
- 2010.05.27 Linux에서 NTFS 파티션 크기를 변경하기 (작게 혹은 크기)
- 2009.02.03 How to install Fedora 10 without CD / DVD or any optical media
i.mx8 yocto linux 에서 MAC 주소를 설정하는 방법 1 (uboot)
워낙 간단한 것이라서 설명할 것도 없겠지만, h/w적으로 MAC rom 이 없거나, u-boot에서 MAC을 설정해 놓지 않으면,
보통 kernel에서 random 하게 MAC 주소를 만들어서 ethernet device를 구동하게 된다.
이렇게 되면, DHCP를 할 때, 매번 IP 주소가 변경되어, 여간 불편한 것이 아니다.
이를 피하려면, u-boot 에 MAC 주소를 설정하면 된다. 설정 방법은,
u-boot> setenv ethaddr "nn:nn:nn:nn:nn:nn"
u-boot> saveenv
이렇게 ethaddr를 설정하면, 커널에서 uboot 의 ethaddr 을 읽어서 ethernet device를 구동한다.
커널에서는 임의의 명령으로 다시 변경할 수도 있다.
간단한 것인데도, 찾으려면 수고스러움이 있어서 정리해서 올린다.
혹시 다른 사항이 필요하면, 여기를 보는 것도 좋겠다. (kernel 구성 관련)
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
이다.
Linux에서 NTFS 파티션 크기를 변경하기 (작게 혹은 크기)
Ubuntu linux를 새로 설치하는 하는데, 이미 Windows가 깔려 있는 경우,
(HDD의 앞 파티션 2개가 NTFS로 되어 있음)
처음 설치 과정에서 이상하게 default로 첫번째 partition을 분할하려고 하였다.
처음에는 멋 모르고 Forward버튼을 눌렀더니, 첫번째 partition을 resize하여 줄이고, 2.5 GB 정도 빈 공간을 만들었다.
이론,
보통 하나의 HDD는 최대 4개의 기본 파티션을 만들 수 있다.
NTFS 파티션 2개가 모두 기본 파티션(primary partition)으로 되어 있기 때문에, 추가로 만들 수 있는 기본 파티션을 2개이다.
(linux는 기본적으로 root 파티션하고, swap 파티션을 만들어야 한다. 성격상 이것들을 모두 기본파티션에 놓기에)
결국 이 HDD에만 ubuntu를 설치하려고 한다면, 2.5GB 공간을 버려야 한다. (이럴수가, 아마도 버그인 듯 하다)
어쩔 수 없이 그냥 뒷 부분에 파티션을 만들어서, ubuntu를 설치하였다.
그런데, Ubuntu software 중에서 KDE partition manager라는 프로그램이 있어 이것으로 기존의 ntfs 파티션의 크기를 변경할 수 있다.
지금 작업 중인데, 시간이 무척 많이 걸린다.
그래도 혹시나, 빈 공간 있으신 분들, 시도해 보는 것도…. (resizing 도중에 computer가 꺼지면 안될 것으로 생각된다. 아마도 치명적일 듯)
사용법은 매우 간단하다.
혹시나 자투리로 짜증나 하시는 분들을 위해…
송골
How to install Fedora 10 without CD / DVD or any optical media
Use Case
- When you don't have CD / DVD drive on your system.
- You have Fedora DVD but your system has only a CD Drive.
- You don't want to waste time and resources in burning iso on optical media.
Pre-requisites
- You have a Fedora DVD iso or rescue cd iso.
- You have a Linux installation on your system.
- You have a partition (FAT32, ext2, ext3) which you will not format while installing the new OS.
How to proceed
Let us assume you want to install Fedora 10 on your system and you have a Linux distro already installed on your system. You have downloaded the Fedora DVD iso (Fedora-10-i386-DVD.iso). And you have a FAT32/ext2/ext3 partition /stuff/ which you will not format during installation.
Step 1 : Move the Fedora DVD iso to /stuff/ directory.
[root@saini saini]# mv Fedora-10-i386-DVD.iso /stuff/ [Enter]
Step 2 : Mount Fedora DVD iso on /mnt/
[root@saini saini]# mount /stuff/Fedora-10-i386-DVD.iso /mnt/ -ro loop [Enter] (do as root)
Step 3 : Copy the initrd.img and vmlinuz to /boot/ partition
[root@saini saini]# cd /mnt/isolinux/ [Enter] [root@saini isolinux]# cp initrd.img vmlinuz /boot/ [Enter] (do as root)[root@saini isolinux]# cd /mnt/ [Enter] [root@saini mnt]# mkdir /stuff/images [Enter] [root@saini mnt]# cp /mnt/images/install/img /stuff/images/ [Enter] (do as root)
Step 4 : Create grub entry for booting into Fedora 10
Add these lines at the end of your /boot/grub/grub.conf file.
title Fedora 10 (New installation) kernel /vmlinuz initrd /initrd.img
Step 5 : Note the device having Fedora DVD iso
[root@saini saini]# df -h [Enter] Filesystem Size Used Avail Use% Mounted on /dev/sda3 15G 9.5G 4.1G 70% / /dev/sda8 135G 116G 13G 91% /stuff /dev/sda5 4.8G 1.2G 3.4G 26% /home /dev/sda1 99M 12M 82M 13% /boot
In this case /dev/sda8 contains Fedora DVD iso. Note this down as you need it later.
Step 6 : Reboot
Reboot your system and boot into the Fedora 10 (New installation) grub entry.
Step 7 : Install from hard disk
While in installation wizard, select "Hard drive" as installation method and choose /dev/sda8 as it contains the Fedora DVD iso. And rest is damn easy.
Test result : Fedora 8 --> Fedora 10 upgrade
test date: 2009.02.03.
test result: OK.