Jump to content

Установка opkg на встроенную память


Recommended Posts

Здравствуйте,  подскажите пожалуйста,  кинетик ультра kn-1810, после установки  Entware не могу залогиниться ни  через консоль не через putty. Захожу командой ssh root@192.168.1.1 -p 222, логин принимается, появляется строка ввода пароля и консоль зависает, т.е. не даёт вводить никакие знаки. В чем может быть проблема? 

Link to comment
Share on other sites

В 10.08.2024 в 18:49, Nicolayka сказал:

Приветствую! А на роутер Keenetic Sprinter (KN-3710) возможно установить Entware?

К сожалению, на эту версию установить Entware не выйдет...... Пришлось купить модель роутера выше (3810)

Link to comment
Share on other sites

2 часа назад, chafa сказал:

 Захожу командой ssh root@192.168.1.1 -p 222, логин принимается, появляется строка ввода пароля и консоль зависает, т.е. не даёт вводить никакие знаки. В чем может быть проблема? 

При вводе пароля символы и не должны отображаться, это нормально. Просто вводите и нажмите Enter в конце

Link to comment
Share on other sites

Добрый день. 

не получается поставить entware во внутреннюю память на Giant. Делаю все по инструкции, на после ввода команды 

(config)> opkg disk storage:/

тишина. 

Логи: 

Авг 16 13:35:28

 

ndm

Opkg::Manager: disk is unchanged.

Авг 16 13:35:51

 

ndm

Opkg::Manager: unmount existing /opt disk: storage:/.

Авг 16 13:35:51

 

ndm

Opkg::Manager: disk unmounted.

Авг 16 13:35:51

 

ndm

Opkg::Manager: disk is set to: storage:

Авг 16 13:35:51

 

ndm

Opkg::Manager: /storage mounted to /storage.

Авг 16 13:35:51

 

ndm

Opkg::Manager: /storage mounted to /opt/.

Авг 16 13:35:51

 

ndm

Opkg::Manager: /storage initialized.

Авг 16 13:35:51

 

ndm

Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/.

Авг 16 13:36:00

 

ndm

Opkg::Manager: unmount existing /opt disk: storage:

Авг 16 13:36:00

 

ndm

Opkg::Manager: disk unmounted.

Авг 16 13:36:00

 

ndm

Opkg::Manager: disk is set to: storage:/.

Авг 16 13:36:00

 

ndm

Opkg::Manager: /storage mounted to /storage.

Авг 16 13:36:00

 

ndm

Opkg::Manager: /storage mounted to /opt/.

Авг 16 13:36:00

 

ndm

Opkg::Manager: /storage initialized.

Авг 16 13:36:00

 

ndm

Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/.

помогите, пожалуйста, куда копать? 

Link to comment
Share on other sites

Я нуб, скажу сразу. При установке Entware рекомендуется поменять порт. Если подключаюсь через PUTTY с портом 222, то измененный пароль принимается и я получаю доступ к BusyBox. Но, если я меняю порт через CLI (ip ssh) port 2022 и затем пытаюсь снова подключиться к BusyBox, то пароль не принимается.

В связи с этим два вопроса:

1) Как поменять порт, чтобы подходил пароль?

2) Как определить незанятые порты для использования, "Чтобы избежать нежелательных попыток взлома со стороны ботов, случайных Black/Grey Hat хакеров"

Link to comment
Share on other sites

1 час назад, Maksim Smirnov сказал:

Ответа не получил, просто по новой установил на внешний жесткий. Но. Было очень интересно.

Сперва нужно было было стереть содержимое storage

Link to comment
Share on other sites

Доброго дня!

Подскажите пожалуйста, где я косяк: пытаюсь поставить OPKG в встроенную память 
Giga (KN-1011). Вроде поставилось, установился curl, частично установился xkeen и закончилась память :(

df.jpg.5189c47e09715a8751cca0c2a1a1e51f.jpg

Как увеличить разделы? 

Посмотрел: на Ultra (KN-1810) - 55МБ, на Peak (KN-2710) - 103МБ, на Giga (KN-1011) - 27,2МБ - это, что реально максимально возможное пространство и нужно идти за флешкой или всё таки можно увеличить за счёт системной памяти?

И ещё, что бы два раза не вставать, в соседней теме по xkeen советуют /opt/tmp /opt/var надо перенести в ramfs - как это сделать подскажите пожалуйста.

Edited by i81
Link to comment
Share on other sites

Возможно дело в кол-ве включенных модулей прошивки? (чем меньше их включено - тем больше свободного места)

Link to comment
Share on other sites

37 минут назад, Neytrino сказал:

Возможно дело в кол-ве включенных модулей прошивки? (чем меньше их включено - тем больше свободного места)

Сейчас попробую выключить всё по максимуму. Реально это репитер в mesh + принтер по usb к нему включен

Link to comment
Share on other sites

46 минут назад, Neytrino сказал:

чем меньше их включено - тем больше свободного места

Попробовал. Отключил практически всё необязательно - ничего не изменилось - как было 27,2МБ так и осталось. Думаю, что всё таки это не от занятой системой памяти зависит, скорее всего какой-то % от общего объёма выделяется при создании этого раздела. Похоже без флешки на Гиге не обойтись :(

Link to comment
Share on other sites

1 час назад, i81 сказал:

Попробовал. Отключил практически всё необязательно - ничего не изменилось - как было 27,2МБ так и осталось. Думаю, что всё таки это не от занятой системой памяти зависит, скорее всего какой-то % от общего объёма выделяется при создании этого раздела. Похоже без флешки на Гиге не обойтись :(

Смотрите в selftest разметку flash. Нет там более.

Link to comment
Share on other sites

В офисе ещё Giant лежит, но судя по описанию на оффсайте там скорее всего будет так же.

В понедельник включу его - посмотрим что получится... На крайняк на ультру поставлю.

Link to comment
Share on other sites

screen_2024-08-25_18:15:48-ubifs.png

usage:

Скрытый текст
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs 
 Usage: /opt/etc/init.d/S00ubifs               {start|[kill|stop]|[check|status]}            
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs start
 Checking the mount points ...                  autorun disabled.                             
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs enable
 Enabling autorun UBIFS ...                     done.                                         
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs status
 Checking the mount points ...                 
 /opt/tmp                                       not mounted.                                  
 /opt/var/log                                   not mounted.                                  
 /opt/var/run                                   not mounted.                                  
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # mount 
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs start
 Mounting /opt/tmp ...                          done.                                         
 Mounting /opt/var/log ...                      done.                                         
 Mounting /opt/var/run ...                      done.                                         
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs status
 Checking the mount points ...                 
 /opt/tmp                                       already mounted.                              
 /opt/var/log                                   already mounted.                              
 /opt/var/run                                   already mounted.                              
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # mount 
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /opt/tmp type tmpfs (rw,relatime,size=20480k)
tmpfs on /opt/var/log type tmpfs (rw,relatime,size=10240k,mode=1755)
tmpfs on /opt/var/run type tmpfs (rw,relatime,size=1024k,mode=1755)
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs stop
 Unmounting /opt/tmp ...                        done.                                         
 Unmounting /opt/var/log ...                    done.                                         
 Unmounting /opt/var/run ...                    done.                                         
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # mount 
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs stop
 Unmounting /opt/tmp ...                        not mounted.                                  
 Unmounting /opt/var/log ...                    not mounted.                                  
 Unmounting /opt/var/run ...                    not mounted.                                  
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs start
 Mounting /opt/tmp ...                          done.                                         
 Mounting /opt/var/log ...                      done.                                         
 Mounting /opt/var/run ...                      done.                                         
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # umount /opt/var/log
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # mount 
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /opt/tmp type tmpfs (rw,relatime,size=20480k)
tmpfs on /opt/var/run type tmpfs (rw,relatime,size=1024k,mode=1755)
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs status
 Checking the mount points ...                 
 /opt/tmp                                       already mounted.                              
 /opt/var/log                                   not mounted.                                  
 /opt/var/run                                   already mounted.                              
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs start
 Mounting /opt/tmp ...                          already mounted.                              
 Mounting /opt/var/log ...                      done.                                         
 Mounting /opt/var/run ...                      already mounted.                              
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # mount 
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /opt/tmp type tmpfs (rw,relatime,size=20480k)
tmpfs on /opt/var/run type tmpfs (rw,relatime,size=1024k,mode=1755)
tmpfs on /opt/var/log type tmpfs (rw,relatime,size=10240k,mode=1755)
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs status
 Checking the mount points ...                 
 /opt/tmp                                       already mounted.                              
 /opt/var/log                                   already mounted.                              
 /opt/var/run                                   already mounted.                              
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # umount /opt/var/log
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs status
 Checking the mount points ...                 
 /opt/tmp                                       already mounted.                              
 /opt/var/log                                   not mounted.                                  
 /opt/var/run                                   already mounted.                              
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs stop
 Unmounting /opt/tmp ...                        done.                                         
 Unmounting /opt/var/log ...                    not mounted.                                  
 Unmounting /opt/var/run ...                    done.                                         
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs status
 Checking the mount points ...                 
 /opt/tmp                                       not mounted.                                  
 /opt/var/log                                   not mounted.                                  
 /opt/var/run                                   not mounted.                                  
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # mount 
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs stop
 Unmounting /opt/tmp ...                        not mounted.                                  
 Unmounting /opt/var/log ...                    not mounted.                                  
 Unmounting /opt/var/run ...                    not mounted.                                  
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs start
 Mounting /opt/tmp ...                          done.                                         
 Mounting /opt/var/log ...                      done.                                         
 Mounting /opt/var/run ...                      done.                                         
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # /opt/etc/init.d/S00ubifs restart
 Checking the mount points ...                  "restart" not supported.                      
root@ZKUII: /opt/root # 

 

script:

Скрытый текст
#!/bin/sh

# SPDX-License-Identifier: WTFPL
#
# Copyright (C) 2020-2024 Entware team

### colors
ansi_std="\033[0;0m"
ansi_red="\033[1;31m"
ansi_green="\033[1;32m"
ansi_yellow="\033[1;33m"
ansi_cyan="\033[1;36m"
ansi_white="\033[1;37m"

### columns
COLUMNS="45"

### commands
ACTION="$1"

### dirs
TMP_DIR="/opt/tmp"
LOG_DIR="/opt/var/log"
RUN_DIR="/opt/var/run"

### service
ENABLED=yes
DESC="UBIFS"

### paths
PATH="/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin"

DIR="$TMP_DIR $LOG_DIR $RUN_DIR"

mode_size() {
SIZE="1M"
MODE="1755"
if [ "$d" = "$TMP_DIR" ]; then
  SIZE="20M"
  MODE="1777"
elif [ "$d" = "$LOG_DIR" ]; then
  SIZE="10M"
fi
}

do_check() {
  printf "$ansi_white %-${COLUMNS}s $ansi_std" "Checking the mount points ..."

  if [ "$ENABLED" = "no" ]; then
    printf "$ansi_cyan %-${COLUMNS}s $ansi_std\n" "autorun disabled."
  elif [ "$ACTION" = "start" ]; then
    for d in $DIR; do
      if grep -qs "$d" /proc/mounts; then
        printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "$d already mounted."
      else
        printf "$ansi_red %-${COLUMNS}s $ansi_std\n" "$d not mounted."
      fi
    done
  elif [ "$ACTION" = "reload" ] || [ "$ACTION" = "restart" ]; then
    printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "\"$ACTION\" not supported."
  else
    for d in $DIR; do
      if grep -qs "$d" /proc/mounts; then
        printf "\n$ansi_white %-${COLUMNS}s $ansi_std$ansi_yellow %-${COLUMNS}s $ansi_std" "$d" "already mounted."
      else
        printf "\n$ansi_white %-${COLUMNS}s $ansi_std$ansi_red %-${COLUMNS}s $ansi_std" "$d" "not mounted."
      fi
    done
    printf "\n"
  fi
}

do_start() {
  [ "$ENABLED" = "yes" ] || return 1

### tmp dir 20 MB
#  printf "$ansi_white %-${COLUMNS}s $ansi_std" "Mounting $TMP_DIR ..."
#  if ! grep -qs $TMP_DIR /proc/mounts; then
##    { [ -d "$TMP_DIR" ] && rm -rf "$TMP_DIR" ; } || mkdir -p "$TMP_DIR"
#    [ -d "$TMP_DIR" ] || mkdir -p "$TMP_DIR"
#    mount -t tmpfs -o size=20M,mode=1777 tmpfs $TMP_DIR
#    printf "$ansi_green %-${COLUMNS}s $ansi_std\n" "done."
#  else
#    printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "already mounted."
#  fi

### log dir 10 MB
#  printf "$ansi_white %-${COLUMNS}s $ansi_std" "Mounting $LOG_DIR ..."
#  if ! grep -qs $LOG_DIR /proc/mounts; then
##    { [ -d "$LOG_DIR" ] && rm -rf "$LOG_DIR" ; } || mkdir -p "$LOG_DIR"
#    [ -d "$LOG_DIR" ] || mkdir -p "$LOG_DIR"
#    mount -t tmpfs -o size=10M,mode=1755 tmpfs $LOG_DIR
#    printf "$ansi_green %-${COLUMNS}s $ansi_std\n" "done."
#  else
#    printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "already mounted."
#  fi

### run dir 1 MB
#  printf "$ansi_white %-${COLUMNS}s $ansi_std" "Mounting $RUN_DIR ..."
#  if ! grep -qs $RUN_DIR /proc/mounts; then
##    { [ -d "$RUN_DIR" ] && rm -rf "$RUN_DIR" ; } || mkdir -p "$RUN_DIR"
#    [ -d "$RUN_DIR" ] || mkdir -p "$RUN_DIR"
#    mount -t tmpfs -o size=1M,mode=1755 tmpfs $RUN_DIR
#    printf "$ansi_green %-${COLUMNS}s $ansi_std\n" "done."
#  else
#    printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "already mounted."
#  fi

  for d in $DIR; do
    mode_size
    printf "$ansi_white %-${COLUMNS}s $ansi_std" "Mounting $d ..."
      if grep -qs "$d" /proc/mounts; then
        printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "already mounted."
        continue || return 0
      else
        if mount -t tmpfs -o size="$SIZE",mode="$MODE" tmpfs "$d"; then
          printf "$ansi_green %-${COLUMNS}s $ansi_std\n" "done."
          continue || return 0
        else
          printf "$ansi_red %-${COLUMNS}s $ansi_std\n" "failed."
          continue || return 1
      fi
    fi
  done
}

do_stop() {
  [ "$ENABLED" = "yes" ] || return 1

  for d in $DIR; do
    printf "$ansi_white %-${COLUMNS}s $ansi_std" "Unmounting $d ..."
      if ! grep -qs "$d" /proc/mounts; then
        printf "$ansi_red %-${COLUMNS}s $ansi_std\n" "not mounted."
        continue || return 0
      else
        if umount "$d"; then
          printf "$ansi_green %-${COLUMNS}s $ansi_std\n" "done."
          continue || return 0
        else
          printf "$ansi_red %-${COLUMNS}s $ansi_std\n" "failed."
          continue || return 1
      fi
    fi
  done
}

do_enable() {
  printf "$ansi_white %-${COLUMNS}s $ansi_std" "Enabling autorun $DESC ..."
  if [ "$ENABLED" = "no" ]; then
    sed -i 's,^ENABLED=no,ENABLED=yes,' "$0"
    printf "$ansi_green %-${COLUMNS}s $ansi_std\n" "done."
  else
    printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "already enabled."
  fi
  return 0
}

do_disable() {
  printf "$ansi_white %-${COLUMNS}s $ansi_std" "Disabling autorun $DESC ..."
  if [ "$ENABLED" = "yes" ]; then
    sed -i 's,^ENABLED=yes,ENABLED=no,' "$0"
    printf "$ansi_green %-${COLUMNS}s $ansi_std\n" "done."
  else
    printf "$ansi_yellow %-${COLUMNS}s $ansi_std\n" "already disabled."
  fi
  return 0
}

case "$1" in
    start)
        { do_check > /dev/null && do_start ; } || do_check
    ;;
    kill|stop)
        { do_check > /dev/null && do_stop ; } || do_check
    ;;
    check|reload|restart|status)
        do_check
    ;;
    enable)
        do_enable
    ;;
    disable)
        "$0" stop > /dev/null 2>&1 && do_disable
    ;;
    *)
        printf "$ansi_white %-${COLUMNS}s %-${COLUMNS}s $ansi_std\n" "Usage: $0" "{start|[kill|stop]|[check|status]}"
        exit 1
    ;;
esac

exit 0

 

 

  • Thanks 1
Link to comment
Share on other sites

Размер storage везде разный. Это из-за того, что под rootfs зарезервировано разное пространство. Размер зарезервированной области задается при разработке устройства один раз, и больше не может быть изменен, ну а storage занимает все оставшееся. На новых моделях резерв, как правило, только растет, потому остаток уменьшается. На модели из top мы стараемся ставить flash на 256 Мбайт, потому там места в целом много даже с учетом большого резерва.

Link to comment
Share on other sites

В 26.08.2024 в 11:50, Le ecureuil сказал:

. На новых моделях резерв, как правило, только растет, потому остаток уменьшается.

на 3712 как обстоят дела, будет возможность поставить?

Link to comment
Share on other sites

В 17.09.2020 в 21:53, Le ecureuil сказал:

Для удаления всего подчистую:

> opkg no disk

> no system mount storage: (в версиях 3.x)
> erase storage:  (или data-nand: в 2.16).

После такой манипуляции не удаётся заново установить entware. Создаю папку install, закидываю mipsel, меняю opkg на встроенную память. Папка удаляется, установка не происходит:

 
Цитата

 

Сен 1 14:58:29
 
ndm
Opkg::Manager: init script reset to default: /opt/etc/initrc.
Сен 1 14:58:29
 
ndm
Core::System::StartupConfig: saving (http/rci).
Сен 1 14:58:33
 
ndm
Core::System::StartupConfig: configuration saved.
Сен 1 14:58:42
 
ndm
Core::FileSystem::Repository: "storage:/install" created.
Сен 1 14:58:59
 
ndm
Opkg::Manager: disk is set to: storage:/.
Сен 1 14:58:59
 
ndm
Opkg::Manager: init script reset to default: /opt/etc/initrc.
Сен 1 14:58:59
 
ndm
Core::System::StartupConfig: saving (http/rci).
Сен 1 14:58:59
 
ndm
Opkg::Manager: /storage mounted to /storage.
Сен 1 14:58:59
 
ndm
Opkg::Manager: /storage mounted to /opt/.
Сен 1 14:58:59
 
npkg
inflating "mipsel-installer.tar.gz".
Сен 1 14:58:59
 
ndm
Opkg::Manager: /storage initialized.
Сен 1 14:58:59
 
ndm
Opkg::Manager: invalid initrc "/opt/etc/initrc": no such file or directory, trying /opt/etc/init.d/.
Сен 1 14:59:03
 
ndm
Core::System::StartupConfig: configuration saved.

 

 
Link to comment
Share on other sites

По пути /opt/root пишется история всех введенных в терминал команд, в файл ".ash_history". По идее, это не очень хорошо для встроенного NAND и разработчикам стоило бы отключить это по-умолчанию для установок во внутреннюю память. Или я преувеличиваю и это пыль? Но ведь команд, наверное, может быть и много...

На скорую руку (командами найденными в сети для разных Линуксов) отключить историю не удалось, пишет даже при заnullивании переменных.

Link to comment
Share on other sites

21 минуту назад, DzmitryK сказал:

На скорую руку (командами найденными в сети для разных Линуксов) отключить историю не удалось, пишет даже при заnullивании переменных.

Что мешает писать в память (есс-но с потерей истории команд после перезагрузки)

root@ZKUII: /opt/root # echo $HISTFILE
/tmp/.ash_history
root@ZKUII: /opt/root # 
root@ZKUII: /opt/root # env | grep ^HIST
HISTFILE=/tmp/.ash_history
root@ZKUII: /opt/root # cat /tmp/.ash_history 
echo $HISTFILE
env | grep ^HIST
cat /tmp/.ash_history 
root@ZKUII: /opt/root #

 

Link to comment
Share on other sites

5 минут назад, TheBB сказал:

Что мешает писать в память (есс-но с потерей истории команд после перезагрузки)

Знать бы, как это сделать)

Код не понятен, если честно.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...