Проблемы при установке любой ОС Linux на Asus TUF FX504

Я не уверен (это было давно), но мне кажется, что это отсылка к старой программе Linux (1992): ftp://ftp2.de.freebsd.org/pub/linux/tsx-11/sources/usr.bin/doshell.c :

#include 
#include 
#include 

extern char *sys_errlist[];

main(int argc, char *argv[])
{

    if (argc != 3) {
    fprintf(stderr, "usage: doshell   &\n");
    exit(1);
    }

    /* close down fd's */
    close(0);
    close(1);
    close(2);

    /* detach from parent process's group */
    setsid();

    /* open new tty */
    if (open(argv[1], O_RDWR, 0) == -1)
    exit(2);
    dup(0);
    dup(0);
    execlp(argv[2], "-", 0);
    /* should appear on new tty...: */
    fprintf(stderr, "can't exec shell: %s\n", sys_errlist[errno]);
    exit(3);
}

Это также может относиться к старой подпрограмме Minux: http://users.sosdg.org/~qiyong/mxr/source/commands/mail/mail.c#L702

void doshell(command)
char *command;
{
  int waitstat, pid;
  char *shell;

  if (NULL == (shell = getenv("SHELL"))) shell = SHELL;

  if ((pid = fork()) < 0) {
        perror("mail: couldn't fork");
        return;
  } else if (pid != 0) {        /* parent */
        wait(&waitstat);
        return;
  }

  /* Child */
  setgid(getgid());
  setuid(getuid());
  umask(oldmask);

  execl(shell, shell, "-c", command, (char *) NULL);
  fprintf(stderr, "can't exec shell\n");
  exit(127);
} 

Обе подпрограммы, похоже, имеют функциональность, описанную в ответе stackoverflow, и это не кажется маловероятным первый произошел от второго.

7
08.02.2019, 11:57
1 ответ

Если вы изменили 831092,25a1bd66f2eec71aa2f0a8bb3d,/path/to/a/fileна/path/to/a/file,831092,25a1bd66f2eec71aa2f0a8bb3d

Вы можете сделать это с помощью:

look /path/to/ /dev/shm/tmp.file

look— традиционная утилита Unix 70-х годов, не указанная в POSIX, но довольно распространенная. В Debian и его производных вы найдете один в пакете bsdmainutils, а также в util -linux (, также скопированном из BSD, а не в одноименном пакете Debian ).

lookmmap()просматривает файл и выполняет бинарный поиск.

Однако обратите внимание, что реализация Debian возвращается к базовому линейному поиску а-ля grep, если вы не передадите -bопцию (вздох ). Итак, в Debian или его производных вам понадобится:

look -b /path/to/ /dev/shm/tmp.file

Также обратите внимание, что некоторые реализации имеют ограничение на размер файла, который они могут обработать(см. соответствующую ошибку с патчем для Debian)

11
27.01.2020, 20:17

Теги

Похожие вопросы